ປືນຈິງທີ່ເປັນຜູ້ຄວບຄຸມ: ວິທີການເອົາທຸກຢ່າງໃນ VR

ຂ້ອຍແມ່ນ Christopher O'Hagan, ວິສະວະກອນຊອຟແວທີ່ @KainosSoftware ແລະຂ້ອຍເຮັດວຽກໃນພະແນກນະວັດຕະ ກຳ. ສຸມໃສ່ເຕັກໂນໂລຍີທີ່ຊືມເຂົ້າ. blog ນີ້ແມ່ນກ່ຽວກັບວິທີທີ່ພວກເຮົາຫາກໍ່ປ່ຽນປືນໃຫຍ່ທີ່ມີປະສິດຕິພາບເກືອບທັງ ໝົດ ກາຍເປັນເຄື່ອງຄວບຄຸມຄວາມເປັນຈິງແລ້ວ, ແລະວິທີທີ່ພວກເຮົາແກ້ໄຂບັນຫາທີ່ເກີດຂື້ນກັບມັນ.

ບໍ່ດົນມານີ້ພວກເຮົາໄດ້ເຂົ້າມາຫາລູກຄ້າຊາວການາດາຜູ້ທີ່ ກຳ ລັງຊອກຫາຄວາມຊ່ວຍເຫຼືອໃນການສ້າງນັກຖ່າຍຮູບຈິງເພື່ອເປັນຄວາມດຶງດູດໃຫ້ເກມຂອງພວກເຂົາ. ນີ້ແມ່ນສ່ວນ ໜຶ່ງ ຂອງແນວໂນ້ມທີ່ ກຳ ລັງເຕີບໃຫຍ່ຂະຫຍາຍຕົວທີ່ພວກເຮົາໄດ້ເຫັນວ່າເຕັກໂນໂລຢີທີ່ຫລໍ່ຫລອມເຊັ່ນ VR ກຳ ລັງຖືກ ນຳ ໃຊ້ ສຳ ລັບທຸລະກິດບັນເທີງຢູ່ໃນສະຖານທີ່ເຊັ່ນ: ຫ້ອງຫລົບ ໜີ ແລະເຮືອຝັ່ງທະເລ. ອຸປະກອນແລະການຕິດຕັ້ງ, ໃນຂະນະທີ່ລາຄາແພງ, ແມ່ນ ກຳ ໄລຍ້ອນສະພາບແວດລ້ອມການຈະລາຈອນແລະນະວະນິຍາຍສູງທີ່ບໍລິສັດເຫຼົ່ານີ້ສະ ເໜີ. ຕົວຢ່າງທີ່ດີຂອງການບັນເທີງຢູ່ໃນສະຖານທີ່ແມ່ນຮູບແຕ້ມບານແບບສ້າງສັນ, ເຮັດໂດຍບໍລິສັດເຊັ່ນ The Void.

ສິ່ງທ້າທາຍທີ່ໃຫຍ່ທີ່ສຸດຂອງພວກເຮົາ ສຳ ລັບນັກຖ່າຍພາບທີ່ພວກເຮົາໄດ້ຊ່ວຍກໍ່ຄືການກໍ່ສ້າງແລະໃຊ້ປືນແທ້ ... ຫຼືຢ່າງ ໜ້ອຍ ບາງຢ່າງທີ່ເບິ່ງແລະຮູ້ສຶກຄືກັບມັນ.

ເອົາເຄື່ອງຄວບຄຸມ

ໃນເບື້ອງຕົ້ນພວກເຮົາຄິດວ່າການໄດ້ຮັບເຄື່ອງຄວບຄຸມແມ່ນຍາກ. ພວກເຮົາໄດ້ເອື້ອມອອກໄປຫາຜູ້ສະ ໜອງ ອາວຸດອ່ອນໃນທ້ອງຖິ່ນ, Gear of War. ຄວາມຕ້ອງການຂອງພວກເຮົາແມ່ນ:

  • ປືນລົມອ່ອນໆທີ່ເບິ່ງ, ຮູ້ສຶກແລະຊັ່ງລົງຄືກັບປືນທີ່ແທ້ຈິງ
  • ອາວຸດທີ່, ໃນເວລາທີ່ຍິງ, ຜະລິດອອກແບບຕົວຈິງ
  • ລະຫັດແລະຄວາມປອດໄພມີສາຍເພື່ອໃຫ້ພວກເຮົາສາມາດ ນຳ ໃຊ້ວັດຖຸດິບເຂົ້າໃນການ ຈຳ ລອງຂອງພວກເຮົາ

ພວກເຮົາຄິດວ່າສິ່ງນີ້ຈະຖືກຖາມຫຼາຍແຕ່ກໍ່ແປກໃຈວ່າສິ່ງນີ້ເບິ່ງຄືວ່າເປັນເລື່ອງປົກກະຕິ ສຳ ລັບພວກເຂົາ. ພວກເຂົາໄດ້ແຕ່ງໂປ້ ສຳ ລັບໂທລະພາບແລະຮູບເງົາ, ສະນັ້ນພວກເຂົາມີ ຄຳ ຮ້ອງຂໍຄົນແປກ ໜ້າ. ຈາກນັ້ນພວກເຮົາໄດ້ໃຊ້ເຄື່ອງຕິດຕາມ Vive ທີ່ຕິດຕັ້ງເພື່ອຕິດຕາມປືນໃນ VR.

ການຕັ້ງເຄື່ອງຄວບຄຸມ

ນີ້ແມ່ນບ່ອນທີ່ພວກເຮົາປະສົບບັນຫາຕົ້ນຕໍຂອງພວກເຮົາ, ການສັ່ນສະເທືອນ: ບັນຫາແມ່ນເກີດມາຈາກການຕົວຈິງຂອງອາວຸດຂອງພວກເຮົາ. ເນື່ອງຈາກວ່າ Vive Tracker ໃຊ້ IMUs (Inertial Movement Units) ສຳ ລັບຕິດຕາມດ້ວຍຄວາມຖີ່ສູງແລະລະບົບໄຟ Vive Lighthouse ສຳ ລັບຕິດຕາມດ້ວຍຄວາມຖີ່ຕ່ ຳ ແລະປຽບທຽບກັບການແກ້ໄຂພຽງການລອຍລົມ. IMUs ເຮັດວຽກໂດຍການວັດແທກການເລັ່ງໃນແຕ່ລະແກນແລະຫຼັງຈາກນັ້ນຄິດໄລ່ການຍ້າຍອອກຈາກການວັດນັ້ນ. ເມື່ອ IMUs ສັ່ນສະເທືອນຢ່າງຮຸນແຮງ, ເຊັ່ນ: B. ຖ້າພວກເຂົາຖືກຕິດອາວຸດໃສ່ຈິງ, ພວກເຂົາບໍ່ສາມາດຕິດຕາມຢ່າງໃກ້ຊິດ. ນັ້ນແມ່ນບັນຫາ.

ຍ້ອນວ່າພວກເຮົາບໍ່ແມ່ນຜູ້ຊ່ຽວຊານດ້ານການສັ່ນສະເທືອນ, ພວກເຮົາໄດ້ພະຍາຍາມແກ້ໄຂບັນຫາແຕ່ກໍ່ມີຄວາມກ້າວ ໜ້າ ໜ້ອຍ. ຈາກນັ້ນພວກເຮົາຕັດສິນໃຈສົ່ງໂປແກຼມ reddit ໄປ r / Vive. ການຕອບສະ ໜອງ ຂອງຊຸມຊົນໄດ້ເປັນປະໂຫຍດ. ພວກເຮົາໄດ້ແກ້ໄຂສິ່ງທີ່ງ່າຍໆບໍ່ຫຼາຍປານໃດທີ່ພວກເຮົາເບິ່ງຂ້າມ, ເຊັ່ນວ່າຜູ້ຕິດຕາມຢູ່ໄກເກີນໄປໃນລົດໄຟ. ເພື່ອຄວາມແປກໃຈຂອງພວກເຮົາ, HTC ໄດ້ຕິດຕໍ່ກັບໂຄງການແລະສະແດງຄວາມສົນໃຈໃນສິ່ງທີ່ພວກເຮົາພະຍາຍາມເຮັດ. ພວກເຂົາມີລຸ້ນ Vive Tracker firmware ທີ່ສາມາດຊ່ວຍສ້າງຕົວກອງຜ່ານທີ່ຕ່ ຳ ສຳ ລັບ IMU ທີ່ພວກເຂົາໃຫ້ພວກເຮົາ.

ເສັ້ນສະແດງການປ້ອນຂໍ້ມູນແບບປົກກະຕິທຽບໃສ່ວັດສະດຸປ້ອນຫລັງຈາກໃຊ້ຕົວກອງຜ່ານຕໍ່າ

ຕົວກອງແບບຜ່ານຂັ້ນຕໍ່າສາມາດຕັ້ງຄ່າໄດ້ຜ່ານອິນເຕີເຟດ USB-HID. ພວກເຮົາສາມາດສົ່ງລາຍງານ 0xB3 ທີ່ສົ່ງຂໍ້ມູນພື້ນຖານກ່ຽວກັບອຸປະກອນທີ່ ກຳ ລັງ ນຳ ໃຊ້, ພ້ອມທັງການຕັ້ງຄ່າຜ່ານທີ່ຕໍ່າຈາກ MacBook ໄປຫາຜູ້ຕິດຕາມ, ແລະມີການຕັ້ງຄ່າທີ່ຖືກຕ້ອງເພື່ອເຮັດໃຫ້ຄວາມສັ່ນສະເທືອນພຽງພໍ. ຂັ້ນຕອນຕໍ່ໄປແມ່ນການສົ່ງບົດລາຍງານທີ່ເປັນປະໂຫຍດ, ເຊິ່ງຈະຊ່ວຍໃຫ້ພວກເຮົາສົ່ງການປ່ຽນແປງການຕັ້ງຄ່າຕ່າງໆພ້ອມທັງການຄວບຄຸມອຸປະກອນ HID ຈາກ Raspberry Pi ໄປຫາຜູ້ຕິດຕາມເນື່ອງຈາກວ່າພວກເຮົາຕ້ອງການບາງສິ່ງບາງຢ່າງທີ່ສາມາດພໍດີກັບກ່ອງປືນ ຜູ້ໃຊ້ບໍ່ສາມາດເບິ່ງສາຍໄຟໄດ້.

ການກັ່ນຕອງຜ່ານຂັ້ນຕໍ່າ

ນີ້ແມ່ນບັນດາບາດກ້າວເພື່ອຕັ້ງ Raspberry Pi ສຳ ລັບໂຄງການປະເພດນີ້

  • ຕິດຕັ້ງ Raspberry ເທິງ Raspberry Pi
  • ອັບເດດ Pi version ຂອງ "Node.js"
  • ຕິດຕັ້ງຫ້ອງສະຫມຸດ "node-hide" ໃນໂຄງການຂອງທ່ານ ສຳ ລັບ ຄຳ ແນະ ນຳ ສະເພາະ
  • ໃນ udev, ຕື່ມເອກະສານທີ່ມີຊື່ວ່າ "60-HTC-Vive-perms.rules" ກັບສາຍນີ້
KERNEL == "hidraw *", SUBSYSTEM == "hidraw", ATTRS {idVendor} == "28de", ATTRS {idProduct} == "2022", TAG + = "uaccess"

ບັນຫາທີ່ອາດເກີດຂື້ນແມ່ນວ່າຄ່າດັດສະນີທີ່ບໍ່ຖືກຕ້ອງແມ່ນຖືກໃຊ້ໂດຍ node-hide. ໃນກໍລະນີນີ້ດັດສະນີຖືກໃຊ້ເພື່ອ ກຳ ນົດອິນເຕີເຟດຫລືສົ່ງລາຍງານ. ນີ້ແມ່ນບາງສິ່ງບາງຢ່າງທີ່ຈະຄຸ້ນເຄີຍກັບການຮ້ອງຂໍ USB. ທ່ານບໍ່ສາມາດລະບຸການໂຕ້ຕອບກັບ "Node-Hid". ໂຊກດີ, ໄຟລ໌ "show-devices.js" ທີ່ມາພ້ອມກັບຫ້ອງສະຫມຸດ "node-hide" ແລະສະແດງໃຫ້ເຫັນອຸປະກອນ HID ທີ່ເຊື່ອມຕໍ່ທັງ ໝົດ ມີເສັ້ນທາງທີ່ແຕກຕ່າງກັນ ສຳ ລັບແຕ່ລະອິນເຕີເຟດ.

ໃຊ້ແຟ້ມ show-devices.js ທີ່ມາພ້ອມກັບຫ້ອງສະ ໝຸດ node-hide. ທ່ານສາມາດຊອກຫາເສັ້ນທາງທີ່ຈະໃຊ້ໃນລະຫັດຂອງທ່ານໃນກໍລະນີທີ່ມັນແຕກຕ່າງ

ຖ້າທ່ານມີປັນຫາອື່ນໆກ່ຽວກັບສະຄິບ, 'usbmon' ມາພ້ອມກັບ Raspbian ແລະຊ່ວຍໃຫ້ທ່ານສາມາດເບິ່ງ ຄຳ ຂໍ USB ທີ່ ກຳ ລັງເຮັດຢູ່. ນີ້ແມ່ນການເຊື່ອມຕໍ່ທີ່ເປັນປະໂຫຍດທີ່ທ່ານສາມາດໃຊ້ເພື່ອຕັດສິນຄວາມຕ້ອງການເຫຼົ່ານີ້. (ເລີ່ມຕົ້ນໃນ ໜ້າ ທີ 15)

ສະຫຼຸບ

ການໃຊ້ປືນເປັນເຄື່ອງຄວບຄຸມ VR ແມ່ນບໍ່ແມ່ນເລື່ອງງ່າຍ. ການສັ່ນສະເທືອນຈາກການຍິງປືນແມ່ນແຂງແຮງພໍທີ່ຈະແຊກແຊງຄວາມສາມາດຂອງ IMU ໃນການຕິດຕາມຕົວເອງຢ່າງຖືກຕ້ອງ. ໂດຍ ນຳ ໃຊ້ຕົວກອງຜ່ານທີ່ຕໍ່າຂອງເຄື່ອງຕິດຕາມແລະເຄື່ອງຕິດ Raspberry Pi, ພວກເຮົາສາມາດແກ້ໄຂບັນຫານີ້ໄດ້ໂດຍບໍ່ມີຜົນກະທົບຕໍ່ການຕິດຕາມຫລື ກຳ ລັງທີ່ປືນສັ່ນ.

ຂອບໃຈທີ່ອ່ານ @ cohagan154