งั้นมีวิธีจะบอกให้
1.ใช้ GlovePIE เป็นโปรแกรม Emulate ตัวนึงที่จะเหมือนกับว่าเวลาเราใช้ถุงมือเหมือนกับเรากดปุ่มบน Keyboard (http://glovepie.org/ รองรับอุปกรณ์หลายอย่างเลย ทั้ง wiimote, nunchuk, Joystick, VR Device, ETC.) เท่านี้เราก็แทน Logic Brick ใน Blender Game Engine ด้วย Sensor Keyboard ก็ได้แล้ว แต่เท่าที่ผมใช้ดูมันช้ามากเลย ใครลองแล้วมีวิธีแก้บอกกันด้วยนะ
2. ใช้ Ctypes (http://docs.python.org/library/ctypes.html) เป็นอีกวิธีนึงที่เราสามารถเรียกใช้ Function ที่อยู่ใน Library ของ P5 Glove ได้ในไพธอนสคริปต์ วิธีนี้เราต้องติดตั้ง SDK ของ P5 Glove ซะก่อนนะ พอติดตั้งแล้ว จะมี Library ที่ชื่อว่า "P5dll.dll" อยู่ใน Folder "system32" แต่ Library ที่ผมใช้อยู่เป็น Version ที่ถูกนาย carl kenner คนเดียวกับคนที่ทำ GlovePIE นั้นแหละ ชื่อ Function จึงอาจแตกต่างจากของเดิมที่เป็น Original
ตัวอย่างครับ
import GameLogic
from ctypes import *
libc = windll.p5dll
libc.P5_Init() #Initial
number_g = libc.P5_GetCount()#นับจำนวนถุงมือที่เราต่อกับระบบอยู่
x = c_float()
y = c_float()
z = c_float()
data_p = libc.P5_GetAbsolutePos(c_int(0), byref(x), byref(y), byref(z))#อ่านค่าตำแหน่ง x, y, z,
r = c_float()
e = c_float()
a = c_float()
data_r = libc.P5_GetRotation(c_int(0), byref(r), byref(e), byref(a))#อ่านตำแหน่งการหมุน Roll, Elevation, Azimuth,
t = c_float()
i = c_float()
m = c_float()
r = c_float()
p = c_float()
data_b = libc.P5_GetFingerBends(c_int(0), byref(t), byref(i), byref(m), byref(r), byref(p))#อ่านค่าการงอนิ้วมือ
libc.P5_Close()
ใครเอาไปใช้แล้ว work กว่าของผม หรือ มีวิธีที่ดีกว่า ลองมาพูดคุยกันได้ แต่จะมีใครที่จะได้ใช้ P5 เหมือนผมบ้างเนี้ยถ้าจะยาก เอิ๊กๆๆๆ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น