using UnityEngine; namespace Es.InkPainter.Sample { [RequireComponent(typeof(Collider), typeof(MeshRenderer))] public class CollisionPainter : MonoBehaviour { [SerializeField] private Brush brush; [SerializeField] private int wait = 3; private int waitCount; public void Awake() { GetComponent().material.color = brush.Color; } public void FixedUpdate() { waitCount++; } public void OnCollisionStay(Collision collision) { if (waitCount < wait) { return; } waitCount = 0; ContactPoint[] contacts = collision.contacts; for (int i = 0; i < contacts.Length; i++) { ContactPoint contactPoint = contacts[i]; InkCanvas component = contactPoint.otherCollider.GetComponent(); if (component != null) { component.Paint(brush, contactPoint.point); } } } } }