今天目標: 碰撞偵測
0. 先把上課要用的環境設定好
0.1. LeapMotion裝起來 (Software, Leap Developer Kit)
0.2. Processing 2.1.1 新版裝起來
0.3. 用新版 Processing 來 Import Library 安裝三個library (search: colli
0.3.0. Leap Motion for Processing
0.3.1. bRigid (它另外需要 PeasyCam)
0.3.2. ComputationalGeometry
0.3.3. SuperCollider
1. 試著開啟 Examples 裡的 Leap Motion for Processing 的 e1_basic, 將很多行的程式碼,簡化成3個重點
1.1. import 並宣告
import de.voidplus.leapmotion.*;
LeapMotion lea;
1.2. 在 setup()裡面 new 好它
leap = new LeapMotion(this);
1.3. 在 draw()裡面用它
for( Hand hand : leap.getHands() ){
hand.draw();
}
3. 試著將 Leap Motion 結合到 Terrain 範例中
3.1. 與 1.1相同, 先 import並宣告
3.2. 與 1.2相同, 在 setup()裡 new 它
3.3. 與 1.3相同, 在 draw()裡面用它
for( Hand hand : leap.getHands() ){
PVector p = hand.getPosition();
if(frameCount %2 ==0 ){
//Vector3f pos = new Vector3f(random(-90,90), -30, random(-90,90));
Vector3f pos = new Vector3f( p.x/10 -90, -30, p.z);
}
}
4. 什麼? 有同學上課在玩 Maya 建模? 那我們把 Maya 建出來的車子也匯出來, 在 Processing 中試著畫 3D模型吧!
4.1. Processing Import Library, OBJLoader
4.2. 跑 Example, 裡面 OBJLoader 有 OBJLoader_BoundingBox 範例可以跑
4.3. 把你的模型,放在 文件\Processing\libraries\OBJLoader\examples\OBJLoader_BoundingBox\data 中, 然後範例程式裡面的 model = new OBJLoader(.... "檔名.obj" ...) 改成你的檔名即可
4.4. 如果覺得大小怪怪的, 也可以用 scale 來調整。其實裡面是 OpenGL繪圖, 所以各位學過 OpenGL 就可以自己試著改改看吧




沒有留言:
張貼留言