SCNCamera相機(jī)是用于顯示場(chǎng)景內(nèi)容必須的節(jié)點(diǎn), 需要把相機(jī)加到節(jié)點(diǎn)之上, 再把節(jié)點(diǎn)加到根節(jié)點(diǎn)上.
SCNNode包含相機(jī)物體觀察視野的觀察點(diǎn), 即相機(jī)的位置和方向. 相機(jī)的視角始終沿著節(jié)點(diǎn)的局部坐標(biāo)系的負(fù)Z軸, 要在不同的場(chǎng)景指定不同的相機(jī)的視野, 使用position, rotation, transfrom來(lái)設(shè)置.
相機(jī)有兩種類型透視(perspective)和正交(orthographic)
透視相機(jī): 游戲中經(jīng)常使用第一視角的相機(jī), 會(huì)有一種近大遠(yuǎn)小的感覺(jué)
正交投影: 投影線垂直于投影面的投影屬于正交投影 俯萌,屬于平行投影一種膝晾÷榫鳎靠近和遠(yuǎn)離, 物體大小都是相同的
基于[SceneKit]場(chǎng)景編輯器(三)](http://www.reibang.com/p/800fc94f9c10)中的例子, 看下相機(jī)的效果.
注意: 這里面有一個(gè)xcode的小bug(準(zhǔn)確的來(lái)說(shuō)我是不清楚這是xcode的bug還是我自己配置的文件有問(wèn)題), 新建工程, 默認(rèn)的scn文件是名稱是ship, 如果你此時(shí)把這個(gè)ship.scn文件刪除, 之后再新建一個(gè)ship.scn的文件, 拖進(jìn)場(chǎng)景的控件就不顯示形狀, 拿相機(jī)來(lái)舉個(gè)例子
正常的情況下我們看到的場(chǎng)景中的相機(jī)應(yīng)該是這個(gè)樣子的
但是在ship.scn場(chǎng)景中卻顯示成這樣
只有一個(gè)3D坐標(biāo), 這樣很不利于我們觀察效果.
解決辦法, 那就是新建scn文件時(shí)不要使用ship.scn文件名, 改成其他的名稱就不會(huì)出現(xiàn)這個(gè)問(wèn)題了, 這個(gè)問(wèn)題困擾了一天, 自己也是無(wú)意中找到解決辦法的, 坑死我了.
現(xiàn)在刪除基于[SceneKit]場(chǎng)景編輯器(三)](http://www.reibang.com/p/800fc94f9c10)中的例子中的ship.scn文件, 新建一個(gè)game.scn文件. 然后拖進(jìn)一個(gè)box和一個(gè)相機(jī)
設(shè)置box的position為0,0,0; diffuse為FF0000;
然后在拖進(jìn)一個(gè)camera
適當(dāng)?shù)恼{(diào)整相機(jī)的位置
從相機(jī)發(fā)射出來(lái)的線表示的是相機(jī)的視野
右側(cè)有很多關(guān)羽相機(jī)的屬性, 修改某個(gè)值, 立馬能看到效果, 這點(diǎn)很好, 減少了運(yùn)行工程的次數(shù), 節(jié)省的不少時(shí)間, 蘋果可這是很貼心呀.