源码已上传至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. bootstrap插件fileinput.js 显示无法上传失败

    哪怕图片已经传到服务器上了 依然显示出错 // 处理完成后,必须返回一个json数据,否则会报错误 JSONObject jsonObject = new JSONObject(); jsonObje ...

  2. 简介JSP与FreeMarker及Volicity区别

    FreeMarker FreeMarker是一款模板引擎: 即一种基于模板和要改变的数据, 并用来生成输出文本(HTML网页.电子邮件.配置文件.源代码等)的通用工具. 它不是面向最终用户的,而是一个 ...

  3. Ubuntu 16.04LTS 安装 MATLAB 2014B

    环境:Ubuntu 16.04LTS 软件:MATLAB 2014B MATLAB 2014B 下载地址(带Crack): 链接: https://pan.baidu.com/s/1nvGtmEd 密 ...

  4. 用CSS让DIV上下左右居中的方法

    转载自喜欢JS的无名小站 例如 一个父div(w:100%;h:400px)中有一个子div(w:100px;100px;).让其上下左右居中. 方法一(varticle-align) 理念 利用表格 ...

  5. PHP MySQL Where 子句

    WHERE 子句 WHERE 子句用于提取满足指定标准的的记录. 语法 SELECT column_name(s) FROM table_name WHERE column_name operator ...

  6. WebRTC 音频算法 附完整C代码

    WebRTC提供一套音频处理引擎, 包含以下算法: AGC自动增益控制(Automatic Gain Control) ANS噪音抑制(Automatic Noise Suppression) AEC ...

  7. django+uwsgi+nginx+postgresql备忘

    安装pg创建数据库xxx设置用户密码111111 apt-get install postgresql su - postgres psql create database xxx; alter us ...

  8. Linux测量kernel子模块加载时间的方法

    1. 在文件kernel/init/main.c里面,在接口do_one_initcall( )中,将initcall_debug设置为true,然后编译boot.img 2. 使用adb shell ...

  9. Dynamics CRM2016 Web Api之根据时间查询数据

    我的博文里已经有多次提到CRM中的时间处理问题了,本篇继续探讨在web api的场景下时间字段如何处理,本篇只涉及查询,针对2016中新增的时间行为"用户当地时间"和"无 ...

  10. Android简易实战教程--第三十七话《NotifiCation》

    通知的使用,无疑是Android系统的亮点之一:就连IOS在5.0开始也引入了类似通知的技巧.可见它的实用性. 今天这个小案例,就学习一下通知的基本使用,API是使用最新的API,4.3以前创建通知的 ...