| |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| -> 游戏开发 -> Unity VFX初探 -> 正文阅读 |
|
|
[游戏开发]Unity VFX初探 |
|
unity的vfx其实很久之前就有在编辑器的Editor——Preference里面见到过,当时我用的是2017还是18版本来着?当时并不知道是什么东西啊,去搜了一下知道了有个和粒子类似的东西存在,但也没有留意,因为那时候粒子系统都不太熟悉。后来在HDRP场景里面算是第一次正式接触到了vfx,但是那时候觉得蝴蝶啊、竹子的落叶啊其实用粒子也能搞,所以还是没怎么关心。直到我看到了这些。。。。。。 一、准备尽量用稍微新一点的版本,我用的是2020.3.3f1c1,新建HDRP工程。确保你的Assets的package里面有vfx,没有的话去包管理器里面install一个。 二、开整先在Asset里面右键新建一个visual effect graph,随便起个名字。 三、说明默认的vfx没啥东西,我们看到的就是类似新建一个粒子一样,多个不断生成的图片。双击新建的visual effect graph打开编辑面板,差不多是这样的一个布局,右上角两个toggle开关控制箭头指向的两个面板的显示隐藏,左上角的就是保存编译的(其实直接保存系统会自动编译)。这里提一点,如果我们下载别人做好的vfx拿来用,导入工程后是不能直接用的,必须经历一次打开——编译保存这么一个过程,要不然没有编译用不了。 1.先说blackboard面板这个面板的名字就是你新建visual effect graph时候的名字,这个面板的作用就是存放一些公共变量,类似于我们编程时专门新建一个脚本存放我们的静态变量。点击面板右上角的加号,我们可以看到它支持的变量类型除了一些基本的类型还有一些vfx独有的,大家可以看一下官方的文档。我把文档链接放这里了 2.然后是Target visual effect gameobject面板这个面板只有我们选中场景中的visual effect的时候 attach按钮才会激活,这时候点击attach按钮我们可以获得一个控制vfx的控制台。 3.重点来了,VFX的渲染流程Spawn——Initialize——update——output,我为什么叫他渲染流程呢,因为粒子从生成到消失才叫生命周期。大模块里面的每个小模块称为block,我们点击任意大模块选中,然后按下空格或者鼠标右键就能看到可以添加哪些小模块了。
四、制作当我们知道vfx的整个流程以及相关的模块,那么就可以自己动手做一些炫酷的效果了,也可以跟着一些视频教程做一些模仿,而重点要做的可能就是熟悉每个block的作用以及不断学习运用文档中的介绍内容。这里的话我再给大家分享一下SDF和point cache的制作流程,他们两者可以让我们很方便的将粒子组合成我们想要的网格形状和图片性状。 1.SDF以下图的vfx为例,如果说我们想要做出一个这样一个3D人头形状的vfx,我们用各种数学运算来搞必然不是很现实,当然不排除有大佬啊,所以我们可以用SDF来搞,什么是SDF请大家自行百度啊。我就给大家说一下制作流程。 第一步:去GitHub下载SDF制作工程unity-sdf-generator 第二步:在vfx里面使用先定义一个Texture3D类型的公共变量,然后在value里选择第一步制作的SDF,然后根据前面的教程将该变量拖出来,在你需要的渲染流程中添加position block,注意是SDF类型的position block,将两者连接在一起,这样就ok了,是不是很简单。 2.point cachepoint cache可以用vfx自带的工具进行生成,它可以根据你选定的网格或图片生成响应的point cache asset文件,我们可以看到它可以将网格的法线、UV、颜色以及采样的点的数量都包含进去。
第一步:制作point cache asset文件通过上面的流程我们选择一个图片来制作出一个point cache asset文件,可以通过生成的文件看到我要用到图片的位置信息和颜色信息。 第二步:在vfx里面使用这里跟SDF有点不一样的地方是它无法通过定义全局变量来使用,我们直接在空白处create node,然后在asset里面选择我们上一步生成的point cache asset文件,最后和SDF一样,将其位置、颜色通过连线的方式复制给对应的block。
|
|
|
|
|
| 上一篇文章 下一篇文章 查看所有文章 |
|
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年11日历 | -2025/11/13 13:01:10- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |