moving vertices that were hit
Blitz3D Forums/Blitz3D Beginners Area/moving vertices that were hit
| ||
i want to make this deformable object, some kind of organic looking cell that when you hit it, the spot that you hit shrinks away from the bullet. i wonder if there's an example of this anywhere? i think i see the basic components i'm supposed to use but an example of mesh deformation in the spot where something hits the mesh, would really save a ton of time |
| ||
The castle demo has terrain that responds to damage I think. |
| ||
I never knew that - don't think it does - unless I completely overlooked it. |
| ||
Yes, it does. The commands you would use to do this include CollisionTriangle and TriangleVertex to determine which vertices to move, and then VertexCoords to move them. |
| ||
Hah, so it does - I never knew that. I smell a 'Magic Carpet' clone coming out of the woodwork here. EDIT: I never spotted it before because the controls are so bad. |
| ||
hmm thanks, but still confused. the docs are incredibly opaque when it comes to vertices, etc. in BULLETS.bb: cc=CountCollisions(b\piv) If cc > 0 For collisionindex=1 To cc entity=CollisionEntity(b\piv,collisionindex) ID=GetEntityType(entity) Select ID Case T_GENERATOR g.generator = Object.generator(EntityName(entity)) generatorHIT(g.generator,b.bullet_type,collisionindex) ... now generatorHIT is: Function generatorHIT(g.generator,b.bullet_type,collisionindex) tcol=CollisionTriangle ( g\model,collisionindex ) scol=CollisionSurface ( g\model,collisionindex ) VertexCoords scol,tcol,VertexX#(scol,tcol),VertexY#(scol,tcol),VertexZ#(scol,tcol)+3 End Function I get vertex index out of range on vertexcoords. I don't see where TriangleVertex comes into play. It says it returns a vertex, but what do you do with that? What's that number even mean? is that one particular corner of the triangle? is that a different index than the tcol index? i think i see what's going on, but the docs again are extremely poor in regard to this topic. :( any help greatly appreciated! |
| ||
i changed it to thistcol=CollisionTriangle ( g\model,collisionindex ) scol=CollisionSurface ( g\model,collisionindex ) tvert=TriangleVertex ( scol,tcol,Rand(1,3) ) ; which specific vertext to move. just picking 1st one for now. VertexCoords scol,tvert,VertexX#(scol,tvert),VertexY#(scol,tvert),VertexZ#(scol,tvert)+5 and it seems to work. well i hope this code helps someone equally lost on moving verts |