說(shuō)明
本系列文章是對(duì)<3D Apple Games by Tutorials>一書(shū)的學(xué)習(xí)記錄和體會(huì)此書(shū)對(duì)應(yīng)的代碼地址
準(zhǔn)備工作SCNFloor
創(chuàng)建前需要做一些準(zhǔn)備工作,要?jiǎng)?chuàng)建一個(gè)可見(jiàn)的內(nèi)容來(lái)展示.比如用floor地板
floor node地板節(jié)點(diǎn)是有特殊特性的節(jié)點(diǎn).floor是一個(gè)向四方無(wú)限延伸的平面,無(wú)限大,而且還可以用做反射面.比如鏡子,水銀,水面.
拖動(dòng)一個(gè)floor到場(chǎng)景中,更改名稱(chēng)為Floor,設(shè)置位置等
- Identity(身份標(biāo)識(shí)):Name是惟一的,決定性的,這樣當(dāng)使用代碼就可以拿到該對(duì)象.
- Position(位置):決定節(jié)點(diǎn)的擺放位置,相對(duì)于父節(jié)點(diǎn).
- Euler Angles(歐拉角角度):決定節(jié)點(diǎn)相對(duì)于父節(jié)點(diǎn)的旋轉(zhuǎn).pitch(俯仰), yaw(偏航) 和 roll(滾轉(zhuǎn)).
- Scale(縮放比例):對(duì)節(jié)點(diǎn)及其子節(jié)點(diǎn)應(yīng)用全局的縮放,也是相對(duì)于父節(jié)點(diǎn).
屬性檢查器是和類(lèi)型相關(guān)的,下面是floor的屬性
- Reflectivity(反射率):控制表面反射,1.0完全鏡面反射,0.0不反射.
- Falloff Start/End:控制反射的漸變,從哪里開(kāi)始和結(jié)束.當(dāng)Scene Kit渲染地板上的反射時(shí),用了一個(gè)透明度漸變,它可以根據(jù)物體距離地板的距離使部分反射逐漸褪色.近的物體將渲染出銳利的反射,遠(yuǎn)距離的物體則更模糊的反射.
- Resolution Factor(分辨率):決定反射分辨率的馬賽克程度.1.0會(huì)有1:1像素級(jí)精確反射,而0.1將會(huì)看到粗糙,馬賽克的反射.這些計(jì)算對(duì)性能消耗很大,所以犧牲一些反射的質(zhì)量可以讓你的游戲運(yùn)行更流暢.理解這個(gè)參數(shù)能讓你在性能優(yōu)化時(shí)更方便.
地板沒(méi)有顏色很難被看到,所以選擇材料檢查器,點(diǎn)擊Diffuse選擇顏色
相機(jī)有兩種:perspective(透視相機(jī)) orthographic(正交投影相機(jī)).
Perspective camera透視相機(jī)
在第一人稱(chēng)射擊游戲中很常見(jiàn),產(chǎn)生近大遠(yuǎn)小的深度知覺(jué)
- Projection(投影):xy視場(chǎng)范圍決定相機(jī)視野范圍.當(dāng)xy都設(shè)置為0時(shí),系統(tǒng)默認(rèn)把垂直方向設(shè)置為60度,并根據(jù)屏幕比例來(lái)自動(dòng)調(diào)整水平視野
- Z Clipping Range(Z軸裁剪范圍):決定了平頭截體深度范圍,小于Near和大于Far的對(duì)象將會(huì)被裁剪不渲染.
- Depth of Field(景深):控制相機(jī)光圈大小,可以聚集到某一點(diǎn)上產(chǎn)生虛化背景,但是會(huì)帶來(lái)很高的性能消耗.
- Category Bitmask(類(lèi)掩碼):允許設(shè)置屏蔽對(duì)象,只看某些特殊的東西.
Orthographic Camera正交投影相機(jī)
遠(yuǎn)近物體一樣大,比如吃豆人游戲中
- Projection(投影):因?yàn)槲矬w不管無(wú)管遠(yuǎn)近都一樣大,所以當(dāng)需要放大或縮小視場(chǎng)時(shí)不能通過(guò)改變距離調(diào)整,而要通過(guò)scale來(lái)放大或縮小視場(chǎng).
- Z Clipping Range(Z軸裁剪范圍):決定了平頭截體深度范圍,小于Near和大于Far的對(duì)象將會(huì)被裁剪不渲染.
- Depth of Field(景深):控制相機(jī)光圈大小,可以聚集到某一點(diǎn)上產(chǎn)生虛化背景,但是會(huì)帶來(lái)很高的性能消耗.
- Category Bitmask(類(lèi)掩碼):允許設(shè)置屏蔽對(duì)象,只看某些特殊的東西.