【Unity】开发日志3——拖尾渲染 Trial Renderer
来源:互联网 发布:手机显示yy网络不给力 编辑:程序博客网 时间:2024/05/01 12:50
前言:
在之前用Unity做绘画的过程中,我们实现了基本的绘画模式,但是有一个很严重的问题就是:我们画出来的都是Sphere,这样子做非常占用内存,这次就主要解决这个问题,我们用Trial Renderer来作我们的笔刷。
首次接触Trial Renderer可以发现它可以做我们的笔刷,先来创建一个Trial Renderer:
1、 创建一个空的游戏对象 Create Empty,命名为Brush;
2、 给Brush添加组件,点击Brush,在菜单栏中Component > Effects > Trial Renderer;
3、 在Asset中新建一个材质Create > Material命名为Brush;
4、 打开Brush的Inspector中的Meterials选项前的小三角,把我们新建的材质Brush拖进去;
5、 在Scene视图中移动Brush我们就可以看见拖尾效果了;
可以看出:只要移动带有Trail Renderer这种Component的游戏对象就会产生这种拖尾的轨迹,这非常适合作为我们的笔刷。
于是我们让它和我们的鼠标同步移动,这里用到新的代码(以往我们都要自己做左边运算,现在发现Unity中有自带的坐标转换函数):
1、 创建一个C#脚本,命名为Brush;
2、 在Update中写入Vector3 Pos = Camera.main.ScreenToWorldPoint (Input.mousePosition);
transform.position = Pos;
3、 保存脚本,之后脚本拖给游戏对象Brush,保存Scene命名为Brush,之后按播放键进行测试;
4、 测试发现结果Brush的Position为(0,1,-10),原因是摄像机的投射方式没有改变,把摄像机的投射方式改为orthographic,之后测试;
5、 现在发现可以在Scene中看到移动轨迹但是再Game视图中无法看见,查看Brush的坐标可以看出原因是:游戏对象Brush的z轴坐标和Main Camera的z轴左边一样,所以Game视图中无法看到,现在添加代码: Pos.z = 0;
测试发现我们可以看到拖尾效果(如图):
6、 之后添加鼠标左键按钮控制,代码为:
if (Input.GetMouseButton (0)) {
transform.position = Pos;
}
测试发现我们实现了,点击鼠标左键画画的功能,但是不能分开画;
时间问题,所以这节我只能写到这里,希望大家继续关注我的博客,我会定期更新博客。
- 【Unity】开发日志3——拖尾渲染 Trial Renderer
- 【Unity】开发日志4——拖尾渲染 Trial Renderer
- 【Unity】开发日志5——线性渲染 Line Renderer
- unity之mesh renderer网格渲染器
- ArcGIS Engine开发教程之图层符号化(四)——符号化之Renderer( 渲染)体系
- ArcGIS Engine开发教程之图层符号化(四)——符号化之Renderer( 渲染)体系
- ArcGIS Engine开发教程之图层符号化(四)——符号化之Renderer( 渲染)体系
- HoloLens开发——利用Unity WWW访问图片并将贴图付给cube Renderer
- Renderer (专门用于渲染3D 的接口 Renderer )()
- unity 中Trail Renderer拖尾的实现
- Unity之Renderer组件
- 【Unity】开发日志1——画笔 The Printer
- 【Unity】开发日志2——画笔 The Printer
- ProcessMaker 3 Workflow & BPM Documentation——Enterprise Trial Guide
- 【Unity Shader入门精要】— 渲染流水线
- Cloth Renderer 布料渲染器
- Apophysis作品——茧渲染日志
- Apophysis作品——鸟巢渲染日志
- Android get/ post 方法 传递网络数据 -简单的翻译功能实现(GET)
- 反射
- 关系数据库~SQL server
- Spring3- Spring AOP——自动创建Proxy
- ArcGIS多个面合并再后拆散
- 【Unity】开发日志3——拖尾渲染 Trial Renderer
- 在Mac上关于tomcat服务器的安装、配置、启动、部署web详细流程
- RuntimeException
- 在java中调用python方法
- null与undefined的区别
- C# UDP编程
- Hadoop之——MapReduce job的几种运行模式
- 【Unity】开发日志4——拖尾渲染 Trial Renderer
- python属性查找顺序