উইন্ডোজে ডুয়ালশক 4 গতি সেন্সর অ্যাক্সেস করা (আদর্শ Unক্য)


10

আমি উইন্ডোজ 7 এর অধীনে ইউনিটিতে গতি নিয়ন্ত্রক হিসাবে ডুয়ালশক 4 এর আইএমইউ ব্যবহার করার চেষ্টা করছি ।

এখনও পর্যন্ত আমি চেষ্টা করেছি:

  • ডিএস 4 উইন্ডোজ (1.5.11): মোশন সেন্সর ডেটা পড়ে, তবে আমি তাদের বাম এবং ডান স্টিকগুলিতে ম্যাপ না করা পর্যন্ত তাদের অক্ষ হিসাবে অক্ষরে প্রকাশ করি না। আমি লাঠিগুলির ব্যবহার হারাতে পেরে এটি যথেষ্ট নয়, আমি কেবলমাত্র 6 টি চ্যানেলের মধ্যে 4 টি ফিট করতে পারি এবং এর মধ্য দিয়ে আসা মানগুলি সংকীর্ণ পরিসরে কাটা হয়।
  • Motioninjoy (0.7.1001): একটি নিয়ামক হিসেবে DS4 সনাক্ত করতে (সর্বশেষ ডক্স DS3 এবং পূর্বে শুধুমাত্র পড়ুন) প্রদর্শন করা হবে না
  • গ্লোভপিআই (0.43): ডাবলশক 3 লিবাসবি-উইন 32 (দীর্ঘ শট) সহ ব্যবহারের জন্য নির্দেশাবলী অনুসরণ করার পরে , সিক্সএক্সিস বৈশিষ্ট্যগুলি সমস্ত ফাঁকা।

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

কারও সাথে ভাগ্য এলো?

উত্তর:


8

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

( হিডডেভিসেস থেকে ডিভাইস গণনা এবং হিডডেভাইস ক্লাসের প্রতিবেদনটি পড়ার জন্য কার্নেল 32.ডিলের সাথে ইন্টারফেস করার জন্য এটি নেটিমেথোডস ক্লাস। যত দ্রুত সম্ভব ডেটা।)

এই গাইডটি আমাকে জানিয়েছিল যেখানে 64-বাইট প্রতিবেদনের মধ্যে মোশন সেন্সর ডেটা কোথায় পাওয়া যাবে। কিছুটা পরীক্ষামূলক পরীক্ষা এবং দেখে মনে হচ্ছে এটি জিএস এবং রেডিয়ানস / সেকেন্ডের মধ্যে ডেটা পেয়েছে:

accel = new Vector3(
            System.BitConverter.ToInt16(_inputBuffer, 19),
            System.BitConverter.ToInt16(_inputBuffer, 21),
            System.BitConverter.ToInt16(_inputBuffer, 23)
            )/8192f;

gyro = new Vector3(
            System.BitConverter.ToInt16(_inputBuffer, 13),
            System.BitConverter.ToInt16(_inputBuffer, 15),
            System.BitConverter.ToInt16(_inputBuffer, 17)
            )/1024f;

এটি এক্স ডান, y + আপ এবং জেড + প্লেয়ারের দিকে নির্দেশ করে একটি ডানহাতি সমন্বিত সিস্টেম।

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


আপডেট: ওয়্যারলেস (ব্লুটুথ)

আমি ওয়্যারলেসভাবে (এবং দুটি সমাধান) কাজ করতে এর প্রসারিত দুটি সমস্যা পেয়েছি:

  1. ডুয়ালশক 4 এস উইন্ডোজ যুক্ত করা পছন্দ করে না (উইন্ডোজ 8 এর আগে)। এই নির্বোধ পদ্ধতিটি উইন্ডোজ on-এ কাজ করে বলে মনে হচ্ছে।

  2. ব্লুটুথের মাধ্যমে সংযুক্ত হওয়ার সময় কোনও গতি সেন্সর ডেটা নেই । মোশির ডেটা প্রেরণে কোক্সেক্স করতে আপনার ডিভাইসে আউটপুট রিপোর্ট লেখার প্রয়োজন রয়েছে (যাদুর সংখ্যার জন্য এইডের জন্য ডিভাইস এবং ডিএস 4 ডিভাইস দেখুন) need এটি হয়ে গেলে, আপনি যে ইনপুট প্রতিবেদনগুলি ফিরে পাবেন তা 2 বাইট দ্বারা স্থানান্তরিত হবে।


আপনার পক্ষে কি এই পোস্টের জন্য এই উত্তরটি পরিষ্কার করা সম্ভব ?

আমি এখনই ভ্রমণ করছি, তবে আমি যখন ওয়াইফাই দিয়ে কিছুটা ডাউনটাইম পেয়েছি তখন আমি তা চালিয়ে যাব। ধন্যবাদ @ জোশপেট্রি!
ডিএমগ্রিগরি

এটি খনন করে, আমি আর কাজ করছি না এমন মোশন সেন্সিং প্রকল্পের সোর্স কোডটি আমার কাছে নেই এবং ডিএস 4 টুলে ফিরে যাওয়ার বিষয়টি আমাকে মনে করিয়ে দিল যে কেন আমি কেবলমাত্র বিটগুলি ছিঁড়েছি! এটি সুপার ভারবোজ পায় এবং স্ট্যাক এক্সচেঞ্জ উত্তরের জন্য যুক্তিসঙ্গত দৈর্ঘ্যের বাইরে যেতে পারে। আমি যতটা পারি সহজ করার চেষ্টা করব তবে এতে কিছুটা সময় লাগবে।
ডিএমগ্রিগরি

1
@ ডিএমজি গ্রেগরি - আইএমইউতে ডুয়ালশক ৪ ব্যবহারের জন্য এই ডেটা শীটটি হ'ল: মাউসার ডটকম / ডিএস / ২২ / 7878৩ / বিএসটি- বিএমআই -৫55০- ডিএসস.০০-০--78646464৮৮.পিডিএফ - এবং এটি শর্ট বলে জানিয়েছে।ম্যাক্সভ্যালু সম্পর্কিত প্রতি সেকেন্ডে 2000 ডিগ্রি আমার গণনা অনুসারে, আপনি প্রতি সেকেন্ডে প্রায় 1833 ডিগ্রি পাচ্ছেন যা কাছাকাছি (এবং পরীক্ষার ফলাফলের জন্য যুক্তিসঙ্গত) তবে সম্ভবত সেইভাবে আপনার গণনাটি সামঞ্জস্য করা আপনাকে কিছুটা আরও সঠিকতা দেবে?
Jibb স্মার্ট

(আমি এখনই গাইরো স্টাফ নিজেই করছি, এবং নিজে পরীক্ষা করে স্ট্যান্ডার্ড ইউনিট রূপান্তরগুলি বের করার চেষ্টা করছিলাম এবং তারপরে আমার এক বন্ধু আমার জন্য সেই লিঙ্কটি খুঁজে পেয়েছিল)
Jibb স্মার্ট

1

আমি নিজেই এর একটি সমাধান তৈরি করেছি। এটিকে জয়শোকলিবারি বলা হয় এবং এটি ডুয়ালশক ৪, সুইচ প্রো নিয়ন্ত্রক এবং জয়-কনস থেকে পড়ে। এটি ওপেন সোর্স, এমআইটি লাইসেন্স এবং ভালভাবে কাজ করে, যদিও ডিএস 4 এর জন্য ব্লুটুথ সমর্থনটি সম্প্রতি সম্প্রতি যুক্ত হয়েছিল এবং এখনও উন্নতি করছে।

এটি জয়শোকম্যাপার , যা একটি ইনপুট-ম্যাপিং সরঞ্জাম এবং জয়শোক ওভারলে ব্যবহার করা হয়, যা এখনও প্রকাশ্য নয়, তবে আপনি এটিকে এখানে (গিফেক্যাট) এবং এখানে (ইউটিউব) দেখতে পাবেন।

জয়শোকলিবারি এক্সআইএনপুটকে সুন্দরভাবে পরিপূরক করে - এর আইএমইউ রিপোর্টগুলির পাশাপাশি এটি এক্সআইএনপুটের সাথেও অনেকটা সাদৃশ্যপূর্ণ - যাতে আপনি সমর্থন করে এমন জাইরো এবং অ্যাকসিলোমিটার ইনপুটটির সুবিধার্থে সমস্ত বর্তমান জিন কনসোল নিয়ামককে সহজেই কভার করতে পারেন।

ইউনিটির সাথে এটি ব্যবহার করা বেশ সহজ, যদিও অন্যের পক্ষে আরও সহজ করার জন্য আমার একটি .সিএস ফাইল লাগানো উচিত।


0

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

আপনি এই সমস্ত নিয়ামক দুর্ঘটনার জন্য xbox ধন্যবাদ দিতে পারেন।


দুর্ভাগ্যক্রমে আইএমইউ 20 টি "জয়স্টিক অ্যাক্সেস" ইউনিটি পড়েনি, না ইনপুট.গাইরো ইত্যাদির কোনওটিতেই ম্যাপ করা হয়েছে বলে মনে হচ্ছে না; আমি কাঁচা তথ্য অনুসন্ধান করতে গিয়ে শেষ করেছি; সমাধানের বিশদ সহ একটি উত্তর যুক্ত করেছে।
ডিএমগ্রিগরি
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.