查看: 916|回复: 1
打印 上一主题 下一主题

[其他] 摄像机穿墙时自动缩小距离

[复制链接]

2722

主题

42

听众

3万

积分

资深设计师

Rank: 7Rank: 7Rank: 7

纳金币
38268
精华
111

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2014-8-31 01:21:38 |只看该作者 |倒序浏览

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;

            }

        }

}



}

分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

hyui    

1

主题

2

听众

6671

积分

高级设计师

Rank: 6Rank: 6

纳金币
2715
精华
0

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

沙发
发表于 2014-9-1 04:35:44 |只看该作者
感谢分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2024-9-20 14:32 , Processed in 0.085969 second(s), 32 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部