2011届湖北汽车工业学院毕业设计(论文)
{ if (haveShoot == false) {
float damage = minDamage + 50 - 5 * (transform.position - health.transform.position).magnitude; health.TakeDamage(damage); haveShoot = true; } }
9.把机器人做成预制,在合适位置添加机器人,设置锚点,并赋值给机器人对应脚本,在电梯前设置2个不移动的守门机器人,设置其有高额伤害。
4.3 摄像机设计
添加一个脚本控制摄像机对主角的跟随。首先需要摆放相机到一个合适的位置方便录制游戏中可以看到的视野,然后初始化相机的开始位置为主角的位置加上相机开始相对于主角的偏移量,记录主角的正上方与摄像机等高的位置信息,在相机开始位置和主角正上方之间设置几个点将两位置之间的距离等分,从开始位置开始,依次从几个点的位置让相机向主角发射射线检测,如果能够检测到主角表明主角在摄像机范围内,记录该位置,如果检测不到就移动到下一个点的位置重复执行此操作,直到主角出现在相机的视野范围内,然后平滑的移动到该点,将相机朝向主角。
void Update() {
//相机开始位置
Vector3 beginPos = player.position + offset; //主角正上方
Vector3 endPos = player.position + offset.magnitude * Vector3.up; //两个位置四分之一处
Vector3 pos1 = Vector3.Lerp(beginPos, endPos, 0.25f); Vector3 pos2 = Vector3.Lerp(beginPos, endPos, 0.5f); Vector3 pos3 = Vector3.Lerp(beginPos, endPos, 0.75f);
Vector3[] posArray = new Vector3[] { beginPos, pos1, pos2, pos3, endPos }; Vector3 targetPos = posArray[0]; //遍历每个角度,直到找到主角为止 for (int i = 0; i < 5; i++) {
RaycastHit hitInfo;
if (Physics.Raycast(posArray[i], player.position - posArray[i], out hitInfo)) {
if (hitInfo.collider.tag != Tags.player) {
continue; } else {
targetPos = posArray[i]; break; } } else {
targetPos = posArray[i]; break;
28
2011届湖北汽车工业学院毕业设计(论文)
} }
this.transform.position = Vector3.Lerp(transform.position, targetPos, Time.deltaTime * moveSpeed);
//朝向主角
Quaternion nowRotation = transform.rotation; transform.LookAt(player.position); transform.rotation=
Quaternion.Lerp(nowRotation,transform.rotation,Time.deltaTime*rotateSpeed); }
4.4 游戏控制
(1)背景音乐:通过两个AudioSource组件控制背景音乐的播放。
1.添加一个脚本控制游戏的运行。此脚本用来控制整个游戏的逻辑,实时更新背景
音乐,当满足警报声的条件时,将初始背景音乐的音量平滑的调节到0,将警报音乐的音量平滑的移动到0.5,如果解除警报就反过来调节。为了防止导航存在的不足导致的BUG设置两个看守机器人,不给看守机器人添加移动脚本,当所有开关关闭后会实现看守机器人的销毁,设置按下ESC键可以弹出返回主界面菜单,设置两个函数分别用来控制不同场景的加载,实现重新开始游戏或者返回主菜单。分别设置几个函数实现警报的播放,警报的停止,发现主角,影藏面板,然后把这个脚本做成单例模式,方便其它脚本的访问。
(2)灯光控制:通过脚本用来控制报警的时候的灯光变化,当警报声响起的时候,平滑的调节平行光的光照强度至期望达到的最强强度,当达到最强强度后再返回至0,如此反复执行可以实现整个背景警报的忽明忽暗。当警报声解除的时候,就调节警报灯光的强度为0恢复正常背景光。
4.4.3 UI界面
和主界面设置方法类似,通过image、slider、text、button、panel组件的组合操作做成下图所示即可。
29
2011届湖北汽车工业学院毕业设计(论文)
4.24 运行游戏界面 4.25
按ESC出现面板
30
2011届湖北汽车工业学院毕业设计(论文)
第五章 游戏测试
5.1测试环境
打包过程,PC环境:CPU,硬盘,操作系统进行测试
5.2游戏开始界面
文字描述一些,可以和前面章节重复
5.1 主界面运行图 5.2
声音界面运行图
31

