12/18
project.1
目標:WG-Map加入多個animal model,註解標題:自定義的要打倒的動物
路徑:D:\work\WebGL Learning\WG-map
要先在require加入threeX.romemodelsWG,done- 程式能run,但是看不到動物
- test:是否Require.js用錯,再另一個project下放minecraft的人物
project: D:\work\WebGL Learning\threex.romemodelsWG\examples\select.html- 稍微研究一下發現,若要把threex.romemodelsWG改用require.js去寫,那幾乎是整個project重寫,所以乾脆重新開個project寫比較實際
- 新project:D:\work\WebGL Learning\WG.requirejs testing
- 連renderer.setClearColor( 0xbbbbbb );的背景顏色都沒出來,所以有可能是require.js的問題
- 為了測試問題是什麼,以minecraft為主,romemodelsWG為輔,開了一個新project:WG.MinecraftAndAnimals
- D:\work\WebGL Learning\WG.MinecraftAndAnimals
- 找出失敗原因:兩個model居然連在一起
- 後來把minecraft的model關掉後發現讀不到animal的skin
- 為了測試問題是什麼,以romemodelsWG為主,minecraft為輔,開了一個新project:WG.AnimalAndMincraft
- D:\work\WebGL Learning\WG.AnimalAndMincraft\examples\Ani_n_craft_basic.html
- 太詭異了,幾乎一模一樣的code複製貼上,Ani_n_craft_basic.html居然能夠run
- 後來發現,作動畫的array命名不同,Ani_n_craft_basic.html裡動畫是用var onRenderFcts = [],而craft_n_Ani_basic.html的動畫是用var updateFcts = [];。
- 當初craft_n_Ani_basic.html是用threex.mincraft裡的basic.html改的,然而Ani_n_craft_basic.html是用threex.romemodels裡的basic.html改的。
- 馬已經能動了,但是馬的皮膚還是出不來
- 終於找到原因了,因為minecraft的model是直接讀皮膚,不用打光也看得到,然而threex.romemodels裡model是皮膚跟著model一起存成json格式的,我剛剛居然忘記給craft_n_Ani_basic.html上打光的code =..=
- 回去看WG-Map,可惜不是動畫命名的差異,WG-Map裡動畫的array皆是var onRenderFcts = [];
- 必須要回去測試用require.js讀取他處.js,回到D:\work\WebGL Learning\WG.requirejs testing
- 為了要先測試WG.requirejs testing裡的code是能run的,我在D:\work\WebGL Learning\WG.AnimalAndMincraft\examples\下新增一個test require code.html,camera與light的設定採用Ani_n_craft_basic.html,下午9:52初步camera與light的設定成功。
- 用了requirejs testing裡,"讀取animal的models"、" Minecraft 人物model"這兩個區塊的Code,失敗,所以是code本身就有問題
- 經測試" Minecraft 人物model"區塊裡的code不能run,"讀取animal的models"區塊的code可以run
- 所以說至少"讀取animal的models"區塊的code,在requirejs testing裡頭要能夠run,但是卻失敗了
- 所以要來研讀requirejs的用法
- 在研讀requirejs前,測試requirejs testing裡面的code不用requirejs用正常的寫法能不能run,發現失敗
- 在D:\work\WebGL Learning\WG.AnimalAndMincraft\examples\下新增一個test require code2.html,不過修改three.js與threex.romemodels.js存放的位置
- D:\work\WebGL Learning\WG.AnimalAndMincraft\examples\test requirejs code2.html 採用 D:\work\WebGL Learning\WG.requirejs testing\index.html(未使用require.js)的code能夠run
- 反覆失敗後,測試用老派的方法,index.html外面的資料夾有著我們的threex.romemodels.js與model資料夾,看看會有什麼效果,經實測後可以run
- 路徑:D:\work\WebGL Learning\WG.requirejs testing\old way,進去old way\example\index_oldWay.html
- 後來回去讀threex.romemodels.js的code發現,在threex.romemodels.js裡,與我們的model有關的,是show 動畫的index.html與models資料夾的相對位置。
- 為了測試,我把D:\work\WebGL Learning\WG.requirejs testing\bower_components\threex.romemodelsWG下面的threex.romemodels.js改名為threex.romemodelsRorReq.js
- 把threex.romemodelsRorReq.js裡的THREEx.RomeModels.baseUrl從 '../'改成'./bower_components/threex.romemodelsWG/',如此一來我們的index.html才會相對應到model資料夾所在的位置
- 我把D:\work\WebGL Learning\WG.requirejs testing下的index.html改名為:index_success romemodel.html
- 對於require.js的測試,我改用WG.requirejs testing底下的index_do_requirejs,無聊試了一下require.js依舊無法run,明天有必要好好研究一下require.js怎麼用了。
沒有留言:
張貼留言