Camera代码相关
生活随笔
收集整理的這篇文章主要介紹了
Camera代码相关
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、重要的靜態成員
(1)獲取攝像機
// 主攝像機的獲取(場景中一定要有攝像機的tag是MainCamera,若有兩個隨意獲取其中一個,但一般不會有兩個)--->Camera.main.****
Camera.main.name// 獲取攝像機的數量
Camera.allCameraCount// 得到所有攝像機
Camera[] allCamera = Camera.allCameras;(2)渲染相關委托(c為Camera類型的參數)
// 攝像機剔除前(Occlusion Culling)處理的委托函數
Camera.onPreCull += (c) => {};// 攝像機渲染前處理的委托
Camera.onPreRender += (c) => {};// 攝像機渲染后處理的委托
Camera.onPostRender += (c) =>{};2、重要的成員
(1)Inpector界面上的參數,都可以在Camera中獲取到
// 比如下面這句代碼就是得到主攝像機對象上的深度進行設置
Camera.main.depth(2)世界坐標轉屏幕坐標
// 轉換過后,x和y對應的就是屏幕坐標,z對應的是這個3D物體離攝像機有多遠
// 實際應用:頭頂血條相關的功能
Vector3 v = Camera.main.WordToScreenPoint(this.transform.position);(3)屏幕坐標轉世界坐標
要改變z軸,否則z默認為0,轉換過去的世界坐標系的點永遠都是一個點,可以理解為視口相交的焦點,如果改變了z,那么轉換過去的世界坐標系的點就是相對于攝像機前方多少個單位的橫截面上的世界坐標點
Camera.main.ScreenToWorldPoint(Input.mousePosition)
eg:
那么可以發現obj物體會在離攝像機10個單位的橫截面上隨鼠標移動
總結
以上是生活随笔為你收集整理的Camera代码相关的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学生信息管理系统删除最后一条记录报错30
- 下一篇: 数组实现 输入某年某月某日,判断这一天