I would like to make bullet holes that act similar to the skidmarks in the Unity Car tutorial.
I have looked through the code, and have not found anywhere where an object is instantiated. This is ideal for my bullet holes, but i have no idea how the skid marks work, so i cannot replicate it.
At the moment i am using ray casting to Instantiate planes that have a bullet hole texture. This is heavy on the computer, and after about 500 bullet holes, the game lags. In the Car Tutorial there can be over 1000 skidmarks, and the framerate doesn't decrease at all.
So what i am asking is, Can anyone explain how the skidmarks in the Car tutorial work?
The code is lines 349-394 in the Car.js Script, and the Skidmarks.js script
The script is found here
Answer by Edy
May 17, 2011 at 09:29 AM
The skidmarks in the car tutorial are pretty "rough". It's just a single, big mesh dynamically constructed when the skidmarks are being generated. The skidmarks.js script requires MeshFilter and MeshRenderer components, so no need for instantiate objects. It just works through the mesh property of the MeshFilter.
The skidmark segments are stored in the array:
private var skidmarks : markSection;
Each time a new skidmark segment is added (function AddSkidMark) the array is updated with the position, intensity, etc. Then, at LateUpdate, the entire Mesh from the MeshFilter is discarded and re-created using the information from the skidmarks array.
However, the typicall method for creating bullet holes is using Decals. Here you have a related answer:
Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.
The best place to ask and answer questions about development with Unity.
To help users navigate the site we have posted a user guide.
If you are a new user, check out our FAQ for more information.
If you are a moderator, see our Moderator Guidelines page.
We are making improvements to UA, see the list of changes.
For troubleshooting common problems with Unity 5.x Editor (including Win 10).
Answers and Comments
No one has followed this question yet.
Checking if object intersects?
InvokeRepeating affecting parts of script
networkView.viewID returning same for server and client
instantiate prefab object to existing object
For Loop isn't working properly!