源码已上传至github,并持续更新,链接请看底部。(本帖跟随github持续更新)

继先前的一篇MeshEditor之后,MeshEditor第二版发布,这次在先前的基础上加入了为模型新增顶点以及删除顶点的功能,还有多项针对顶点的操作,类似于顶点塌陷的功能将会有效的降低模型面数(目标最好是仅有材质没有贴图的模型),这次我将以一个例子来大致讲解"模型网格编辑器(高级)"的多项功能,例子是:制作一个剑痕模型。

传送门(模型破碎模型融化模型镜像

好了,我们进入正题:




第一步:


首先,我们在场景中新建一个Cube,并为其添加我们的模型网格编辑器(高级)组件,先前一版的编辑器并未移除,也并未融合,虽然先前一版只支持更改顶点的位置,但在很多情况下或许只需要这个功能。


第二步:


打开我们的模型网格编辑辅助界面,Window-> 模型网格编辑辅助界面。

创建顶点:选中两直接相连顶点之后,在两点之间新增一个顶点,注意新顶点会自动与原两点所组三角面的其他点相连,从而组成新的三角面,因为,在unity中不包含在三角面中的点和线是不能存在的。

删除顶点:选中任意一个顶点之后,删除此顶点,注意同时被删除的还有这个顶点所关联的所有三角面,请慎重操作,Ctrl + Z是不能返回的。

相交位移:选中两个顶点之后,将两个顶点以两者相对的方向移动至两者相距的中心位置。

镜像位移:选中两个顶点之后,将两个顶点的位置相对调换,注意,你如果不想制作出一些奇形怪状的东西的话,请慎用此功能。

两点塌陷:选中两个顶点之后,将第二个点合并至第一个点,多余的无依靠的面将会被删除。(此操作可以有效降低模型面数)

多点塌陷:选中两个以上顶点之后,将所有顶点合并至第一个点,多余的无依靠的面将会被删除。(此操作可以有效降低模型面数)



第三步:


选中Cube直接相连的两个顶点,在两者之间创建一个新顶点。(只有存在直接连线的顶点之间才可以新建顶点)


第四步:


将新创建的顶点往上拖,形成剑痕的一方尖角。


第五步:


我们转到模型背面,选中背向尖角的两个点,执行相交位移(或者两点塌陷)。


第六步:


我们可以看到两个点被重合为一个点了,这是剑痕的剑锋部分。


第七步:


我们再转到模型下部,再新建一个点作为剑痕的另一方尖角。


第八步:


将尖角拉出。


第九步:


再选中下部尖角背面的两个顶点,执行相交位移(或两点塌陷)。


第十步:


一个长长的两面尖的剑痕就已经有些样子了不是,我们可以调节背面让其更薄。


第十一步:


我们继续调节剑痕的背部,让他表现得更薄。


第十二步:


我们再拉长一下两端的尖角,让他表现得更长。


第十三步:


好了,接下来是重点了,我们要让他更细更薄


第十四步:


这下完成了,记得点击编辑完成,如果点击之后没效果,可以直接手动移除Cube上的模型编辑脚本。


最后的效果:


我们之前创建的Cube是不会被修改的,修改的模型会自动生成一个克隆体。

当然不止是Cube,MeshEditor针对的是任何带有网格的物体,外部导入的模型我们也可以随心所欲的进行我们想要的修改的,让我们来玩一玩龙之谷的卡拉翰吧。

我们可以微调一下人物的面部,把鼻子拉长。

或者将眼睛变得更大。

不过可别对有贴图的模型进行删除顶点的操作,你会发现被你删除的那块面直接空了,最主要的是材质会丢失,当然删除之后再选中边缘顶点塌陷就可以补全空白了,但UV可能会乱。

github源码链接:https://github.com/coding2233/MeshEditor

-----by MeshEditor

Unity插件 - MeshEditor(二) 模型网格编辑器(高级)的更多相关文章

  1. Unity插件 - MeshEditor(一) 3D线段作画 & 模型网格编辑器

    之前,因为工作需要,项目中需要动态生成很多的电线,不能事先让模型做好,更不能用LineRenderer之类的,因为画出来没有3D的效果,最主要是拐角的时候还容易破面,而我们要的是真真实实纯3D的电线, ...

  2. Unity插件 - MeshEditor(五) 网格顶点动画(变形动画)

    源码已上传至github,并持续更新,链接请看底部.(本帖跟随github持续更新) 网格顶点动画(变形动画)是针对于物体的形状可以随意变换并记录为关键帧的动画,虽然模型的顶点数据还是应该交给GPU绘 ...

  3. Unity插件 - MeshEditor(三) 面片破碎&网格破碎

    网上的unity破碎插件很多,不过想着可以以自己的方式实现也不失为一种乐趣,虽然整体的表现性上显得有些差,但也并不会影响最终的效果,接下来我大致讲解一下破碎一个物体的流程,因为用到了协程计算碎片的原因 ...

  4. Unity插件 - MeshEditor(八)模型镜像特效

    将静态模型(带MeshFilter)按指定轴向.指定距离克隆一个镜像物体出来,思路很简单,将模型的顶点坐标按指定轴取反,并累加上设定的距离值,然后就完毕了!不过,因为镜像体的顶点镜像于之前模型的顶点, ...

  5. Unity插件 - MeshEditor(四) 模型融化特效

    现在的电影里有很多妖魔在死亡后身体逐渐融化并下滑最后化为一滩黑水的情景,本次出于兴趣大致研究了这个效果,原理是控制模型的顶点向一个方向坍塌,坍塌到最低点时再根据法线方向扩散形成黑水状. 第一步: 添加 ...

  6. Unity插件 - MeshEditor(七)变形动画骨骼及蒙皮

    MeshAnimation在物体的顶点比较多的情况下,悲剧是显而可见的,我一个一个的点选顶点肯定得累死,而且对于形态的调控不是很方便,应该说是很麻烦,要知道,骨骼动画因为有了骨骼以及蒙皮信息而有了灵魂 ...

  7. Unity插件 - MeshEditor(六) 变形动画状态机

    变形动画状态机--MeshAnimator,是针对MeshAnimation的状态管理器,有大量类似Unity animator的功能,但MeshAnimator操作会更加简便,更加直观,居家旅(zh ...

  8. 无插件的大模型浏览器Autodesk Viewer开发培训-武汉-2014年8月28日 9:00 – 12:00

    武汉附近的同学们有福了,这是全球第一次关于Autodesk viewer的教室培训. :) 你可能已经在各种场合听过或看过Autodesk最新推出的大模型浏览器,这是无需插件的浏览器模型,支持几十种数 ...

  9. Fixflow引擎解析(二)(模型) - BPMN2.0读写

    Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...

随机推荐

  1. openwrt 下添加sim760ce usb驱动

    SIM7500_SIM7600 系列模块的 USB VID 是 0x1E0E PID 是 0x9001. 作为 Slave USB 设备,配置如下表 USB 接口波特率自适应 9600.115200 ...

  2. ios中的safari转换时间戳问题

    后台下发的时间格式如:2016-09-15 15:30:10:也没多想,直接用new Date('2016-09-15 15:30:10').getTime()获取时间戳:开发时候,电脑调试OK,当放 ...

  3. Python小代码_11_生成小于 n 的裴波那契数列

    def fib(n): a, b = 1, 1 while a < n: print(a, end=' ') a, b = b, a + b fib(100000) #输出结果 #1 1 2 3 ...

  4. Wcf host

    Uri baseAddress = new Uri(uri);//var binding = new WebHttpBinding(WebHttpSecurityMode.None); var bas ...

  5. Java对象的内存布局以及对象所需内存大小计算详解

    1. 内存布局 在HotSpot虚拟机中,对象的内存布局可以分为三部分:对象头(Header). 实例数据(Instance Data)和对齐填充(Padding). 1) 对象头(Header): ...

  6. linux:cpu 每-CPU 的变量

    每-CPU 的变量 每-CPU 变量是一个有趣的 2.6 内核的特性. 当你创建一个每-CPU变量, 系统中每个处理器获得它自己的这个变量拷贝. 这个可能象一个想做的奇怪的事情, 但是它有自己的优点. ...

  7. 20160223.CCPP体系详解(0033天)

    程序片段(01):MyArray.h+MyArray.c+main.c 内容概要:数组库 ///MyArray.h #pragma once #define DT int//类型通用 typedef ...

  8. RunLoop总结:RunLoop的应用场景(四)

    今天要介绍的RunLoop使用场景很有意思,在做长期项目,需要跟踪解决用户问题非常有用. 使用RunLoop 监测主线程的卡顿,并将卡顿时的线程堆栈信息保存下来,下次上传到服务器. 参考资料 关于今天 ...

  9. J2EE进阶(十八)基于留言板分析SSH工作流程

    J2EE进阶(十八)基于留言板分析SSH工作流程   留言板采用SSH(Struts1.2 + Spring3.0 + Hibernate3.0)架构.   工作流程(以用户登录为例):   首先是用 ...

  10. Oracle11g R2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤

    Oracle11g R2创建PASSWORD_VERIFY_FUNCTION对应密码复杂度验证函数步骤 运行测试环境:数据库服务器Oracle Linux 5.8 + Oracle 11g R2数据库 ...