AR 恐龙博物馆三(萌宠小恐成长日记之摸爬滚打)
来源:互联网 发布:php curl 跳转页面 编辑:程序博客网 时间:2024/04/30 13:59
游戏下载地址:http://download.csdn.net/detail/nicolelili1/9907607
1、需要在英文输入法下运行,摄像头需要由上向下倾斜
2、设置分辨率的按键
Y:设置分辨率为3840x1160
I:设置分辨率为1600x1024
O:设置分辨率为1600x900
P:设置分辨率为1366x768
K:设置分辨率为1280x960
L:设置分辨率为1280x800
3、退出程序的按键
Esc:键退出程序
4、使用方法
程序运行后,恐龙在屏幕中,运行待机动画
R:恐龙尖叫
X:恐龙低头到处闻
C:恐龙低头吃东西
E:向左转
Q:向右转
WASD:恐龙前后左右转动
播放的动画结束后继续进入到待机动画
1、
2、添加行走、吃东西、问东西之间的动画
①从Any State向Smell和Eating动画分别连两根线,说明可以从任意状态切换到这两个动画。再从这两个动画分别连线到blend Tree,说明闻东西和吃东西动画执行结束后会到iddle空闲动画。
②在Parameters下创建两个Trigger分别为Eat和Smell用来控制吃和闻
③将从Any State上到动画间的transition取消勾选Has Exit Time,表示任何时候都可以切换到吃喝闻的动画
④吃喝闻动画到Blend Tree之间的transition选中Has Exit Time,表示动画播放完成之后才可以进入到iddle动画
⑤添加吃东西和闻东西之间的触发器
⑥写C#脚本
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Anim_Manager : MonoBehaviour { public Animator V_Ani; public GameObject V_Obj;void Start () {}void Update () { //按下C键吃东西 if (Input.GetKey(KeyCode.C)) { V_Ani.SetTrigger("Eat"); } //按下X键闻东西 if (Input.GetKey(KeyCode.X)) { V_Ani.SetTrigger("Smell"); } //将按下W、S键的参数值赋给这个参数FB V_Ani.SetFloat("FB",Input.GetAxis("Vertical")); //默认是WS键 V_Ani.SetFloat("LR", Input.GetAxis("Horizontal")); //默认是AD键 //上下平移的速度 float translationFB = Input.GetAxis("Vertical") * 0.1f; //左右平移的速度 float translationLR = Input.GetAxis("Horizontal") * 0.1f; //恐龙行走的位移 V_Obj.transform.Translate(translationLR, 0, translationFB); }}⑦分别给RaptorAnimated添加Animator Controller和空物体Manager添加Script脚本Anim_Manager
⑧运行后
待机状态
按下W键向前走
按下A键向左走
按下S键向后走
按下D键向右走
按下C键吃东西
按下X键闻东西
3、添加尖叫
①添加遮罩层
②创建遮罩层
在Layer标签页点击“+”,添加一个层并且重命名为“Mask”
创建一个空的动画,放在一进来就开始尖叫
点击Mask层的设置按钮,将Weight设置为1,将Blending设置为Additive
添加从任意状态可以切换到尖叫的动画,尖叫动画执行完毕后退出
在Parameters标签页添加一个布尔值Bark用来控制尖叫动画,在Any State到Bark动画之间的Conditions添加动画触发器Bark
Base Layer的Bleding要设置为Override
③创建骨骼只控制头部
在Project视图创建一个骨骼重命名为HeadMask
点开Transform,给Use skeleton from设置为RatorAnimatedAvatar(恐龙的骨骼),然后点击Import skeleton,导入恐龙的所有骨骼
取消除控制头部和脖子外的其它所有的骨骼
在遮罩层中把骨骼遮罩添加进来
④添加触发尖叫动画的代码
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Anim_Manager : MonoBehaviour { public Animator V_Ani; public GameObject V_Obj;void Start () {} void Update() { //按下C键吃东西 if (Input.GetKey(KeyCode.C)) { V_Ani.SetTrigger("Eat"); } //按下X键闻东西 if (Input.GetKey(KeyCode.X)) { V_Ani.SetTrigger("Smell"); } //只有在行走动画的时候才有位移,解决同时按下R键才可以进行尖叫,解决闻东西、吃东西时同时尖叫的bug if (V_Ani.GetCurrentAnimatorStateInfo(0).IsName("Blend Tree")){ //按下R键尖叫 if (Input.GetKey(KeyCode.R)) { V_Ani.SetTrigger("Bark"); } } //将按下W、S键的参数值赋给这个参数FB V_Ani.SetFloat("FB",Input.GetAxis("Vertical")); //默认是WS键 V_Ani.SetFloat("LR", Input.GetAxis("Horizontal")); //默认是AD键 //只有在行走动画的时候才有位移,解决同时按下C键和W、A、S、D任意一键时出现的边吃东西四肢不动但是有位移滑行的bug if (V_Ani.GetCurrentAnimatorStateInfo(0).IsName("Blend Tree")) { //上下平移的速度 float translationFB = Input.GetAxis("Vertical") * 0.1f; //左右平移的速度 float translationLR = Input.GetAxis("Horizontal") * 0.1f; //恐龙行走的位移 V_Obj.transform.Translate(translationLR, 0, translationFB); } }}
⑤运行后按R键运行尖叫动画
行走过程中也可尖叫
按下C键恐龙吃东西
注:参考资料:http://edu.manew.com/course/216/learn#lesson/3173
- AR 恐龙博物馆三(萌宠小恐成长日记之摸爬滚打)
- AR恐龙博物馆二(萌宠小恐成长日记之嗷嗷待哺)
- AR 恐龙博物馆三(萌宠小恐成长日记之蹒跚学步)
- AR 恐龙博物馆四(萌宠小恐成长日记之咿呀学语)
- AR 恐龙博物馆一(我的家族又添新成员,新萌宠诞生)
- 恐龙技术生存体验(三 眼花缭乱)
- AR学习日记(1)
- 成长日记(1)
- 大白话之------------JavaScript成长日记
- 坑之六 成长日记I(上) 平坑
- 坑之六 成长日记I(下) 平坑
- 坑之七 成长日记II(1)
- 坑之七 成长日记II (2)
- 坑之七 成长日记II(3)
- java成长之路(三)---数组
- 个人成长日记(一)
- 中国航空博物馆之行
- 博兴博物馆之行
- java多线程之间通信
- 用tarjan求割点
- 条件编译与extern "C"
- CodeForces
- 使用Github DeskTop提交代码到github(超简便,不需要git指令)
- AR 恐龙博物馆三(萌宠小恐成长日记之摸爬滚打)
- 图像处理(1)直方图均衡
- 【扫雷】编写一个小游戏--扫雷的c语言实现
- Android_视频播放
- java线程池使用详解
- 自定义输入框清空按钮
- Vue 折腾记
- CodeIgniter框架源码学习之框架入口文件--index.php
- lnmap实战之负载均衡架构+高可用keepalived