tailieunhanh - Character Animation with Direct3D- P19

Character Animation with Direct3D- P19:This book is primarily aimed at teaching indie and hobby game developers how to create character animation with Direct3D. Also, the seasoned professional game developer may find some interesting things in this book. You will need a solid understanding of the C++ programming language as well as general object-oriented programming skills. | 346 Character Animation with Direct3D FIGURE Decal UV coordinates over a curved surface. Because I m using a plane calculated from the hit position and the triangle normal to calculate the UV coordinates of the decal there will be some stretching when the decal is applied to curved surfaces. You can see this in Figure where the positions of the vertices in the texture surface aren t spread out uniformly even though the distance on the mesh surface between the vertices is . This is a problem related to that of using the straight line distance from the hit to the vertex described earlier. If you can calculate the actual distance over the mesh surface from the hit position to the vertex then you can also improve on the UV coordinate calculation. Conclusions This chapter introduced the concept of adding real-time scratches bullet holes etc. to your character using decals. Decals are a great way of adding extra detail or randomness to your characters without having a major impact on texture memory. One thing I haven t covered in this chapter is how to handle a large number of decals. In a first-person shooter game for example the number of bullet-hole-induced decals can quickly rise to several thousands. At some point you need to start removing the decals from the scene or your frame rate will start to drop. Usually you ll need to implement some form of decal manager that keeps track of all the decals in the world and which can remove them according to lease purchase PDF Split-Merge on to remove this watermark. Chapter 14 Character Decals 347 Decal position relative to the player Decal age First-in first-out Once a decal has been flagged for removal you can either just pop it out of existence fade it out or wait until the player is looking the other way and then remove it you can easily check the decal position against the player view frustum . One big improvement to this decal system would also be to have normal-mapped decals making it .