zoukankan      html  css  js  c++  java
  • 新年第一篇 之 (摄像机可视区域)

    有一段时间没上博客了,今天说下 摄像机 可视区域,一般用这个的,都是为了 固定范围,或者让不可视地方 删除,提高性能。

    之前雨凇有一篇 perspective 可视区域的代码。

    我再补充一个 Orthographic 可视区域的。

    先看 动态效果图

    开头是 雨凇的  之后是  我的。慢慢看

    然后就是 上代码

    using UnityEngine;
    using System.Collections;
    
    public class Cameras : MonoBehaviour
    { 
        public GameObject mainCamera;
        float frustumHeight;
        float frustumWidth;
        void Start()
        {
        }
        void Update()
        {
            frustumHeight = mainCamera.GetComponent<Camera>().orthographicSize * 2;
            frustumWidth = frustumHeight * mainCamera.GetComponent<Camera>().aspect;
    
            Vector3 camerass = mainCamera.transform.position;
            Vector3 leftup = new Vector3(camerass.x - frustumWidth / 2.0f, camerass.y + frustumHeight / 2.0f, 100);
    
            Vector3 rigthup = new Vector3(camerass.x + frustumWidth / 2.0f, camerass.y + frustumHeight / 2.0f, 100);
    
            Vector3 leftdown = new Vector3(camerass.x - frustumWidth / 2.0f, camerass.y - frustumHeight / 2.0f, 100);
            Vector3 rigthdown = new Vector3(camerass.x + frustumWidth / 2.0f, camerass.y - frustumHeight / 2.0f, 100);
    
            Debug.DrawLine(leftup, rigthup, Color.yellow); // UpperLeft -> UpperRight
            Debug.DrawLine(rigthup, rigthdown, Color.yellow);
            Debug.DrawLine(rigthdown, leftdown, Color.yellow);
            Debug.DrawLine(leftdown, leftup, Color.yellow);
        }
    }
    

      

  • 相关阅读:
    Npm 被公司墙解决方法
    使用Docker开发NodeJs APP
    如何利用Require.Js管理多页面站点文件(译)
    Swift语言指南(十)--字符串与字符
    Swift语言指南(九)--基本运算符
    Swift语言指南(八)--语言基础之元组
    Swift语言指南(七)--语言基础之布尔值和类型别名
    web 开发入门
    JDBC的操作总结
    JDBC连接数据库
  • 原文地址:https://www.cnblogs.com/big-zhou/p/6273188.html
Copyright © 2011-2022 走看看