【Unity】开发日志3——拖尾渲染 Trial Renderer

【Unity】开发日志3——拖尾渲染  Trial Renderer

前言:

在之前用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;
        }

测试发现我们实现了,点击鼠标左键画画的功能,但是不能分开画;

 

 

时间问题,所以这节我只能写到这里,希望大家继续关注我的博客,我会找时间上传我的博客。

 

 

 

 

转载于:https://my.oschina.net/u/2501013/blog/735856

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值