zoukankan      html  css  js  c++  java
  • 角色控制器 Character Controller

    Unity中,1个单位尺寸代表1米。即在Unity中创建一个Cube的尺寸是1x1x1米大小。

    Unity推荐把人的身高定为大约2个Unity单位高度(2米)。

    为了截取角色的全身照,需要把角色Instantiate到指定位置,但是角色大小不一,可能相机原先设定的orthographicSize不足以看到角色的全身,

    (一)根据角色的真实高度调整相机的orthographicSize

                CharacterController controller = obj.GetComponent<CharacterController>();
          float h = controller.height;
          float scaleY = obj.transform.localScale.y;
    
          float multiNum = h * scaleY;  //物体在世界中的真实高度
                showCamera.aspect = 1;
          showCamera.orthographicSize = multiNum / 2 + 0.06f; 

    相机的orthographicSize为在正交模式下相机的一半尺寸。

    controller.height×obj.transform.localScale.y 为角色物体在Unity中的真实高度。

    (二)固定相机的orthographicSize,改变角色的大小

               CharacterController controller = obj.GetComponent<CharacterController>();
          float h = controller.height;
          float scaleY = obj.transform.localScale.y;
          float multiNum = 1.5f / h / scaleY;
          obj.transform.localScale = new Vector3(obj.transform.localScale.x * multiNum, obj.transform.localScale.y * multiNum, obj.transform.localScale.z * multiNum);

    相机中可容纳角色的高度为1.5。

  • 相关阅读:
    H5 WebSocket
    JS call()、apply()、bind()
    JS中this指向问题
    JS GET POST请求
    php 常用get post http请求
    php 开启redis
    egret接入华为快应用6004
    PHP生成公私钥,签名和验签
    JS数组去重
    Oracle第九课
  • 原文地址:https://www.cnblogs.com/martianzone/p/3287737.html
Copyright © 2011-2022 走看看