• Advertisement
Sign in to follow this  

Creating Bullet Holes

This topic is 1894 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi everyone,

How do I calculate the billboard transformation to make a bullet hole at certain point on a mesh?

The mesh can be complicated (building, vehicle, interiors, etc...), so I'm looking for a way to place the bullet hole billboard on the mesh at the point the player is shooting.

Share this post


Link to post
Share on other sites
Advertisement
I'm not looking to use shader now, is there is anyway to calculate the billboard position and vertex position information to set the billboard transformation according to that?

Share this post


Link to post
Share on other sites
1- "p" is your intersected point

2- "v1,v2,v3" are your intersected face vertices

3- "N" is your face normal or you can calculate it from your vertices
{
A = v2 - v1
B = v3 - v1
N = normalize( cross( A , B ) )
}

4- Calculate your Up and Right vector
{
up = normalize( p - v1 )
right = cross( up , N )
}

5- "Q1,Q2,Q3,Q4" are your Quad vertices and can calculate like this
{
Q1 = p + up * scale
Q2 = p - up * scale
Q3 = p + right * scale
Q4 = p - right * scale
} Edited by stc.5421

Share this post


Link to post
Share on other sites
You don't need it , that create a quad align to the mesh face . Edited by stc.5421

Share this post


Link to post
Share on other sites
this is a d3d10 sample, why is do you give him d3d10 code?, plus its not even the full source code...

Share this post


Link to post
Share on other sites
Can I get the face normal and face vertices from ClosestRayResultCallback? I'm trying to get them to use the example you gave above.

Share this post


Link to post
Share on other sites
Sorry for delay , use this:

http://bulletphysics.org/Bullet/phpBB3/download/file.php?id=588 Edited by stc.5421

Share this post


Link to post
Share on other sites
Hi stc.5421,

I will be using D3DXIntersect() instead, how can I get the intersected face vertices when I use D3DXIntersect()?

Also, where normalize() and cross() are located? Do you mean btVector3::normalize() and btVector3::cross()? Edited by Medo3337

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement