日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

mysql象限和投影_Camera类之orthographic-摄像机投影模式(第100篇随笔)

發布時間:2025/4/16 74 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql象限和投影_Camera类之orthographic-摄像机投影模式(第100篇随笔) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章是我的第一百篇隨筆,算是一個里程碑吧。本科的時候就曾在CSDN上注冊了一個博客,但是一直沒有堅持下來去寫一些東西。研一上學期又在博客園上注冊了博客,很值得自豪,能夠堅持下來,將自己的學習心得、解題思路、生活情感在此分享。因為博客園主要分享的是技術文章,所以有關于個人情感的就很少寫了。好吧,開始正題了。

攝像機主要有兩種投影模式,一種是正交投影,一種是透視投影。

所謂投影就是將三維空間中的物體投影到二維平面上,例如在現實世界中攝像機拍攝物體,是由物體表面反射的光線經過凸透鏡聚到感光元件CCD單元上產生的。這就是把三維空間投影到二維空間的過程。

所謂正交投影,只考慮所有三維空間中的點的X和Y坐標,所有點映射到XY平面上。如果點(x,y,z)映射到點(x',y'),那么x = x',y = y'。每一個二維眼空間中的點都是和z軸是平行的直線在觀察平面上的投影。所以正交投影又叫平行投影。正交投影可以把場景中所有的物體通過平行光線投影到觀察平面上。在正交投影中,不管物體離眼睛有多遠,它都和原來的物體大小相同。

所謂透視投影,每一個點都映射到三維眼空間的Z = 1的平面上,它是這個點和原點的連線與Z = 1平面的交點。二維眼空間中的每個點表示該點與三維眼空間的原點生成的直線。

如下圖所示:

在Unity中,Camera類的orthographic屬性就是用于設置和獲取當前攝像機的投影模式。其原型為:

public bool orthographic {get;set;}

若值為true則為正交投影,反之為透視投影。在正交投影模式下,物體在視口的大小只與正交視口的大小有關,與攝像機到物體的距離無關,主要用來呈現2D效果。在透視模式下,物體在是口重的大小與攝像機的視口夾角(fieldOfView)以及攝像機與物體的距離都有關系,有遠小近大的效果,主要用來呈現3D效果。

下面給出一個“小栗子”來模擬一下兩種投影模式。

usingUnityEngine;usingSystem.Collections;public classTestOrthogra: MonoBehaviour {publicTransform cb1;float len = 5.5f;//Use this for initialization

voidStart () {float[] distances = new float[32];

distances[8] =Vector3.Distance(transform.position, cb1.position);

camera.layerCullDistances=distances;

}//Update is called once per frame

voidUpdate () {//transform.Translate(transform.right * Time.deltaTime);

}voidOnGUI()

{if (GUI.Button(new Rect(10.0f, 10.0f, 120.0f, 45.0f), "正交投影"))

{

camera.orthographic= true;

len= 5.5f;

}if(GUI.Button(new Rect(150.0f,10.0f,120.0f,45.0f),"透視投影"))

{

camera.orthographic= false;

len= 60.0f;

}if(camera.orthographic)

{

len= GUI.HorizontalSlider(new Rect(10.0f, 60.0f, 300.0f, 45.0f), len, -20.0f, 20.0f);

camera.orthographicSize=len;

}else{

len= GUI.HorizontalSlider(new Rect(10.0f, 60.0f, 300.0f, 45.0f), len, 1.0f, 179.0f);

camera.fieldOfView=len;

}

GUI.Label(new Rect(320.0f, 60.0f, 120.0f, 45.0f), len.ToString());

}

}

將該腳步添加到場景中的攝像機即可,如下圖所示:

需要說明一點,在正交模式下物體沒有遠大近小的效果,并且Camera的OrthographicSize的大小也沒有限制。但是當orthographicSize為負數時視口的內容會顛倒。效果如下:

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的mysql象限和投影_Camera类之orthographic-摄像机投影模式(第100篇随笔)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。