zoukankan      html  css  js  c++  java
  • Unity Camera

    透视相机

    Field of View:

    //设置FOV Axis=Vertical时,fieldOfView的值为45f。
    m_camera.fieldOfView=45f;//m_camera.fieldOfView 永远指的都是竖直方向上展开角度(水平方向的展开角度是根据camera.aspect计算出来的)
    //设置FOV Axis=Horizontal时,fieldOfView的值为45f。
    m_camera.fieldOfView=2f*Mathf.Atan(Mathf.Tan(45f*Mathf.Deg2Rad*0.5f)/m_camera.aspect)*Mathf.Rad2Deg;
    

    设置相机剪裁面的宽高比:

    m_camera.aspect=640f/960f;
    

    设置一个透视相机始终看向目标,且不管相机距离物体多远,物体宽度都能占满屏幕的宽。

    float distance=100f;   //相机到物体的距离
    float objectWidth=50f; //物体的宽
    float slope=(objectWidth*0.5f)/distance;//物体一半宽/距离
    m_camera.fieldOfView=2f*Mathf.Atan(slope/m_camera.aspect)*Mathf.Rad2Deg;
    

    计算指定距离相机剪裁面的宽高:

    float distance=20f;//剪裁面的距离
    float halfFOV=(m_camera.fieldOfView*0.5f)*Mathf.Deg2Rad;
    float height=distance*Mathf.Tan(halfFOV);
    float width=height*m_camera.aspect;
    
    正交相机

    如:相机的大小为800x480,要使相机适应800x480像素的图,则
      Size = 相机高/2/像素单位
         = 480/2/100
         = 2.4
    (屏幕的宽高比Aspect Ratio = frac{屏幕宽度}{屏幕高度})
    (frac{摄像机实际宽度}{摄像机实际高度}=frac{摄像机实际宽度}{摄像机orthographicSize imes 2}=frac{屏幕宽度}{屏幕高度})

  • 相关阅读:
    三、录制脚本Badboy录制脚本1
    三、录制脚本术语
    二、搭建Jmeter环境以及环境变量
    三、录制脚本Jmeter录制脚本2
    一、JMeter相关术语
    MySQL存储引擎
    创建线程CreateThread()
    关于category
    关于异常
    UIView和UIWindow
  • 原文地址:https://www.cnblogs.com/kingBook/p/13658009.html
Copyright © 2011-2022 走看看