关于制作Stealth的小问题2
Posted Akuyi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于制作Stealth的小问题2相关的知识,希望对你有一定的参考价值。
1.Player移动时会进行穿墙:
取消勾选Rigidbody上的IsKinemetic选项(勾选IsKinemetic后位置由Transform管,rigidbody不再控制角色位置)
2.防止角色在停止控制后有的时候会继续不停旋转
将角色的Freeze Rotation: y勾选即可
拐弯的时候只会往顺时针方向绕,不会就近转向:(解决代码)
Vector3 targetDir = new Vector3(h, 0, v);
Quaternion targetDirQuaternion = Quaternion.LookRotation(targetDir);//此处可以变成(targetDir,Vector3.up)
transform.rotation = Quaternion.Slerp(transform.rotation, targetDirQuaternion, Time.deltaTime * rotateSpeed);
3.角色从待机状态到运动状态用时较长(需按移动键一秒以上):
在Animator中把转换条件Inspector中的Has Exit Time取消勾选(取消勾选后动作无缝衔接)
4.动画播放速度慢:
调节Inspector中的Speed即可
5.关闭激光(更换机器图片材质):由于版本不同,不能直接使用siki教程里的脚本,因此更改脚本为:
void OnTriggerStay(Collider other)
{
if (other.tag == Tags.player)
{
if (Input.GetKeyDown(KeyCode.Z))
{
laser.SetActive(false);
audio.Play();
transform.Find("prop_switchUnit_screen").GetComponent<MeshRenderer>().material = unlockMat;
}
}
}
以上是关于关于制作Stealth的小问题2的主要内容,如果未能解决你的问题,请参考以下文章