Author Topic: GUIDE - How to create icons for bricks and bots automatically.  (Read 28965 times)

Scaling images makes them lose quality.
Not if you use an appropriate image editor. Try using GIMP or Photoshop to resample the image to the size you want. You also may need to center the image yourself while cropping it.

Paint.NET has a Resampling option called Best Quality

Select that and it should look fine

Why are people using that crappy paint when they can get something way more advanced, gimp, for free?
And why is everyone capitalising the net like it is something special?

Why are people using that crappy paint when they can get something way more advanced, gimp, for free?
And why is everyone capitalising the net like it is something special?

please tell me you're not really this stupid

Add this at the bottom right before return 1 to make your bot hold a weapon:

Code: [Select]
%bot.updateArm(%bot.dataBlock.hWep);
%bot.setWeapon(%bot.dataBlock.hWep);

read the OP

It STILL wont fit with 96x96

It STILL wont fit with 96x96
I updated the code block with those lines, you don't need to add them manually. You need to resize the image manually to fit on the 96x96 canvas.

Paint.NET has a Resampling option called Best Quality

Select that and it should look fine
The point is you're still resampling the image. With Blender I can just render at the size I want and it will be visually nearly perfect.

The point is you're still resampling the image.
That doesn't stop it from looking good.

Some bricks are way too small, so not being zoomed in could look bad

A 1x1 with no zoom makes it's width and height in the 20s, so comparing that to the default 1x1 icon...


It looks bad, but if you do zoom in enough that you get a nice close-up of the brick but not too much that it goes outside your window, you can cut that out and resize it to get an icon with smoothing instead of the aliased look the original has


So with smaller bricks, it's suggested that you zoom in, although, if you want to go as far as copying the aliased look of the icons, you can type $Pref::player::CurrentFOV = 54; into the console and then hold in your zoom key and type the brick icon command


The point is you're still resampling the image. With Blender I can just render at the size I want and it will be visually nearly perfect.
But that can be more time consuming, can't it?
« Last Edit: March 16, 2013, 03:52:30 PM by Masterlegodude »

But that can be more time consuming, can't it?
It is but I get better results. In fact looking at the images you posted I get even more accurate results than this command does. The colors are all wrong.

The colors are all wrong.
The lighting of Blockland's icons have changed over the years and i didn't bother to adjust the lighting since i was making an example

The lighting of Blockland's icons have changed over the years and i didn't bother to adjust the lighting since i was making an example
The command should automatically adjust the lighting to match the current icons. Another nail in the coffin.

The command should automatically adjust the lighting to match the current icons. Another nail in the coffin.
Actually, it does match the current icons, i think the new lighting happened when the Halloween bricks came along like the pumpkin and the graves

Actually, it does match the current icons, i think the new lighting happened when the Halloween bricks came along like the pumpkin and the graves
Oh, I didn't notice. I guess it works for special bricks but the usual cuboid bricks have different lighting. New icons made with this would look odd alongside the old cuboid ones.

Is there a way to edit the function that does this? The bricks are rotated incorrectly. Here's a 2x1x2 print brick:
-
The print face is on the other side.

And this 1x5 brick is supposed to have the dark side be the long side:
-

put
Code: [Select]
orientationFix = x;in your brick datablock, where "x" is an integer from 1 to 3. What this does is change the bricks initial orientation when its created. So for your print brick you'd do
Code: [Select]
orientationFix = 2;to rotate it 180 degrees