কন্ট্রোলার হিসাবে রিয়েল বন্দুক: ভিআর-এ কীভাবে সবকিছু পাবেন

আমি কাইনোসফটওয়্যারের সফটওয়্যার ইঞ্জিনিয়ার ক্রিস্টোফার ও'হাগান এবং আমি ফলিত উদ্ভাবনী বিভাগে কাজ করি। নিমজ্জনিত প্রযুক্তিগুলিতে ফোকাস করুন। এই ব্লগটি কীভাবে আমরা সম্প্রতি প্রায় সম্পূর্ণ কার্যক্ষম রাইফেলটিকে ভার্চুয়াল রিয়েলিটি কন্ট্রোলারে রূপান্তরিত করেছি এবং কীভাবে আমরা এর সাথে আসা সমস্যাগুলি মোকাবিলা করেছি about

আমরা সম্প্রতি একটি কানাডিয়ান গ্রাহকের কাছে এসেছি যারা তাদের আরকেডের আকর্ষণ হিসাবে একটি বাস্তববাদী শ্যুটার তৈরিতে সহায়তা খুঁজছিল। এটি আমরা ক্রমবর্ধমান প্রবণতার অংশ যা দেখেছি ভি ভি এর মতো নিমজ্জনিত প্রযুক্তিগুলি এস্কেপ কক্ষ এবং রোলার কোস্টারগুলির মতো সাইট বিনোদন ব্যবসায়ের জন্য ব্যবহৃত হচ্ছে। সরঞ্জাম এবং সেটআপ, ব্যয়বহুল হলেও, এই সংস্থাটি উচ্চতর ট্র্যাফিক এবং অভিনব পরিবেশের কারণে লাভজনক। অন ​​বিনোদনের একটি ভাল উদাহরণ হ'ল ভার্চুয়াল পেইন্টবল যা দ্য ভয়েডের মতো সংস্থাগুলি তৈরি করেছে।

আমরা যে নিমগ্ন শ্যুটারকে সাহায্য করেছিলাম তার জন্য আমাদের সবচেয়ে বড় চ্যালেঞ্জটি ছিল আসল আগ্নেয়াস্ত্র তৈরি করা এবং ব্যবহার করা ... বা কমপক্ষে এমন কিছু যা দেখে মনে হয়েছিল এবং তার মতো অনুভূত হয়েছিল।

নিয়ামক পান

আমরা প্রাথমিকভাবে ভেবেছিলাম যে কন্ট্রোলার পাওয়া কঠিন ছিল। আমরা স্থানীয় সফট অস্ত্র সরবরাহকারী, গিয়ার অফ ওয়ারের কাছে পৌঁছেছি। আমাদের প্রয়োজনীয়তা ছিল:

  • একটি এয়ার-নরম রাইফেল যা দেখতে পেয়েছিল, অনুভব করেছিল এবং সত্যিকারের রাইফেলের মতো ওজন করেছিল
  • একটি অস্ত্র যা বহিস্কার করা হলে বাস্তবিক সংঘাত তৈরি করে
  • একটি ট্রিগার এবং সুরক্ষা তারযুক্ত যাতে আমরা তাদের আমাদের অনুকরণের ইনপুটগুলির জন্য ব্যবহার করতে পারি

আমরা ভেবেছিলাম এটি অনেক জিজ্ঞাসা করবে কিন্তু অবাক হয়েছিল যে তাদের কাছে এটি সাধারণ মনে হয়েছিল। তারা টিভি এবং চলচ্চিত্রের জন্য প্রচুর প্রপস তৈরি করেছিল, তাই তাদের কাছে অপরিচিত অনুরোধ ছিল। এরপরে আমরা ভিআর-তে বন্দুকটি ট্র্যাক করতে একটি মাউন্ট করা ভিভ ট্র্যাকার ব্যবহার করি।

নিয়ামক স্থাপন করা হচ্ছে

এখানেই আমরা আমাদের মূল সমস্যা, কম্পন অনুভব করেছি: আমাদের অস্ত্রের বাস্তবিক সংঘাতের কারণে সমস্যাটি দেখা দিয়েছে। কারণ ভিভ ট্র্যাকার একটি উচ্চ ফ্রিকোয়েন্সি ট্র্যাকিংয়ের জন্য আইএমইউগুলি (ইনটারিয়াল মুভমেন্ট ইউনিট) এবং তুলনামূলকভাবে কম ফ্রিকোয়েন্সি এবং ট্রাফ্ট সংশোধনের জন্য ভিভ বাতিঘর ব্যবস্থা ব্যবহার করে। আইএমইউগুলি প্রতিটি অক্ষের ত্বরণ পরিমাপ করে এবং তারপরে পরিমাপ থেকে স্থানচ্যুতি গণনা করে কাজ করে। যখন আইএমইউগুলি আক্রমণাত্মকভাবে কম্পন করে, উদাঃ বি। যদি সেগুলি বাস্তবসম্মতভাবে গুলি চালানো অস্ত্রের উপরে বসানো হয় তবে তারা নিবিড়ভাবে অনুসরণ করতে পারে না। এটি একটি সমস্যা ছিল।

যেহেতু আমরা কম্পনের বিশেষজ্ঞ নই, আমরা সমস্যাটি সমাধানের জন্য কিছু চেষ্টা করেছি তবে খুব কম অগ্রগতি করেছি। এরপরে আমরা আর / ভিভকে একটি reddit পোস্ট প্রেরণের সিদ্ধান্ত নিয়েছি। সম্প্রদায় প্রতিক্রিয়া সহায়ক হয়েছে। ট্র্যাকার রেলপথে খুব বেশি দূরে থাকা যেমন আমরা কিছু সাধারণ জিনিস ঠিক করেছি যা আমরা উপেক্ষা করেছি। আমাদের অবাক করার জন্য, এইচটিসি প্রকল্পটির সাথে যোগাযোগ করে এবং আমরা যা করার চেষ্টা করছি তাতে আগ্রহ দেখায়। তাদের কাছে ভিভ ট্র্যাকার ফার্মওয়্যারের একটি বিটা সংস্করণ ছিল যা তারা আমাদের যে আইএমইউ দিয়েছে তা একটি লো পাস ফিল্টার তৈরি করতে সহায়তা করতে পারে।

কম পাস ফিল্টার ব্যবহারের পরে ইনপুট বনাম সাধারণ ইনপুটের গ্রাফ

লো-পাস ফিল্টারটি ইউএসবি-এইচডি ইন্টারফেসের মাধ্যমে কনফিগার করা যায়। আমরা 0xB3 প্রতিবেদন পাঠাতে সক্ষম হয়েছি যা ব্যবহারে থাকা ডিভাইস সম্পর্কে প্রাথমিক তথ্য প্রেরণ করে, পাশাপাশি ম্যাকবুক থেকে ট্র্যাকারে কম পাস কনফিগারেশনও রয়েছে এবং কম্পনগুলি যথেষ্ট পরিমাণে কমিয়ে দেওয়ার জন্য সঠিক সেটিংস রয়েছে। পরবর্তী পদক্ষেপটি কার্যকরী প্রতিবেদনটি প্রেরণ করছিল, যা আমাদের সেটিংসে পরিবর্তনগুলি প্রেরণের পাশাপাশি ট্র্যাকারটিতে একটি রাস্পবেরি পাই থেকে এইচআইডি ডিভাইসগুলির নিয়ন্ত্রণের অনুমতি দেয় যেহেতু আমাদের এমন কিছু প্রয়োজন ছিল যা এটির সাথে বন্দুকের কার্টরিজে ফিট হতে পারে needed ব্যবহারকারী তারেরটি দেখতে পেল না।

কম পাস ফিল্টার

এই ধরণের প্রকল্পের জন্য রাস্পবেরি পাই সেট আপ করার পদক্ষেপগুলি

  • রাস্পবেরি পাইতে রাস্পবেরি ইনস্টল করুন
  • "Node.js" এর পাই সংস্করণ আপডেট করুন
  • নির্দিষ্ট নির্দেশাবলীর জন্য আপনার প্রকল্পে "নোড-হিড" লাইব্রেরি ইনস্টল করুন
  • উদেব-তে, এই লাইনের সাথে "60-HTC-Vive-perms.rules" নামে একটি ফাইল যুক্ত করুন
KERNEL == "hidraw *", SUBSYSTEM == "hidraw", ATTRS {idVendor} == "28de", ATTRS {idPr Prodct} == "2022", TAG + = "uaccess"

একটি সম্ভাব্য সমস্যা হ'ল ভুল সূচক মান নোড-হিড দ্বারা ব্যবহৃত হচ্ছে। এই ক্ষেত্রে সূচকটি ইন্টারফেসটি সনাক্ত করতে বা প্রতিবেদনটি প্রেরণে ব্যবহৃত হয়। ইউএসবি অনুরোধের সাথে নিজেকে পরিচিত করার জন্য এখানে কিছু। আপনি "নোড-হিড" এর সাথে ইন্টারফেসটি নির্দিষ্ট করতে পারবেন না। ভাগ্যক্রমে, "show-devices.js" ফাইলটি "নোড-হিড" লাইব্রেরি সহ এসেছে যা সমস্ত সংযুক্ত এইচআইডি ডিভাইসগুলি প্রদর্শন করে, প্রতিটি ইন্টারফেসের জন্য পৃথক পথ ছিল।

নোড-হিড লাইব্রেরির সাথে উপস্থিত শো-ডিভাইস.জেএস ফাইলটি ব্যবহার করুন। আপনার কোডটি অন্যরকম লাগলে আপনি ব্যবহারের পথ খুঁজে পেতে পারেন

স্ক্রিপ্ট নিয়ে আপনার যদি অন্য সমস্যা হয় তবে 'ইউএসবমন' রাস্পবিয়ান নিয়ে আসে এবং আপনাকে যে কোনও ইউএসবি অনুরোধ করা হচ্ছে তা দেখার অনুমতি দেয়। এখানে একটি দরকারী লিঙ্ক যা আপনি এই প্রয়োজনীয়তাগুলি বোঝার জন্য ব্যবহার করতে পারেন। (15 পৃষ্ঠায় শুরু)

উপসংহার

ভিআর নিয়ন্ত্রণকারী হিসাবে বন্দুক ব্যবহার করা কোনওভাবেই সহজ ছিল না। বন্দুকের গুলি থেকে কম্পনগুলি যথাযথভাবে নিজেকে ট্র্যাক করার আইএমইউর ক্ষমতাকে হস্তক্ষেপ করতে যথেষ্ট প্রবল। ট্র্যাকারের লো পাস ফিল্টার এবং একটি অন্তর্নির্মিত রাস্পবেরি পাই ব্যবহার করে, আমরা ট্র্যাকিং বা বন্দুকটি যে স্পন্দিত করে তার সাথে প্রভাবিত ছাড়াই এই সমস্যাটি সমাধান করতে সক্ষম হয়েছি solve

@ Cohagan154 পড়ার জন্য ধন্যবাদ