Basic Bullet Hole
The following snippet shows how to implement a simple bullet hole creation component with EasyDecal.
using UnityEngine; using ch.sycoforge.Decal; /// <summary> /// Demo class for runtime decal placement. /// </summary> public class DynamicDemo : MonoBehaviour { public EasyDecal DecalPrefab_A; // Update is called once per frame void Update () { if (Input.GetMouseButtonUp(0)) { // Shoot a ray thru the camera starting at the mouse's current screen space position Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit; // Check if ray hit something if (Physics.Raycast(ray, out hit, 200)) { // Draw a line along the projection axis for visalizing the projection process. Debug.DrawLine(ray.origin, hit.point, Color.red); // Instantiate the decal prefab according the hit normal EasyDecal.ProjectAt(DecalPrefab_A.gameObject, hit.collider.gameObject, hit.point, hit.normal); } } } }