Difference between revisions of "CreatingShieldIconsInGimp"
From FreeSpace Wiki
Line 8: | Line 8: | ||
* apngasm 3.1.6 | * apngasm 3.1.6 | ||
+ | == Create Ship Image == | ||
# (if necessary) create a new canvas 112x93 | # (if necessary) create a new canvas 112x93 | ||
Line 17: | Line 18: | ||
#*# screenshot'ing the HUD | #*# screenshot'ing the HUD | ||
#*# converting the image to greyscale (TBC how best to do this!) | #*# converting the image to greyscale (TBC how best to do this!) | ||
− | + | ||
− | # | + | == Create Shield == |
− | + | ||
− | # | + | # Using fuzzy select (with zero threshold) select the area outside the ship image; then invert selection |
− | # | + | #* If necessary modify the selection to better fit the ship, e.g. using the oval select (additive) to round out an irregular shape |
− | # | + | # Select -> Grow... by 10 (? try 11) pixels |
− | # | + | # Select -> feather set to 2 pixels |
− | # | + | # Create new layer (black background) & select the new layer |
− | # | + | # Bucket fill: white |
− | # | + | # Select -> Shrink... by 3 (?) pixels |
− | # | + | # Bucket fill: black (leaving a mostly 1 pixel full-white outline) |
− | # | + | # Select -> Grow... by 2 pixels |
− | # | + | # Filters -> Blur -> Gaussian blur; aspect locked; 3 (?) pixels |
− | + | # Filters -> Artistic -> Softglow; 9 (?) pixels | |
+ | # Use colour select to select all the fully black regions (outside & inside shield); then invert selection | ||
+ | # Layer -> Mask -> Add Layer Mask... using the current selection | ||
+ | # Confirm you can clearly see the ship and the shields don't overlap the ship (unless you really want them to!) | ||
+ | |||
+ | == Split Shield into Segments == | ||
+ | |||
# through the middle of the oval; create rectangle selection 2 pixels high & shield width, then fill full black | # through the middle of the oval; create rectangle selection 2 pixels high & shield width, then fill full black | ||
# at the end of each shield (4x ends) create rectangle selection, 2 pixels high & shield width | # at the end of each shield (4x ends) create rectangle selection, 2 pixels high & shield width | ||
Line 44: | Line 51: | ||
WASH, RINSE, REPEAT | WASH, RINSE, REPEAT | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
TODO: figure out if there's any benefit to creating an ani instead of an apng (maybe uses less ram/texture memory? since apngs auto-expand to full 24bits per pixel?) | TODO: figure out if there's any benefit to creating an ani instead of an apng (maybe uses less ram/texture memory? since apngs auto-expand to full 24bits per pixel?) |
Revision as of 03:54, 18 February 2017
This is a quick summary of how I created two segment shield icons for the HUD.
I'm writing this down so I remember how to do this, because me not being an artist, it took me ages to figure out how to do this and I don't want to go through the frustration of rediscovering it!!!!
Programs I used:
- GIMP 2.8
- apngasm 3.1.6
Create Ship Image
- (if necessary) create a new canvas 112x93
- Import a top down image of the ship & centre it
- so far I've grabbed the existing shield anim frame 0
- might be able to grab other ships by
- setting shield anim to be FSO generated
- DISABLING shields (or the auto-generated shield bars may overlap the image)
- screenshot'ing the HUD
- converting the image to greyscale (TBC how best to do this!)
Create Shield
- Using fuzzy select (with zero threshold) select the area outside the ship image; then invert selection
- If necessary modify the selection to better fit the ship, e.g. using the oval select (additive) to round out an irregular shape
- Select -> Grow... by 10 (? try 11) pixels
- Select -> feather set to 2 pixels
- Create new layer (black background) & select the new layer
- Bucket fill: white
- Select -> Shrink... by 3 (?) pixels
- Bucket fill: black (leaving a mostly 1 pixel full-white outline)
- Select -> Grow... by 2 pixels
- Filters -> Blur -> Gaussian blur; aspect locked; 3 (?) pixels
- Filters -> Artistic -> Softglow; 9 (?) pixels
- Use colour select to select all the fully black regions (outside & inside shield); then invert selection
- Layer -> Mask -> Add Layer Mask... using the current selection
- Confirm you can clearly see the ship and the shields don't overlap the ship (unless you really want them to!)
Split Shield into Segments
- through the middle of the oval; create rectangle selection 2 pixels high & shield width, then fill full black
- at the end of each shield (4x ends) create rectangle selection, 2 pixels high & shield width
- should have 4x small rectangles
- might need to be done in two steps? fore/aft ends?
- apply the gaussian blur filter (1 pixel, width & height locked)
- create a new layer and move fore or aft to it (should have 3x layers)
- export image (all layers) as png
- use apngasm to create APNG image
- apngasm -o shipname_shield.png ship_base.png ship_shield_fore.png ship_shield_aft.png
- test in FSO
WASH, RINSE, REPEAT
TODO: figure out if there's any benefit to creating an ani instead of an apng (maybe uses less ram/texture memory? since apngs auto-expand to full 24bits per pixel?)