Adding "Nodes" or "Keypoints"?

Started by
5 comments, last by BeastX 17 years, 10 months ago
I've never really done 3D games before, and haven't gone into any advanced Maya/3DSMax stuff, which brings me to this question. Is there anyway to specify or create "Keypoints" on models? What I'm talking about is, say, I have a sword, and I want to specify where the tip of the blade is and where the "bottom" of the blade, or where it meets the hilt, is, so that I can do stuff inside my game based on these points (in this example, create a fire effect that runs along the blade). Is there a way for me to do this?
Advertisement
There's no official "way" or set standard to do this, and it's mainly up to how the programmer & artist would like to do it. But since you don't have a system, perhaps you should just use bones and put a joint there? Again, the system is set by the engine you're using/programmers.
We should do this the Microsoft way: "WAHOOOO!!! IT COMPILES! SHIP IT!"
Hrmmmmm, okay. So then I can grab the position of the joints via code? As in, there IS a way to access the bone and joint information within the game/code (eg at runtime)?
There are a couple things you can do.
First, you can use a bounding box via the game engine as a collision mesh (or for other things).
You can also create a seperate collision mesh via a modelling program.

Generally 'fire effects' and the like (like the ones in Oblivion), as far as I reckon, use shaders and effects along the actual mesh (on the surface). There are also particle effects that can use a mesh/geometry as an emitter.

So for things like fire effects and particles, most won't be done via 3ds/maya. For collision meshes, it will.

EDIT: Joints and bones are used for animation... adding them would generally not be part of the particle/effects pipeline, unless you are using it for some interesting things (Such as applying a certain effect at certain intensities depending on bone weight?). So for your example I don't think its part of the equation.
-------------www.robg3d.com
Yes, the fire is added in-game. All weapons can be given certain statuses, so it'd be painstaking and foolish to create tons of animations for every weapon within 3DS/Maya. Which is why I need to know WHERE what I want to set on fire is. Sure, I could follow the mesh, but I'd still have to know where to start and stop following it, as the entire thing isn't consumed in flame, and it "grows," so at one point it's just the tip of the blade, etc. Therefore I need a way to imbed within the object file location points so that the algorythm / particle sytem / whatever knows where to apply the effects.

[Edited by - RealmRPGer on June 10, 2006 2:39:43 AM]
Ah. What you'd want to do, then, is have the hilt of the blade (or some recognizable constant area) lay at 0,0,0. That way, you can reuse the same weapon animations, and regardless of hilt or blade length they'll all work.
For the effects, probably having the effect follow world space along the mesh (from the lowest point to the highest point in space) would be best.
Also dividing the mesh into chunks could work (ie, seperating the blade, so the hilt isn't effected).
-------------www.robg3d.com
Depending on your game's geometry and animation implementation there are several ways to do it. All of them (except guessing) require both programming and art work.

- Key off specific vertices in your mesh. You could color coat them then find their indices by color value in code.

- Key directly off transformed bones in your skeleton as it animates. You can add dummy bones for special placement of items, weapons, and effects. Just make sure they don't affect the skinned mesh.

- Add labeled dummy objects and lock them to your skeleton at offsets. Then you can treat them like bones without affecting animation.

This topic is closed to new replies.

Advertisement