关于制作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的主要内容,如果未能解决你的问题,请参考以下文章

关于制作Stealth秘密行动的小问题1

关于制作Stealth秘密行动的小问题1

关于制作Stealth的小问题3

关于制作Stealth的小问题3

关于制作网页时乱码的问题详解

Stealth潜行风格游戏源码(Unity5x)