文章

目前顯示的是 四月, 2013的文章

一個算完整的敵人AI原型程式碼

圖片
參考『Unity遊戲開發實戰』練習寫的敵人AI,想做得功能多一些,不過行為過於複雜,就先大概寫這樣的結構了。 因為主要是想放在移動裝置上的橫向平台遊戲,沒要做太複雜的判斷跟行為,但又希望考慮到擴展性(沿用到別的PC遊戲作品),所以在敵人狀態上用距離、角度,來做警戒、攻擊、追擊的不同判斷。 找時間再延伸讓警戒到一定程度,繼續追擊到攻擊範圍...... 應該有些細節還不是很成熟,但希望能幫上大家 :) 之前都是用updata撰寫,不過最後會一堆boolean很複雜、麻煩,這個方式還蠻不錯的,雖然會多好多自定義的fnuction,不知道這種方式是好是壞,希望有前輩能夠給些意見、想法。 另外附上我練習用的while迴圈,練習這個才搞懂為什麼這樣子寫...... #pragma strict var while1Int:int; // While迴圈1計次 var while2Int:int; // While迴圈2計次 var while3Int:int; // While迴圈2計次 function Start () { while(true){ print("進入While迴圈1"); yield testWhile1(); // 呼叫執行 testWhile1 print("進入While迴圈2"); yield testWhile2(); // 呼叫執行 testWhile2 print("進入While迴圈3"); yield testWhile3(); // 呼叫執行 testWhile3 } } function testWhile1(){ while(true){ print("進行While迴圈1"); while1Int++; // 累加While迴圈1計次 yield WaitForSeconds (3.0); // 延遲 3.0 秒 if (while1Int >= 3){ // 假使 迴圈計次 大於等於3 時  while1Int = 0; // 歸零 迴

BonesPro Copy Bones 應用於模型稍微修改、調整的權重轉移

圖片
如果常常修改、微調模型,可以使用這個方式備份、轉移權重資料。 不過像本範例變化太大,凸一塊大肚子,就還得多加設定細節,可能要用像下列影片類似肌肉處理的方式去解決。 第一步: 將修改好的模型座標與舊的模型重疊,並下BonesPro指令 第二步: 選擇紅框內的Copy bones from another BonesPro,並選擇來源模型即可。

以iPi Mocap Studio 2搭配單台Kinect捕捉動作至3dsMax CAT

圖片
本文主要以單台Kinect搭配 iPi Recorder 2 擷取深度影像並使用iPi Mocap Studio 2捕捉人體動作資料,並以3dsMax搭配MotionBuilder使CAT骨架系統使用該動作資料。 使用Kinect來做動作捕捉雖然不是最好、最精確的解決方案,但是能以較小的空間、較少的裝置來進行動作捕捉,算是種能普及、家用的動作擷取方式。 想必此種方式能為小型工作室、實驗單位節省較大經費、空間的動作捕捉系統成本。 動作捕捉系統主要有以下幾種類型 電磁式 機械式 光學式 被動光學式 超音波式 光纖式 陀螺儀式 影像式 在這裡談的Kinect使採用影像式的方式,以紅外線脈衝照射物體反射,搭配CMOS圖像感測器接收反射紅外線,來進行深度資料的分析辨識。 iPi Mocap Studio 2能同時分析多台Kinect的深度資料,以免某些人體動作會出現遮擋的姿勢,而缺少某些角度的深度資料,造成部分動作無法分析辨識。 這裡示範主要以單台Kinect,就不為雙台Kinect的處理多加描述。 首先要先下載並安裝iPi Recorder以及iPi Mocap Studio,iPi Recorder是拿來錄製深度資料用、iPi Mocap Studio則是拿來解析深度資料以及輸出動作資料檔。 並且要安裝Kinect for Windows SDK,讓Windows能夠正常驅動Kinect。 而後開啟iPi Recorder進行影像錄製的動作。 iPi Recorder 軟體介面 基本的設定完後會進入Evaluation的設定區域,這邊應該是為了校正背景的地面、高度,調校完後盡可能不要移動到裝置,並且在移動到之後再回到此處重新調校。 調校完後就可以開始錄製了,錄製時盡可能讓整個身體都能讓裝置讀取到,並且注意腳掌不要被遮擋,大動作注意盡可能不要有跑到身後而缺少部分深度資料的情況,可以盡可能面對裝置,真的無法避免則考慮使用雙Kinect,以不同角度擷取到被遮擋部分的深度資料。 並建議在要判讀的動作前,擺T-Pose,在擷取動作時比較好對應第一個位置。 左手被軀體遮擋而缺少部分深度資料,且腳掌也稍微沒有判讀到 錄製完畢之後則換使用iPi Mocap Studio 2來進行動作資料的