Unity3D-5.4.1f-Rain Storm Effects插件应用及车辆前挡风玻璃简易雨刮器制作
来源:互联网 发布:文明冲突论 知乎 编辑:程序博客网 时间:2024/04/29 05:52
**
Unity3D-5.4.1f-Rain Storm Effects插件应用及车辆前挡风玻璃简易雨刮器制作
**
作者Ghost_Light
1.使用的雨天天气模拟插件是Rain Storm Effects。Rain Storm Effects的基本原理应该是将下雨的忍者飞镖、雾、风等元素挂在包含了主摄像机的父物体上,粒子产生的位置将随摄像机的位置改变,从Scene面板上看到的是局部下雨的效果。下图为Rain Storm Effects的ReadMe文档。
2.新建场景后导入车辆模型和Rain Storm Effects。
3.在场景中可以直接使用插件提供的第一人称角色控制器,First Person Controller的预制件中已经包含了下雨的粒子系统以及移动跳跃等物理效果。将车辆模型及“First Person Controller”、“Wind Parent”、“Lightning Parent”等预制件拖入Hierarchy,摆放好位置,此处为了让效果更明显,移除了光源并用五块黑色Plane把车围起来 。
为了让雨滴粒子和车体有物理碰撞,为车辆几个表面部分添加Mesh Collider并勾选Convex。
点击Play按钮后的效果如下。
4.下面来研究一下插件的粒子系统Inspector选项,因为是初次使用unity的粒子系统,所以碰到了一个暂时无法解决的问题,有时调整一下粒子的参数就导致软件崩溃,当前硬件是16G内存和GTX1080,也重新分配了虚拟内存。错误提示如下:
撇过这个偶尔出现的错误,Inspector中的参数意思不再逐一翻译。方便效果展示,关闭了Hierarchy中的Rain Splash(雨点撞击物体后溅起的水汽)和Wind Parent。
基本没有改动插件提供的原始参数,只是将Rain Storm Parent-Rain-Collision-Lifetime Loss的数值调大到0.8,这样雨点粒子消失时间会变短,撞击到物体后的拖尾效果减弱。
5.雨刮器效果的构思,为了实现第一人称车辆场景雨天行车并运行雨刮器的效果,在网上没有找到相关资料,只好自己想办法实现,下面给出基本思路方便读者拓展和完善。
“真实世界中雨滴撞击到前挡风玻璃上后会溅起水花,雨再大点会产出水流从玻璃上流过,形成一层较薄的水面,此时雨点再撞击到玻璃上时会产生水晕。当雨刮器打开后会在窗前扫过一个弧形,此时弧形表面不再沾染水滴,雨滴落在干表面上重新开始积水的过程,如此往复。”
如此而言,需要在U3D中做到这样的效果,需要导入流体的模型或者用shader实现水面的效果,水流功能对于u3d来说本来就较为困难而且又因时间问题没有办法继续研究,实为遗憾。
6.具体的实现方案。在车窗前添加两个cube,为cube添加box collider并关闭mesh renderer,
将cube的高度设置到这么高,可以将本该落在车窗上的雨滴挡在摄像机看不见的地方。
当雨刮器未打开时,cube-SetActive(false),此时雨点等够顺利落在车窗上,产生水晕和溅水效果,打开雨刮器后,cube-SetActive(true),并在cube上挂脚本,实现在车窗范围内的左右移动,来回移动的脚本就不展示了,用itween可以很轻松的实现pingpong效果。
采用的解决方案十分简易但是确实有类似雨刮器的效果,粒子数量越多越明显。有时间的读者可以将cube换成弧形的模型,用旋转而不是左右移动,来实现雨刮器的效果。
雨刮器的模型动画可以用3DsMax制作,因为一般车辆的两根雨刮器不是一样大小的,所以最好分别录制两个动画。动画的录制过程不细讲,无非就是添加骨骼,蒙皮,在关键帧上摆好姿势,最后导出成fbx文件导入unity就行了。回到unity中将本来的雨刮器模型删掉,绑上有动画的模型。
简易的雨刮器制作到此结束,其中存在的错误希望得到指正,相互提高谢谢。
- Unity3D-5.4.1f-Rain Storm Effects插件应用及车辆前挡风玻璃简易雨刮器制作
- 制作简易Jquery插件
- 【Unity3D编程】简易时钟制作
- Unity3D 制作场景地图 插件
- Unity3D中的Post effects
- 【Qt】制作应用插件
- 代码即逻辑 -- 聊聊 Effects 及在 Angular 中的应用
- storm集群应用1
- Unity3D 使用NGUI制作简易弹出窗口声音控制器
- Unity3D教程:车辆性能算法
- Water-drop 节选翻译 ----Dynamic rain and its effects
- HiDLL制作的Unity3D插件汇总(所有插件目录)
- 宝马M4前挡风玻璃贴保护膜_宝马玻璃贴膜_玻璃盾甲
- Kiss the Rain -- 地表雨水动态效果 (Dynamic rain and its effects)
- DZ插件制作简易入门教程(自学手记)第一篇
- DZ插件制作简易入门教程(自学手记)第二篇
- chrome谷歌浏览器插件制作简易教程
- unity3d Localized Dialogs & Cutscenes 插件简单应用
- 自定义标签的实现思路
- MySQL中在查询结果集中得到记录行号的方法
- 提高程序性能、何为缓存——从存储器结构说起
- ssd画loss和accuracy曲线
- Android事件分发机制简单理解
- Unity3D-5.4.1f-Rain Storm Effects插件应用及车辆前挡风玻璃简易雨刮器制作
- 关于java数组复制与多态
- Docker daemon 无法启动: does not match with stored UUID
- ListView套上ScrollView; ListView显示不全; ListView只显示一条 不能全局滑动问题
- PHP 单元测试问题记录
- Android MVP 模式介绍与实战
- Hibernate二级缓存
- 嵌入式linux软件平台--uboot引导流程
- CSDN_C_IDE下修改运行oracle_SCTP_样例