文森說技術

iOS, Web Development Notes
- , ,

Scene Kit 前的世界

在昨天的文章(初探 Scene Kit)提到基本上什麼是 Scene Kit ,他可以做什麼事情。那在這個 Framework 出來前,在 iOS 和 OSX 上要怎麼時做這些事情,用這篇文章簡單敘述一下。

Scene Kit

  • 一個從 Moutain Lion 開始可以使用的一個新 Framework。
  • 可以把 3D 更簡單的實作在 app 中。

常見使用 3D 的地方

  • 3D 使用者介面
  • 簡報,展示的畫面
  • 資料可視化、科學上資料分析結果呈現
  • 遊戲

Scene Kit 想解決的問題

Scene Kit Framework 想解決的問題就是,在過去團隊要是不用第三方的遊戲軟體,就必須要學會許多艱深的電腦圖學知識,不只消耗時間也容易讓專案失敗。

OpenGL 以及其他科技

講到圖學,當然會想到 OpenGL 。

他雖然是一個非常高效能的 rendering API 集合,相關的技術更有 GLSL 或是包裝起來的 GLKit ,以現有開發環境之下可說是非常豐富的技術支援。

但是其中各自有各種知識需要學習。想要達到一些簡單的事情,卻需要很多功夫去達成它。在 WWDC 2010 也有相當多的 sessions 在講 OpenGL ,教導開發者怎麼使用這些工具。

若不想要自己寫,上面還要自己再疊一層 OpenCV 做圖像處理;如果想要用到 scene graph 來架構場景的話, 也需要去找支援的 library 來做,甚至需要自己寫。總的以來,需要自己疊床架屋,非常耗時間,最後只好再買一套第三方軟體授權來用。

(GLSL: OpenGL Shading Language 是以 C 語言為基礎的高階 shading language 。可以比較容易得幫 OpenGL 裏的表面上色。之後也會有一篇文章說他可以怎麼用 :DDD )

解決問題

以目前為止,已經可以直接用 Scene Kit 就可以建立一個小小的遊戲( WWDC 2014 - Building a Game with SceneKit ),基本上讓開發者省下很多麻煩。

使用原廠的 framework 基本上也代表可以得到比較完善的效能以及支援,也可以 「直接」 和 OpenGL/GLSL/GLKit/Core Animation 互動,可說是整合的非常好。

對需要做到第一小節提到的 3D 使用者介面、資料可視化等等功能,就可以以比較快速簡單的方法達成。若需要做到遊戲比較複雜的互動也是可以,但是就要端看個團隊對於新工具及跨平台的需求來評估了。

下一篇會講 scene graph 是什麼,以及 SceneKit 中的 scene graph 長什麼樣子。

如果覺得這篇對你有幫助,歡迎幫忙分享給其他人 😀