Animating Movement 3D
Heya ppl! How are you all doing? Fine I hope. I'm working on a project at the moment in OpenGL-but I don't think it matters at the moment whether I'm using OpenGL or any other Graph Lib. I would like- 'like' hehe, i would love! - to insert a character animation such as a human being walking animation. So, I'm wondering how would you guys go abou this glitch. I can load .3ds (3D Studio Max) objects, but i don't know how to load and display different frames.
Let's say I have 3 frames of a sphere that changes its shape. Would it be too much information to store, if for example I just load and store in memory each vertex of each frame, and when the animation cycles through, I just display the right frame vertexes of the sphere? Mmmm...i'm wondering if my English is clear enough here...I hope someone understands what I'm babbling about here...
Well, many thanks in advance!!!
It depends on the amount of free memory in the system, and on the video card, depending on where you store the info.
Hmm lets try and calculate the amount of MB you need.
A vertex is made up of 3 points,so that would mean 3 sets of coords in 3d space would be 9 digits.
Using 4 bytes per digit at most would be 36 bytes per vertex.
36 * vertex per frame * 3 frames of animation would be the amount of memory needed.
1024 bytes = 1 kilobyte.
1024 kilobytes = 1 megabyte
1024 megabytes = 1 gigabyte
You mean it's impossible??
Dammit! I've been programming BASIC on my TI-83+ for a couple years now, and i still find it impossible to make a good action game without major slowdown due to lack of memory...and I was hoping that memory wouldn't be a problem in programming on my comp! So are you saying that if you create a complete 3D environment, and try and create a moving image/camera to move about, you'd be affected by slowdown?!
But it's a good thing i'm not programming on my comp then, I guess. My kit comes with a 40GB hard-disc drive, hopefully that'll be enough...
actually this depends on the model format/your internal memory format/tools your using to implement this.
for simple animations you should just store the points that move, as the animation.
if your using bones you can calculate the movement beforehand or on the fly, same with IK Chains, ect...
find a well documented (simple) method of animation, and use it.
I never said it was impossible. I was just giving conversion sizes so once Sunny figured out how many bytes each frame took up, it could be converted to MB which is a common measurement for memory.
There are tons of 3d games for the computer, and they dont suffer slowdown. You do need a newer graphics card for the newer games tho.
Hey, Milla Time, maybe if you learned z80 asm your games wouldn't have slowdown on the 83
I just got a new TI 83 plus Silver Edition, and i was wondering where i could get an SDK to program for it. Also, what are the languages it supports?
I hear ya rpiMatty, but I've gotta buy the linux kit, and that's where all my money's headed to lately. I'd like to get the TI-Graphlink, but doesn't it cost like $40? That's what I heard anyways. And if I would download assembly onto my calc, is that a different language that I'd have to learn?
yes, it is like a new language. it is processesor dependent.
I don't think the graph link is $40. I thought it was like $16.
I envy you dude, I wish I had the silver edition. It has more RAM and it draws stuff faster than the standard version, am I correct? I think my friend had one. It ran games VERY well.
Ya, a friend of mine has the Silver Edition, and it came w/ a Graphlink, so if you'd be so kind as to give me the site that z80 asm is found at, I'm sure he'd let me borrow it for one download. And the Silver Edition has like 24Kb, but the funny part is, that he transferred a file to my regular TI-83+, and suddenly I have 24Kb as well! I'm not sure if it draws things faster now, but I doubt it...
the drawing is just because of the speed of the processor. I don't think transferring a file can make the processor all of a sudden speed up (it would be funny if you could overclock a calculator :P)
the RAM part is maybe because of the upgradable memory? I don't know much about it (I got this like a week ago, so I don't much about it).
If you learn one thing, you learn that a game is about moving data in memory. And for a game to be fast, you want to figure out ways to move things in memory as fast as possible. almost all other things are secondary considerations.
Most high-end games put as much stuff in tables as possible-- stuff that won't change. No calculation is required to use it. Games use lots of memory-- that's the trade off. In order to gain performance, you must use resources. Either better coding (tighter, faster, more clever), or tables and WADs of stuff in RAM-- usually a combination of both of these techniques is required to achieve what you're after.
And BASIC (of any kind) won't cut it. BASIC languages are interpreted languages... you need a language (like C) that generates true binary executables.
Thanks a lot guys and sorry for not getting to you earlier. PC crashed and ISP line was down for the last 2 days. But here I am.
Yes, I agree, skeletal animation is best... However, if I had a sphere with let's say 16 faces (Perhaps a Geo Sphere if the faces don't fit) and I decide to explode it with an animation, then I'd have to control the 3 vertexes of each face as they detach from the center of the sphere...Right? This means that for each frame I'd need the new locations of each vertex (In the case they are not following pre-calculated trajectories as in following an algorithm but moving into pre-defined locations for each vertex) + the current locations of all the vertexes. So, this means we need memory for: AllNewLocations[...] * NrOfFrames for predefined animations. If we're using trajectories then it's not a problem, there are a few key-points where we ****f to a new direction then keep moving.
Anyways, I suppose very few people ( But I'm sure someone does) use the style of animation I described above. Like in 3d Studio max it just coiuldn't be possible without doing what I said.
Anways, I've decided to use MD2 (Yeppers!!) models and animate them using keyframes and bones. The simpler the better ;)
Thanks a lot
This means that for each frame I'd need the new locations of each vertex (In the case they are not following pre-calculated trajectories as in following an algorithm but moving into pre-defined locations for each vertex) + the current locations of all the vertexes.
If we're using trajectories then it's not a problem, there are a few key-points where we ****f to a new direction then keep moving.
no, just a vertex, a direction, and velocity. or a vector.
all you do is have this for each polygon/whatever, is moving.
for each movement, accounting for trajectory move the 'vertex' based on the 'velocity' along 'direction'(trajectory).
you can calculate the trajectory before hand, but if you need the trajectories to react to the enviroment then you will probably have to do it semi-realtime.
look into maybe particle systems, they will probably have the best examples of this.