您当前在:首页 > 开发者 >

浏览量

简单的Unity牧羊人游戏制作案例教程(二)

简单的Unity牧羊人游戏制作案例教程(二)

发布时间:2018-03-20

接着上面的项目之前我们已经把场景和dog预制体已经在场景里整理完毕

接下来我们处理羊的部分,characters文件夹里一共有三种羊,elvis sheep是年老的羊,normal sheep是正常的年轻的羊,年轻的羊会跟随年老的羊,例外一种是naked sheep 被剃完毛的羊。

接下来介绍一下原理,割毛机有两个碰撞区域,分别是入口和出口,如果羊在入口的碰撞区域会有一个动画被吸入割毛机里面去,然后割毛机出口会有一个被剃完毛羊的动画播放出来。

割毛机的状态机也有4个动画,turn on 打开吸入的动画,Active 剃完过程动画,之后turn off再把它关掉。

点击羊的预制体我们观察一下Inspector界面有什么组建,其实它的组件跟dog的组件差不多都有nav mesh agent自动寻路的组件,sheep这个脚本上多了一个follow target属性主要是跟随目标可以指定目标,flee target属性指定给dog这个物体,这个属性主要强调它怕什么物件。

羊的状态机简单介绍一下如果羊进入了割毛机的入口半圆体的碰撞取区,就会播放一个吸入的动画,在状态机下把normal sheep删掉,新生成一个Naked sheep 一个被割了毛的羊,割了毛的羊从割毛机出口有两个动画选择,一个是趴着,一个是滚着出来。

没有在碰撞区域的话可以点击loco motion 是正常行走的动画树

游戏模式转换成VR的模式,因为VR我们不需要摄像机跟随和把鼠标与准心跟随的组件所以我们把main camera上的脚本删掉,我们需要创建一个空物体作为上帝视角,现在hierarchy里面创建一个空物体,命名为PlayerBody,把main camera移入playerbody下面,因为我们需要摄像头与playerbody空物体完全重合,所以我们把main camera坐标完全重置归零。

如果我们要把牧羊人这个游戏项目做成手机的游戏的话,我们要给main camera添加两个脚本一个名为”Camera Editor Control”,主要是为了主要计算鼠标的位移数据然后计算镜头的位置移动,模拟人的头部移动感觉。另外一个名为”Player Mover”这个脚本有点像刚才捆绑跟随鼠标与准心的脚本。

What is Ground 这个属性是指定我们的射线射到哪个层哪个layer上面,这个场景下面我们需要射线在射击到地面上所以我们需要给地面添加一个Ground的layer。

主要的作用我们要用准心瞄准移动,所以要从眼镜发出射线。这个脚本上有一个属性就是”Reticle”这个我们需要把我们的准心拖给它,但你会发现拖不上去,因为我么还需要一步就是要给准心Cusor上添加一个脚本叫做”ReticuleMover”这个脚本主要负责移动准心把它移动到眼睛焦点看到的位置,这样就可以把Cursor拖给”Reticle”这个属性。

Camera editor control脚本,是我们要在电脑开发编辑下利用鼠标来控制使用,如果我们不做手机版的游戏而是做电脑版的话,可以把脚本里面#if !UNITY_EDITOR去掉。

Teleport effect这个属性我们可以添加一个粒子特效,因为现在的VR不能运行走的太远所以需要运行时可以点击空格进行移动传送,Teleport effect主要是增加效果。

如果我们用Oculus的话就不需要添加这个脚本,因为unity5已经集合几款这些投设眼镜,只需要安装Oculus runtime,插上就可以运行转向移动。

真个一个牧羊人的基本流程就算完成,这个项目也表现了个unity各个方位的的技术与使用。

0

刚刚发布

深度VR观察

友情链接

Top ->