Camera
✨学习阶段我会不断的更新新的内容,文章如有误请指正,如果觉得对你有用,请点赞收藏关注一波,谢谢支持😘
Camera
变量
公共函数
| 函数名 | 作用 |
|---|
| ResetAspect | 将宽高比还原为屏幕宽高比。 |
| renderMode 简单用法 | 该 Canvas 处于世界模式还是覆盖模式? |
| ScreenPointToRay | 返回从摄像机通过屏幕点的光线。 |
| ViewportPointToRay | 返回从摄像机通过视口点的光线。 |
| ScreenToViewportPoint | 将 position 从屏幕空间变换为视口空间。 |
| ScreenToWorldPoint | 将点从屏幕空间变换为世界空间。其中,世界空间定义为位于游戏层级视图最顶层的坐标系统。 |
| ViewportToScreenPoint | 将 position 从视口空间变换为屏幕空间。 |
| ViewportToWorldPoint | 将 position 从视口空间变换为世界空间。 |
| WorldToScreenPoint | 将 position 从世界空间变换为屏幕空间。 |
| WorldToViewportPoint | 将 position 从世界空间变换为视口空间。 |
静态函数
| 静态函数 | 作用 |
|---|
| FindObjectsOfType | 返回所有类型为 type 的已加载的激活对象的列表。 |
代码演示:\
public class Example : MonoBehaviour
{
//枚举
enum RenderModeStates { camera, overlay, world };
RenderModeStates m_RenderModeStates;
//相机组件
Canvas m_Canvas;
void Start()
{
m_Canvas = GetComponent<Canvas>();
}
void Update()
{
//Press the space key to switch between render mode states
if (Input.GetKeyDown(KeyCode.Space))
{
ChangeState();
}
}
使用switch判断
void ChangeState()
{
switch (m_RenderModeStates)
{
case RenderModeStates.camera:
m_Canvas.renderMode = RenderMode.ScreenSpaceCamera;
m_RenderModeStates = RenderModeStates.overlay;
break;
case RenderModeStates.overlay:
m_Canvas.renderMode = RenderMode.ScreenSpaceOverlay;
m_RenderModeStates = RenderModeStates.world;
break;
case RenderModeStates.world:
m_Canvas.renderMode = RenderMode.WorldSpace;
m_RenderModeStates = RenderModeStates.camera;
break;
}
}
}
