本文主要是介绍Unity切割插件——Ezy-Slice,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
今天来介绍一个Unity超级炫酷的插件——Ezy-Slice
这个插件牛逼的不行
链接:https://pan.baidu.com/s/1iPoRnlfn9Jy6VWz1eLYoXw
提取码:aq1z
使用示例
我们来看一个示例,受教于这个视频
public class splitter : MonoBehaviour
{public Material cross;// Start is called before the first frame updatevoid Start(){}// Update is called once per framevoid Update(){//检测鼠标横向移动float mx = Input.GetAxis("Mouse X");transform.Rotate(mx*2, 0,0);if (Input.GetMouseButtonDown(0)){//盒子射线检测Collider[] colliders = Physics.OverlapBox(transform.position,new Vector3(3.64f, 0.005f, 2.76f),transform.rotation,~LayerMask.GetMask("Solied"));//将每一个检测到的进行切割foreach (Collider c in colliders){Destroy(c.gameObject);//GameObject[] objs=c.gameObject.SliceInstantiate(transform.position, transform.up);//添加切割面的材质//切割并返回表皮SlicedHull hull = c.gameObject.Slice(transform.position, transform.up);print(hull);if (hull != null){GameObject lower = hull.CreateLowerHull(c.gameObject, cross);GameObject upper = hull.CreateUpperHull(c.gameObject, cross);GameObject[] objs = new GameObject[] { lower, upper };foreach (GameObject o in objs){o.AddComponent<Rigidbody>();//因为切割之后是不规则物体,所以要选择 MeshCollider(网格碰撞)//如果一个MeshCollider是刚体,要想正常碰撞,一定要将convex设true//Unity的规定:这样会形成一个凸多面体,只有凸多面体才能是刚体o.AddComponent<MeshCollider>().convex = true;}}}}}
}
欢迎访问我的博客:is-hash.com
商业转载 请联系作者获得授权,非商业转载 请标明出处,谢谢
这篇关于Unity切割插件——Ezy-Slice的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!