在某些特殊情况下不得不对模型进行一些简单的修改,所以写了个简单的编辑脚本
思路就是获取mesh上的所有顶点,然后在每个顶点位置创建一个控制点控制点可以是任意你喜欢的物体,通过判断控制点的位置信息来修改mesh的顶点位置
在unity顶点数量中,mesh上的顶点与几个面相交就会有几个坐标点,估计是紦点为每一个三角形面复制了一份所以这里在生成控制点时要注意剔除重复的点,不要重复生成
这里我是把每个顶点的坐标转为字符串,使用该坐标的字符串作为key来把控制点与顶点数据联系起来
//顶点id,(顶点初始位置转字符串) //记录坐标点上一次移动的位置用于判斷控制点是否移动 //控制点移动时的回调 //顶点物体被移动时调用此方法 //检测控制点尺寸是否改变然后运行场景可就可以看到模型上的控制点叻:
然后就可以拖动这些控制点来改变mesh的顶点数据了:
***注意:这里对mesh的修改是即时保存的,并且不能恢复修改之前请务必做好备份!!!也可以修改我上面的脚本,在开始时复制一个mesh来修改修改后再决定是否需要保存。