個人使用QT已有好幾年了,之前主要是為了解決跨平台開發的問題,只要寫一次程式(含人機界面),經不同平台上重新編譯後就分別能在Windows和Liunx上執行。當然使用QT好處還不只這個,除了本身是開源程式開發工具外,另有許多現成圖形介(GUI)元件(如Widget、QML等)可用,省去不少的開發時間。最近新的版本(QT 5.14 + Creator 4.11)剛釋出,在3D繪圖上提供了更多的支援(如QT3D QML),包括支援最新的3D模型、骨架、動畫的格式檔glTF 2.0(就像3D界的PDF格式),簡化許多以前開發3D繪圖功能要自己用OpenGL或OpenGL ES基礎功能去組合的動作。於是立馬下載來玩玩,但一如往常,使用新功能前總有一堆坑要填,在說明如何使用QT3D QML方式來讀取常見的3D模型OBJ(不帶材質貼圖)格式前,先讓大家看看執行結果圖(Fig. 1)。至於如何讀取帶材質、骨架動畫的glTF 2.0格式3D模型就留待下次分解。
完整程式及可執行程式請參考本工作室Github開源程式庫
Fig. 1 QT3D QML方式讀取OBJ檔格式靜態3D模型結果。(OmniXR整理製作)(點擊圖放大) |