如何使用unity制作雷达探测目标效果动画
如何使用unity制作雷达探测目标效果动画
如何用unity制作动画或者可以展示的软件
因为如今许多制作软件的引擎,虚幻,unity,寒霜等,unity更加便捷。
在官网www.unity3D.com下载软件,版本最好5.0以上或者2017,2017支持最新的timeline动画,个人用有personal版免费下载。
安装好并且注册账号登录即可使用
有一些历史工程,也可以点击new新建工程
新建名称可以开始进入里面进行编辑
具体的工作界面就是这样,详细的操作可以在b站搜索视频学习,此处简单介绍功能。
File:文件的操作
Edit:正常的复制粘贴删除等设置
Assets:素材,可以导入现有的素材
Gameproject:插入一些对象
Component:一些常用的组件,给对象赋予一些性质,让它有材质
Window:功能的管理,例如场景,素材,状态机等
Help:帮助
我们所有的场景都是在一个sence下进行的,里面还有一个camera和一个light,我们给场景里添加物体,光源照明并通过camera由我们观察。
先作学习,有一定的基础后,我们开始讲解制作的这个检测展示软件的制作流程。
1.首先我们的素材可以在Asset store寻找并且导入的,根据我们的任务目标,在场景里添加earth,还有围绕earth旋转的导弹missile,以及雷达的检测范围protect,前两个调整好位置,后一个用sphere 添加即可,设置成透明。
2.第二,给添加的物体增加属性,earth无需碰撞,不用添加属性材质
导弹missile要与protect碰撞检测,需要碰撞体
可以在component里给他添加sphere colider,这样就能与其他进行碰撞检测,line renderer是划线的组件,script是控制运动的脚本,用c#在vs中编辑的,后续会讲。
检测范围Protect
同样需要sphere colider进行碰撞,也需要添加line renderer和script
还有一点区别就是,只增加colider不会触发碰撞,给导弹missile增加charactor contoller就行了。
3.添加完组件后,可以开始编辑脚本了,因为unity和vs兼容,新建一个script可以在vs中打开编译。所有的脚本都是一个封装好的对象,
Update中是更新的程序,在class中也可以声明其他私有或者公有的变量,公有声明时可以在unity中直接将对象拖入进去即可。首先earth只需要自转即可,我们命名为rotateself
定义一个速度为1.0,vector3表示三维向量里的第几个量进行变化,transform表示改变后的角度,随着速度和时间进行改变,即可表示旋转。在前面添加了一个功能,bool了一个量,在接收keycode键盘p按键时改变bool,使得time流逝速度为0,即可暂停运行。
对于missile和protect都是公转,
同样的设置暂停,并且设置公转的围绕对象为公有,为target,这样在unity上可以选择对象,拖入进去就行了。(参考前面的图)
上面的是碰撞检测,如果导弹在碰撞后的物体名称为protect,运行line函数
将earth的位置与fly的位置相连接,earthpos与flypos两个点可以另外设置,具体可以在新场景里尝试练习,练习line函数的编辑,可以自己慢慢思考整个逻辑,然后用c编辑。我们在此处实现的逻辑就是,protect点和missile点相连即可,这样能实现检测的一种效果。
4.导弹上预先放置一个text的文本
但是可以预先将warning旁边的勾取消,让它隐藏起来,碰撞后进行显示,这样可以得到一种跟随的效果
脚本里只需要写上,text.SetActive(true),text.SetActive(false)分别对应导弹在protect中飞行时,我们就是ontriggerstay,导弹飞出protect后就是ontriggerexit。对应这连个函数。
这样就能大概完成整个程序的逻辑。
导弹尾巴的轨迹效果在component组件里添加trail renderer就行了
后面是运行的效果图
对unity感兴趣的同学可以关注一下,同时也是使用unity和雷达探测相结合,后面还有一个使用unity制作雷达探测范围的模拟。
这个程序所有的资源下载链接:下载地址