AR 恐龙博物馆四(萌宠小恐成长日记之咿呀学语)
来源:互联网 发布:qq加好友软件 编辑:程序博客网 时间:2024/04/30 14:53
游戏下载地址: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:恐龙前后左右转动
播放的动画结束后继续进入到待机动画
一
2、将音频文件拖动到Assets中
二、使用第一种方法,在播放动画的函数中播放闻东西的声音
1、修改脚本文件的代码
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Anim_Manager : MonoBehaviour { public Animator V_Ani; //动画对象 public GameObject V_Obj; //恐龙对象 public AudioClip Smell_Clip; //闻东西的声音 public AudioClip Eate_Clip; //吃东西的声音void Start () {} void Update() { Eat(); Smell(); Bark(); TranslatePosition(); } private void Eat() { //按下C键吃东西 if (Input.GetKey(KeyCode.C)) { V_Ani.SetTrigger("Eat"); } } private void Smell() { //按下X键闻东西 if (Input.GetKey(KeyCode.X)) { V_Ani.SetTrigger("Smell"); //给声音源组件添加闻东西的声音文件 gameObject.GetComponent<AudioSource>().clip = Smell_Clip; //更改声音播放的速度 gameObject.GetComponent<AudioSource>().pitch = 1.5f; //播放声音源组件 gameObject.GetComponent<AudioSource>().Play(); } } private void Bark() { //只有在行走动画的时候才有位移,解决同时按下R键才可以进行尖叫,解决闻东西、吃东西时同时尖叫的bug if (V_Ani.GetCurrentAnimatorStateInfo(0).IsName("Blend Tree")) { //按下R键尖叫 if (Input.GetKey(KeyCode.R)) { V_Ani.SetTrigger("Bark"); } } } private void TranslatePosition() { //将按下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); } }}
2、将闻东西的声音源组件赋给变量,并添加Audio Source组件
3、运行后当低头闻东西的时候播放声音
三、添加吃东西的声音(使用第二种方法,设置一个播放声音的函数,在动画的播放轴上将声音添加进去)
1、创建一个C#脚本
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Audio_Ctrol : MonoBehaviour { public AudioClip Bark_Clip; // Use this for initialization void Start () {}// Update is called once per framevoid Update () {} public void Au_Bark() { //给声音源组件的音频设置为尖叫声音文件 gameObject.GetComponent<AudioSource>().clip = Bark_Clip; //更改声音播放的速度 gameObject.GetComponent<AudioSource>().pitch = 2.0f; //播放声音源组件 gameObject.GetComponent<AudioSource>().Play(); }}
2、添加上脚本,并给尖叫声音源赋上声音(必须添加到发出声音源的物体上,此例中是恐龙尖叫,必须添加到恐龙上,否则没有声音)
3、在Project视图中选中恐龙的.fbx文件,在Inspector视图中点击Animation标签
4、选择Bark动画
5、在Events处点击最左侧的按钮,添加事件,
6、把尖叫的函数名粘贴到Function处,在Object处添加函数所在的脚本,然后点击Apply
7、运行后按下R键尖叫的同时发出尖叫声,小恐终于学会说话了!!!
四、添加旋转,并将脚本添加到恐龙身上
1、脚本代码
using System.Collections;using System.Collections.Generic;using UnityEngine;public class Anim_Manager : MonoBehaviour { public Animator V_Ani; //动画对象 public GameObject V_Obj; //恐龙对象 public AudioClip Smell_Clip; //闻东西的声音 void Start () {} void Update() { Eat(); Smell(); Bark(); TranslatePosition(); Ro_Left(); Ro_Right(); } private void Eat() { //按下C键吃东西 if (Input.GetKey(KeyCode.C)) { V_Ani.SetTrigger("Eat"); } } private void Smell() { //按下X键闻东西 if (Input.GetKey(KeyCode.X)) { V_Ani.SetTrigger("Smell"); //给声音源组件添加闻东西的声音文件 gameObject.GetComponent<AudioSource>().clip = Smell_Clip; //更改声音播放的速度 gameObject.GetComponent<AudioSource>().pitch = 1.5f; //播放声音源组件 gameObject.GetComponent<AudioSource>().Play(); } } private void Bark() { //只有在行走动画的时候才有位移,解决同时按下R键才可以进行尖叫,解决闻东西、吃东西时同时尖叫的bug if (V_Ani.GetCurrentAnimatorStateInfo(0).IsName("Blend Tree")) { //按下R键尖叫 if (Input.GetKey(KeyCode.R)) { V_Ani.SetTrigger("Bark"); } } } private void TranslatePosition() { //将按下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); } } //向左旋转 void Ro_Left() { if (Input.GetKey(KeyCode.Q)) { transform.Rotate(0,-25*Time.deltaTime,0,Space.Self); } } //向右旋转 void Ro_Right() { if (Input.GetKey(KeyCode.E)) { transform.Rotate(0, 25 * Time.deltaTime, 0, Space.Self); } }}2、给物体添加脚本
3、运行后
初始位置
按下Q向左旋转
按下E向右旋转
这里有颗糖,过来吃糖
苦吗?谁让你嚼碎了吃的?一口吞就不苦了,外面的皮是甜的。好了,再给你颗糖吃,这个里外都是甜的。先闻一下,甜吗?
好了,吃吧,没骗你吧,真的是甜的
你这么小,快点长大吧,那样就不会被别人欺负了!
注:参考资料:http://edu.manew.com/course/216/learn#lesson/3259
- AR 恐龙博物馆四(萌宠小恐成长日记之咿呀学语)
- AR恐龙博物馆二(萌宠小恐成长日记之嗷嗷待哺)
- AR 恐龙博物馆三(萌宠小恐成长日记之摸爬滚打)
- AR 恐龙博物馆三(萌宠小恐成长日记之蹒跚学步)
- C#之咿呀学语(1)
- C#之咿呀学语(2)
- AR 恐龙博物馆一(我的家族又添新成员,新萌宠诞生)
- 【看日记学Git】之四
- 咿呀
- 恐龙技术生存体验(四 大开眼界)
- 学鳄鱼,不做恐龙! 学习鳄鱼的生存之道
- AR学习日记(1)
- 成长日记(1)
- 大白话之------------JavaScript成长日记
- 坑之六 成长日记I(上) 平坑
- 坑之六 成长日记I(下) 平坑
- 坑之七 成长日记II(1)
- 坑之七 成长日记II (2)
- java中构造方法和方法全面解析
- 关于在浏览器直接输入域名访问项目
- java刷新当前页面
- Integer面试问题
- 一、微服务与Spring Cloud
- AR 恐龙博物馆四(萌宠小恐成长日记之咿呀学语)
- 位图索引:原理(BitMap index)——浅显易懂
- C++ 中malloc函数详解(转载)
- osx 环境编译 sqlite-autoconf-3081002.zip
- 剑指Offer面试题37两个链表的第一个公共结点,面试题38数字在排序数组中出现的次数
- win7 按修改时间范围文件搜索
- Java中容器数据简单存储
- C++中引用符&详解
- Python之路,Day1