說明
本系列文章是對<3D Apple Games by Tutorials>一書的學習記錄和體會
SceneKit editor
Xcode自帶了一個簡單好用的3D場景編輯器,當選中或建立一個xxx.scn檔案時就會出現
![QQ20170404-105556@2x.png](https://i.iter01.com/images/4bc62a2e4785c389d3e98e1e1cf0aebd1d4a518b0dec7df3e7ae2f832fb28542.png)
- Scene graph(場景節點樹):場景中每一個元素都顯示在這裡,可以拖拽樹狀結構的元素來控制父子關係.
- Design area(設計區):效果呈現區,可以拖拽,旋轉和縮放,也可以從物件庫中拖放原始節點到這裡.
- Inspectors(檢查器):和場景型別有關的檢查器,檢查器中的內容將根據你選中的節點不同而改變,最上方橫放的有五個新的檢查器
- Node Inspector(節點檢查器):SCNNode物件有關的屬性.
- Attributes Inspector(屬性檢查器):和選中節點型別有頭的檢查器,如果選中的是Box,可以設定長寬高,如果是Sphere,可以設定半徑.
- Material Inspector(材料檢查器):設定節點的顏色和紋理
- Physics Inspector(物理檢查器):設定物理行為的配置
- Scene Inspector(場景檢查器):場景中所有節點都有的全域性檢查器,可以設定場景中的一些屬性.
- Properties(屬性):檢查器的內部屬性
- Object Library(物件庫):所有可用的SCNNode物件,從系統自帶到使用者自定義的節點都有.SCNAction物件也在這裡.
- Toolbar(工具條):包含一些重要元素,從左到右,按鈕功能
- Add/delete node(新增/刪除節點):選中節點樹中的節點,新增一個子元素或者刪除選中節點
- Search filter(搜尋過濾器):複雜場景下用來快速搜尋
- Expand/collapse scene graph area(可收縮場景圖表區):開啟/關閉左側的場景圖表區
- Coordinate system(座標系): 選擇一個活躍座標系來編輯你的節點,可選local,parent,world或者screen.
- View/camera select(視點/相機選擇): 當有多個相機時,可以選擇相機列表中任一個活躍視點
- Play/stop scene(播放/暫停場景):播放/暫停物理和動作模擬
- Expand/collapse actions(收縮動作區):開啟/關閉下面的動作區
- Actions area(動作區):給節點新增動作時,可以從物件庫中拖放一個action到這裡,就會影響被選中的節點
Basic scene navigation基礎場景導航
- Pan(拖動):Magic滑鼠直接在滾輪處上下左右移動,觸控板用雙指移動,普通滑鼠按住option鍵拖動
- Rotate(旋轉):按下左鍵並移動滑鼠
- Zoom(縮放):按住option鍵使用滾輪縮放,觸控板用捏合手勢.
- Multi-selection(多選):按住Command單擊多選.
Basic node manipulation基礎節點操作
以Box節點為例
![QQ20170404-111016@2x.png](https://i.iter01.com/images/cde5248b94159d8c8bcfe297c4f2572f1f19a4747c6b3254f4c8fb63d7659d02.png)
![QQ20170404-111028@2x.png](https://i.iter01.com/images/8e7d2d0d60c30746a869c6a31db3279c07fefb51415015d6e24fb5439a2194e9.png)
- Positioning(定位):拖動高亮的座標軸,可以在座標軸方向上移動.拖動灰色扇形區,可以沿所有平面移動
- Rotatation(旋轉):拖動高亮的座標軸曲線,可以旋轉節點
附加操作:移動節點時,按住Command鍵,可放大並仔細檢查位置. 旋轉節點時,按住Command鍵,可放大並仔細檢查角度. 按住Option鍵並拖動,可複製一個共享屬性的副本,就是說對原本做的屬性更改操作將影響副本.如果想取消共享屬性,取消按鈕在屬性檢查器中幾何體共享分類下面.
xxx.scn檔案的載入
非常簡單,根據檔案路徑名直接載入就可以了
scnScene = SCNScene(named: "B.scnassets/Scenes/Game.scn")
scnView.scene = scnScene
複製程式碼