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
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:
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: