物体的任意角度和位置去裁切物体
将UrpCut赋给需要裁切物体的材质球上
将CaculateCutObjFace挂在任意物体上,将被裁切的物体赋给Meshrender
using System.Collections; using System.Collections.Generic; using UnityEngine; public class CaculateCutObjFace : MonoBehaviour { public Material material; public Shader cutshader; public MeshRenderer Meshrender; private Vector3 localpos; void Update() { Vector3 point = transform.position; Vector3 normal = transform.forward; float dis = Vector3.Dot(point, normal.normalized); for (int i = 0; i < Meshrender.materials.Length; i++) { Meshrender.materials[i].SetVector("_Plane", new Vector4(normal.x, normal.y, normal.z, dis)); } } }