时间:2021-05-20
Unity使用EzySlice实现模型切割,供大家参考,具体内容如下
老规矩,直接上代码:
注意:脚本搭载和需要的材质球以及切割数组填充
EzySlice 多边形顺序切割
using System.Collections;using System.Collections.Generic;using UnityEngine;using EzySlice;public class SplitterModel_ZH : MonoBehaviour{ //切割预制体材质 public Material _NewMaterial; //被切割预制体数组 public List<GameObject> _ListGamPreFab; //调用切割模型数组 序号 private int _ListInt = 0; void Update() { if (Input.GetMouseButtonDown(0)) { StartCoroutine(SlicedModel()); } } public IEnumerator SlicedModel() { if (_ListGamPreFab != null) { //创建忽略切割对象 Collider[] _Colliders = Physics.OverlapBox(_ListGamPreFab[_ListInt].transform.position, new Vector3(4, 0.00005f, 4), _ListGamPreFab[_ListInt].transform.rotation, ~LayerMask.GetMask("Solid")); foreach (var item in _Colliders) { //销毁当前被切割物体 Destroy(item.gameObject); //切割出现的物体 SlicedHull _SlicedHull = item.gameObject.Slice(_ListGamPreFab[_ListInt].transform.position, _ListGamPreFab[_ListInt].transform.up); if (_SlicedHull != null) { //切割下半部分部分 物体 GameObject _Lower = _SlicedHull.CreateLowerHull(item.gameObject, _NewMaterial); //切割上半部分部分 物体 GameObject _Upper = _SlicedHull.CreateUpperHull(item.gameObject, _NewMaterial); //销毁切割形成的上半部分 Destroy(_Lower); //添加网格组件 _Upper.AddComponent<MeshCollider>(); //当前切割物体消失(可扩展) _ListGamPreFab[_ListInt].gameObject.SetActive(false); #region 弃用 //for (int i = 0; i < _objs.Length; i++) //{ // _objs[i].AddComponent<Rigidbody>(); // _objs[i].AddComponent<MeshCollider>().convex = true; // //奇 偶 判断 如果是奇数 // if ((i & 1) != 0) // { // } //} #endregion } } } _ListInt++; //延迟执行 yield return new WaitForSeconds(0.5f); //判断数组大小 if (_ListInt == _ListGamPreFab.Count) { //停止协程 StopCoroutine(SlicedModel()); } else { StartCoroutine(SlicedModel()); } }}补充一点:当前切割数组可扩展,可以使用 LineRender 绘画实现自定义,只不过我没时间去写。
如果有那位大神写了请帮忙踢我一下,哈哈哈。
链接: Unity LineRender 绘画
初始状态:
脚本搭载情况:
最终效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
blender要创建正六边形、正八边形等这些正多边形,我们可以通过对基础网格模型的编辑,或者通过对曲线的编辑一些方法,制作出我们需要的正多边形。软件名称:Ble
画多边形方法英文命令:polygon 操作系统支持:Windows所属对象:画板如果所画的多边形没有闭合,将自动闭合。语法:无返回值画板.画多边形(多边形顶点,
cad多边形的使用方法如下: 1、打开AutoCAD2013软件,调出特性栏,按设置好特性栏中的各个参数后,鼠标移动到“多边形工具”处,弹出多边形工具使用说明
cad画任意多边形的方法如下: 1、要在CAD中绘制不规则的多边形,首先在迅捷CAD编辑器中依次点击“编辑器”、“绘制”、“多边形线”命令。 2、然后选择任
多边形选区概述多边形选区是一种常见的对象选择方式,在一个子图中,单击鼠标左键即构建一个多边形的端点,最后一个端点与第一个端点重合即完成多边形选区,选区即为多个端