- Home /
How to emulate old-school sprite based 3D models?
So I recently found this game that's in development that deliberately uses sprites to render the 3D space ships as they used to be in games of yesteryear. Now to do the effect they use 544 separate sprite orientations to give the illusion of a 3D model.
http://www.wingsofstnazaire.com/
Now I was thinking if it was possible to emulate the effect using an actual 3D model that slightly rotates graphically to follow the camera but with appropriate stepping to reset the rotation as the camera reaches certain thresholds in its rotation. Thus from the cameras point of view it'll look like a sprite changing to new orientation frames as it rotates around the model.
However I can't quite seem to get the effect right across all the possible orientations the camera can be to the model let alone making it so you can define how many different angles you'd like the model to snap too when emulating the effect.
I wonder if anyone here can help me figure this out.
Thanks.
the way DN3D was done I believe it was this way:
make a plain look at you. and make it look only X and Z axis you don't want it to look up or down if you want to make DN3D stile
than look at what direction you are from and than if the direction changes for a bit you must change the texture of plain.
I believe there are 8 different textures
tho don't forget animation styles for each of the angels
so allot of textures.
Thanks for attempting to answer my question though unfortunately you haven't understood what it was I asking. I can only blame my poor explanation of the effect I'm trying to achieve.
I want to use a 3D model in-game to "emulate" the effect you're describing in your comment. I don't want to actually use sprites for each orientation and unlike DN3D I do want rotation up and down. In fact I need rotation in the X and Y axis of the camera to be stepped such that it creates the illusion of a sprite where as Z can just be applied normally as if the sprite was rotated in that axis.
Basically whatever maths is used to ensure a billboarded sprite has the appropriate sprite orientation on it at all times needs to be reverse engineered I think to work in some other way but I'm at a loss trying to figure it out.
Answer by jedd.ahyoung · Jul 31, 2014 at 06:22 AM
This isn't really an answer - just ideas. However, if I were to attempt to get the effect you're talking about with 3D models, I'd do something like the following:
Your player character (your ship) is a camera or has a camera attached.
The other ships in your arena would be empty transforms; your camera would rotate around them freely and they would keep their natural orientation.
Here's the magic. Each ship is an empty transform; each transform has a child that actually contains the ship model. This ship model is always pointed towards the camera. Depending on the position of the camera from the main transform's local rotation, you should be able to "step" this inner object's rotation accordingly. You'd need some type of threshold value or step value, depending on how many angles you wanted. (In fact....you might be able to do this by setting your local "up" axis to point at the camera every frame, and then messing with the actual rotation from that reference.)
Finally, you'd probably want to do something with the camera perspective to make it look a little more oldschool, depending on the look you want - maybe a subtle lack of perspective or something. I wouldn't recommend full ortho, but you might be able to tweak some settings to make things look right.
This is how I'd approach the problem. It'd be pretty cool if you could emulate the Mode 7 scaling, but I have no ideas for that. I do think it's funny, though, that these old approaches are looked upon with such nostalgia, despite what we can do today.
Your answer