Re: [問題] OGRE 程式匯入的mesh沒有立體感(陰影)?

看板GameDesign (遊戲設計)作者 (.............)時間11年前 (2013/12/30 23:35), 編輯推噓1(109)
留言10則, 2人參與, 最新討論串2/3 (看更多)
[恕刪] 個人經驗僅供參考:我猜是shader(也是material)的問題 請先確定你的執行環境有使用到shader 假設你的render system 是 d3d9RenderSystem 那麼執行目錄下請確定要有 cg.dll、D3DCompiler_43.dll、d3dx9_43.dll (d3dx9、D3dCompiler 版號一致就好) 在開始執行的時候,請檢查你的輸出視窗有沒有以下訊息: "已載入 'D:\xxx\bin\D3DCompiler_43.dll'" 有的話表示你的執行環境確實有在shader下運作 接著檢查資料,請檢查你的 material 理面有沒有使用到以下的 scheme vertex_program_ref、fragment_program_ref 如果這些都有的話,我之前遇到一片黑的狀況通常是sahder compiler失敗了 那就看一下ogre.log 以下我只能列舉一下錯誤的關鍵字供參考: OGRE EXCEPTION(6:FileNotFoundException): Cannot locate resource "shader/errorpath/Base_VP.cg" High-level program "Base_VP_HLSL" encountered an error during loading and is thus not supported. <= 找不到檔案(Base_VP.cg)的錯誤,所以shader Base_VP_HLSL 建不起來 OGRE EXCEPTION(3:RenderingAPIException): Cannot assemble D3D9 high-level shader Base_FP_HLSL Errors: D:\xxx\bin\memory"(23,2)": error X3000: syntax error: unexpected token 'oColor' in D3D9HLSLProgram::loadFromSource at ..\..\..\RenderSystems\Direct3D9\src\OgreD3D9HLSLProgram.cpp (line 281) <= shader code 寫錯,請找這個檔案的第 23 行。上下文要自己判斷,這裡我是故意 少寫一個分號...。 補充說明一下,通常看到類似你附圖左下角的那種灰色,可以猜想是material的問題。 如果是一片黑,或是畫面破碎(也要是一片黑),那麼可以猜想是shader的問題。 ....抱歉我打完才看到你提供的連結。看起來勢必要解決shader的問題了。 請你先試試看將從ply轉成oger mesh後,先為它設定 BaseWhiteNoLight 這個 material model->setMaterialName("BaseWhiteNoLight"); 應該會看到一個完整形體但是是灰色沒有深度的模型。接下來在試試看去解決你自己寫的 material在載入後產生的 exception -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.171.104.30 ※ 編輯: valkidy 來自: 1.171.104.30 (12/30 23:38) ※ 編輯: valkidy 來自: 1.171.104.30 (12/30 23:49)

12/31 03:42, , 1F
感謝回答!!!
12/31 03:42, 1F

12/31 03:42, , 2F
雖然沒有那麼懂 不過我昨天也在Ogre forum問了
12/31 03:42, 2F

12/31 03:44, , 3F
12/31 03:44, 3F

12/31 03:45, , 4F
照他說的晚上已經很開心得到結果了!!
12/31 03:45, 4F

12/31 03:45, , 5F
不過因為是新會員 成功的回文還沒通過審核貼上
12/31 03:45, 5F

12/31 03:46, , 6F
也很感謝您的認真協助!!!!!我會好好弄懂的
12/31 03:46, 6F

12/31 03:48, , 7F
等那篇文出來我也會再PO個文說明具體是如何處理~~
12/31 03:48, 7F

01/01 12:27, , 8F
打光是需要法向量參與計算的(表示朝哪邊)
01/01 12:27, 8F

01/01 12:28, , 9F
但是看起來,你的模型忘了輸出法向量,所以有些無法計算
01/01 12:28, 9F

01/01 12:31, , 10F
製造東西本身的立體感是打光,遮擋的效果才是陰影
01/01 12:31, 10F
文章代碼(AID): #1ImPBGH- (GameDesign)
文章代碼(AID): #1ImPBGH- (GameDesign)