Making Shans...

All right, so I was trying to make a shan of a ship I modeled in sketchup, and when I tried to make the grid, all I got was an error message from spinapp saying it was out of Java heap memory, or something. And, when I was able to make a spin for a weapon, all I got was some flashing images, and the images were part of the actual picture grid. Odd. I can't figure it out.

QUOTE (Spartan Jai @ Aug 12 2010, 09:19 PM) <{POST_SNAPBACK}>

All right, so I was trying to make a shan of a ship I modeled in sketchup, and when I tried to make the grid, all I got was an error message from spinapp saying it was out of Java heap memory, or something. And, when I was able to make a spin for a weapon, all I got was some flashing images, and the images were part of the actual picture grid. Odd. I can't figure it out.

What's the size of a single frame, and whats the size of the entire animation, and how many frames does it have?

For the shan or the spin?

For the rled

Riiight. One moment please...

the rled is 170 by 102.
36 frames.

QUOTE (Spartan Jai @ Aug 13 2010, 07:21 PM) <{POST_SNAPBACK}>

Riiight. One moment please...

the rled is 170 by 102.
36 frames.

Strange...I had a similar problem with a different thing, but the sprite in question was 256x256 and 72 frames.

I really don't understand. I'll probably end up (if we can't figure it out) putting a link in my sig...

Java (what spinapp uses) has exceeded it's normal 128MB (iirc) memory constraint.

So, how would I fix it so that the picture does fit the size constraints? Make the picture smaller?

So I made the picture smaller, and that worked. So, now my only problem is, how do I make a mask, as spinapp doesn't do it automatically for this picture?

The options are either to have your 3D programme produce it (in which case it will probably be 8-bit, and you'll need to convert it to black-and-white), or to make it yourself. The latter means simply that you open it in a graphics programme, use the magic wand tool to select the black background, invert the selection, and then delete the selected area. Depending on the exact appearance of your ship and the behaviour of your graphics programme, you may need to do a little cleaning up to stop dark areas from being masked off.

Remember, I've never done this before, but if I'm correct, a mask is just the outline of a ship, but on the inside of that outline it is white?

Your goal is to make an all-white version of your ship - no shadows, textures, colors, etc.- that the engine will use to determine what is and what is not a part of your graphic. Typically, it works to just play with the contrast and brightness of your now-rendered and gridded ship sprite. However, to do it right means rendering again with the ship painted entirely white, having no shadows, and no textures/reflections/bump maps, etc.

Another way of thinking about it is that the engine sees your ship sprite as just a colorful box the same dimensions as you gave it. It will render the ship as that sized box regardless of what's inside. Now the mask it can use, it sees the shape of your ship in the white portion and the blackness of space in the black portion - whatever is black in the mask will be transparent to other objects in game and whatever is white in the mask will be opaque to other objects (i.e.: I'm pretty sure your ship will still show up if masked improperly, but it may look weird when a leviathan passes through the middle of your ship, and not under or above it).

Well I made a 'mask' except the background is white and the ship is the normal colors. The ship I'm trying to make work is:

However, I did get it to work. Only, it has the animation as only the white parts of the wings and fuselage. Other than that, works beautifully.

That's a direct result of the way you've drawn your mask. The mask should be white in every pixel where you want the image to be shown, and black everywhere else. A proper mask looks like a silhouette of your ship, not a drawing that shows details.

So basically I've got it working. I'm just trying to get the right size mask. I'm using graphic converter on my mac to trim the photos, and I haven't been able to get them the same size. For that reason, missioncomputer won't let me make an RLE. Tips?

...After re-reading what you've said, the '*' may or may not apply. I recommend using GIMP rather than graphic converter, I think it has more capability and you can scale or resize the image to one exact size, which you absolutely need.

*They absolutely must be the same exact size. I have 3 methods for making masks:

  1. Render the sprite and mask separately, as you would normally render either of them (sprite with shadows & textures, mask with just white no shadows) and with identical settings (camera angle, zoom, size, etc), and then assemble into sprite-grids using your preferred (or available) method.
  2. Render just the sprite, then duplicate all the sprite's files and 'bleach' them so you get a mask. Bleach either by playing with the levels, brightness/contrast, or doing it by hand.
  3. Render just the sprite, then assemble the sprite, then duplicate the sprite grid and play with the levels/brightness-contrast/do it by hand and save it as the mask.

I try to do the first, since it's most accurate. If you can't do that, the second option and third option work just as well, but usually it makes sense to just do the entire grid all at once and not work on individual frames.

QUOTE (Meaker VI @ Aug 17 2010, 09:25 AM) <{POST_SNAPBACK}>

...After re-reading what you've said, the '*' may or may not apply. I recommend using GIMP rather than graphic converter, I think it has more capability and you can scale or resize the image to one exact size, which you absolutely need.

*They absolutely must be the same exact size. I have 3 methods for making masks:

  1. Render the sprite and mask separately, as you would normally render either of them (sprite with shadows & textures, mask with just white no shadows) and with identical settings (camera angle, zoom, size, etc), and then assemble into sprite-grids using your preferred (or available) method.
  2. Render just the sprite, then duplicate all the sprite's files and 'bleach' them so you get a mask. Bleach either by playing with the levels, brightness/contrast, or doing it by hand.
  3. Render just the sprite, then assemble the sprite, then duplicate the sprite grid and play with the levels/brightness-contrast/do it by hand and save it as the mask.

I try to do the first, since it's most accurate. If you can't do that, the second option and third option work just as well, but usually it makes sense to just do the entire grid all at once and not work on individual frames.

You can do all that with GraphicConverter quite easily, infact, and it can do batch image processing for multiple image if you're lazy. (I've used GraphicConverter over the years, and while the Gimp might be slightly more powerful, it's terrible to use)

QUOTE (Spartan Jai @ Aug 16 2010, 09:14 PM) <{POST_SNAPBACK}>

I'm just trying to get the right size mask. I'm using graphic converter on my mac to trim the photos, and I haven't been able to get them the same size. For that reason, missioncomputer won't let me make an RLE. Tips?

If you do it properly, you shouldn't need to do any trimming. Start with the sprite grid that goes into the left frame of MissionComputer's Make RLE window; use a graphics programme to turn it into a black-and-white mask, where every part of the ship is solid white, and the background is solid black. Then, save this image, and (since you've never changed its size), it should be the same size as the sprite grid and MissionComputer will accept it as a valid mask for that grid.

If you want to render the mask using a 3D programme, then create a mask grid the exact same way you created the sprite grid. If you render the same number of frames at the same resolution, the resulting grids should be the same size, so again MissionComputer will accept it.

Open an rlëD resource from the original game data, and click MissionComputer's 'Export sprite' button. This will show you the two grids that make up that sprite, and you can see how your own should work.

QUOTE (David Arthur @ Aug 17 2010, 06:33 PM) <{POST_SNAPBACK}>

If you do it properly, you shouldn't need to do any trimming.

David, I'm using sketchup, and the ship is a fighter. Therefore, when I export the graphic, SpinnApp yells at me saying I'm out of java heap memory, so I have to trim the photo so there isn't a huge black area around the ship that's just taking up space. It also makes the picture smaller, which lets me actually create a grid. Which means I have to trim the photos to the same size to make the same size grid.

Log in to reply