#week07
2024-04-01 week07
1.主題: OBJ模型
2.obj檔, mtl檔, FBX檔
3.檔案格式:v頂點 vt頂點貼圖 vn頂點法向量
4.複習貼圖, glm模型
##下課上課範例
jsyeh.org/3dcg10
下載 source data win32
要研究 data 目錄
1.用 Notepad++ 研究 soccerball.obj soccerball.mtl
2.解壓縮 windows.zip => 下載\windows\Transformation.exe
3.解壓縮 data.zip => 下載\windows\data\一堆模型檔
4.啟動 Transformation.exe 右上角, 可切換3D模型
##研究分析今天的檔案
OBJ 裡, 有3個重要的英文單字縮寫
v 代表 vertex 頂點
vn 代表 vertex normal 和打光相關的頂點法向量
f 代表 面 face (有人會拼成 facet 比較小的面)
vt 代表頂點貼圖
解釋: 3dxMax 習慣較 triangles 三角形, 執行時, 快又有效率
在 Maya 等動畫軟體裡, 習慣用 face (有三角形, 四邊形, 五邊形.....)
# 井號代表註解, 是給人看得, 不是給電腦看得
其: usemtl XXX 使用 materail XXX
其他: g XXX 代表 group XXX 分群組用的
其他: mtllib Gundam.mtl 有另外一檔案叫 Gundam.mtl 裡面有一堆 mtl
##研究 Gundam 模型
Gundam.obj 現在要開啟這個檔案
Gundam.mtl
Diffuse.jpg 是主要的 material 材質貼圖
AO.jpg是另外一張貼圖, 今天他不用
研究 Gudam.obj 裡面, 有 v 頂點 vt 頂點貼圖座標 vn 頂點法向量(打光相關)
f 是face裡面, 裡面有兩個斜線 n/vt/vn 標註3個應對的參數
##week07-0_sample
0. 安裝 freeglut, 將 lib\libfreeglut.a 複製成 libglut32.a
1.File-New-Project, GLUT專案 week07_0_sample
##week07-1_obj_gundam
0.先將 source.zip 裡的 glm.c 解壓縮, 再把 glm.c 改成, glm.cpp
1.File-New-Project, GLUT專案 week07-1_obj_gundam
2.將 glm.h 和 glm.cpp 放入 week07-1_obj_gundam 同一目錄
3.Codeblocks的 week07-1_obj_gundam 專案按右鍵, Add 把 glm.cpp 加入
3.把11行 GLUT 程式, 放進來
4.把 glm 使用時, 需要的3段程式放進來
5.把 glm 使用時, 需要的3段程式放進來
但是無法順利執行, 因為(工作執行目錄)很奇怪。 我們改一下。
1.專案, 按右鍵, 選最下面的 Properties, 跳出視窗, 選地2個 Build targets
2.把 Ezecution working dir 工作執行目錄, 改成小數點 .
3.小數點 . 代表現在專案的目錄 桌面\week07-1_obj_gundam 目錄
4.把 freeglut\bin\freeglut.dll 放進目錄 桌面\week07-1_obj_gundam 目錄
5.把 Gundam.obj Gundam.mtl 放進目錄 桌面 \week07-1_obj_gundam 目錄
##week07-2_obj_gundam_lighting
##week07-2_obj_gundam_lighting
0.安裝 OpenCV-2.1
1.重開 CodeBlocks, 設定貼圖的3個設定 Settings-Compiler
1.1.在Search directories 加入2個目錄
-Compiler 加入 C:|OpenCV2.1\include
-Linker setting 裡, 加入3個 cv210 cxcore210 highgui210
模仿剛剛 week07-1 的做法, 全部在做一次
1.File-New_Project, GLUT 專案 week07-2_obj_gundam_opencv_texture
2.把 glm.cpp glm.h freeglut.dll Gundam.obj Gundam.mtl 放進這個目錄
3.Add files 加入 glm.cpp
4.再把 Diffuse.jpg 也放進去
5.貼入 week07-1 的程式碼
沒有留言:
張貼留言