纳金网

标题: 摄像机穿墙时自动缩小距离 [打印本页]

作者: 狂风大尉    时间: 2014-8-31 01:21
标题: 摄像机穿墙时自动缩小距离

class SoldierCamera : MonoBehaviour

{

private Transform target;

private Transform camTransform;

public LayerMask hitLayer;

private Vector3 cPos;

public float normalDistance;

private float targetDistance;

private Vector3 camDir;

  

void Start ()

{

}

  

void LateUpdate ()

{

  CameraMovement();

}



void CameraMovement()

{

        camDir = (camTransform.position - target.position).normalized;

        cPos = target.position;

        targetDistance = Vector3.Distance(camTransform.position,target.position);

  

  RaycastHit hit;

        if (Physics.Raycast(cPos, camDir, out hit, targetDistance + 0.2f, hitLayer))

        {

            float t = hit.distance - 0.1f;

            camTransform.position = t * camDir + cPos;

        }

        else {

            if (targetDistance != normalDistance) {

                float t = Mathf.Lerp(targetDistance,normalDistance,Time.deltaTime * 15);

                camTransform.position = t * camDir + cPos;

            }

        }

}



}


作者: hyui    时间: 2014-9-1 04:35
感谢分享!




欢迎光临 纳金网 (http://course.narkii.com/club/) Powered by Discuz! X2.5