خمس نصائح لإعداد وتحسين Leap Motion Controller. Leap Motion - كيفية إعدادها للعمل قم بتنزيل التطبيق الخاص بـ Leap Motion

وحدة تحكم في التقاط الحركة للكمبيوتر الشخصي/Mac

واحدة من أبرز الشركات الناشئة في مجال التكنولوجيا في العام الماضي، والتي تم تضمينها في أفضل خمس أدوات مميزة لهذا العام وفقًا للمجلة، هي وحدة التحكم في التقاط الحركة Leap Motion. في الصيف الماضي، بدأ المستخدمون الذين دعموا المشروع على Kickstarter في تلقي وحدات التحكم التي طال انتظارها. حان الوقت لتنحية طموحاتك جانبًا وإلقاء نظرة رصينة على الجهاز.

أولاً وقبل كل شيء، باتباع القول القائل بأنه من الأفضل أن ترى مرة واحدة، نقترح تقييم عمل Leap Motion على الفيديو:

تصميم

يحتوي الصندوق مع الأداة على كتيب وزوج من كبلات Micro-USB 3.0. واحدة طويلة للتواصل مع وحدة النظام(أقل بقليل من 1.5 متر) وواحد قصير بطول نصف متر لجهاز كمبيوتر محمول.

مظهر وحدة التحكم نفسها بسيط. أثناء التشغيل، يمكن رؤية عينين تعمل بالأشعة تحت الحمراء من خلال السطح العلوي اللامع. تتوهج الفتحة الموجودة على اللوحة الجانبية باللون الأخضر عند تشغيل الجهاز.

يوجد منفذ USB على اليسار. على الرغم من أن الحزمة تحتوي على كابلات الإصدار الثالث، إلا أن وحدة التحكم تعمل بشكل مثالي مع الإصدار الثاني.

السطح السفلي من Leap Motion مصنوع من المطاط لتحسين الإمساك بالطاولة.

بأبعاد 80x30x11 ملم، يبلغ وزن الأداة حوالي 50 جرامًا.

الاستخدام

لنبدأ بأبسط شيء - إدارة نظام التشغيل. قم بتنزيل تطبيق Touchless عبر المتصفح (تتوفر الإصدارات لنظامي التشغيل Mac OS وWindows) وقم بتشغيله باستخدام Leap Motion Airspace.

سوف يذكرك نظام Touchless بنفسه من خلال أيقونة الدرج. يتم تنشيط التحكم في نظام التشغيل من خلال قائمة السياق.

يتيح لك التطبيق استخدام المجموعة الأساسيةإيماءات مماثلة لما اعتدنا عليه في الأجهزة التي تعمل باللمس. مؤشر اللمس الموجود على الشاشة عبارة عن دائرة خضراء.

في الأساس، Touchless لا يقدم أي شيء خاص. انقر بزر الماوس الأيسر للضغط لفترة قصيرة على السطح الافتراضي، وانقر بزر الماوس الأيمن للضغط لفترة طويلة. التمرير الأفقي والرأسي. التكبير باستخدام إصبعين من إحدى اليدين أو كلتيهما. ربما هذا كل شيء.

توصي HP باستخدام الأداة المساعدة Touchless المجانية لإدارة نظام التشغيل. بالإضافة إلى ذلك، يتوفر في المتجر عشرات ونصف التطبيقات المماثلة، والتي يتم وضعها في فئة منفصلة. وفي وقت كتابة هذا التقرير، تم دفع ثلثي هذه المبالغ. بشكل عام، يبدو متجر Leap Motion مربحًا جدًا بالنسبة لمستوى تطوره.

في إعدادات الأداة الذكية، يمكنك ضبط الارتفاع المفضل الذي سيقرأ عنده المستشعر الحركات.

هناك أيضًا ثلاثة خيارات لتحقيق التوازن بين سرعة ودقة معالجة الإيماءات. كما ترون، مجموعة الإعدادات صغيرة، ولكن من الجيد أن الشركة المصنعة تسمح لك بتغيير شيء ما على الأقل.

الاستنتاجات

لقد مر أكثر من عام منذ أن تم إرسال العينات الأولى من Leap Motion. على الرغم من عامل الشكل المناسب والمفهوم المثير للاهتمام، إلا أن وحدة التحكم الجديدة لم ترقى بعد إلى مستوى التوقعات الموضوعة عليها على المدى الطويل ويتم تحقيق الدخل منها بشكل أسرع بكثير من تطورها. تطبيقات مجانيةإنها توفر في الغالب وظائف أساسية ونادرًا ما تدعي أنها أكثر من مجرد عرض عادي لقدرات وحدة التحكم. يحتوي المتجر على إضافات للأدوات الاحترافية مثل Photoshop وAutodesk Maya، لكن هذا لا يكاد يذكر. في حالتها الحالية باعتبارها "أداة في حد ذاتها"، من المرجح أن تجذب Leap Motion فقط المتحمسين الفضوليين الذين يتوقعون، أولاً وقبل كل شيء، اللعب بالأداة. ونأمل ألا يضيع المطورون دخلهم على Kickstarter على جزيرة استوائية صغيرة، ولكن الشراكة معهم الشركات الكبيرةمثل HP سوف يكون مفيدًا لجميع المعنيين.

أتذكر كيف رأيت العام الماضي ولم أصدق أن هذا لم يكن نموذجًا أوليًا، بل منتجًا مكتملًا بالكامل، سيتم إصداره في غضون ستة أشهر. بطريقة ما، بدت الصور التي عرضها المطور رائعة للغاية، مما أعاد إلى الأذهان فيلم "تقرير الأقلية". لكن المعجزة لم تحدث، وفي البداية تم تأجيل موعد الإصدار إلى ثم. ولكن الشيء الرئيسي، كما يقولون، هو النتيجة، وهي جيدة جدا جدا. والجيد في الأمر هو أنه شيء مذهل حقًا، وهو ما سأتحدث عنه في هذا المقال.

مفهوم

الفكرة وراء Leap Motion هي جعل الواجهة أكثر سهولة في التشغيل. ولا يهم ما إذا كنت تعمل على نظام تشغيل أو تلعب إحدى الألعاب. ما الذي يمكن أن يكون أكثر سهولة من الإيماءات؟ تذكر كيف عمل توم كروز بمرح مع قاعدة بيانات الوكالة في فيلم "تقرير الأقلية":

مثير للإعجاب، أليس كذلك؟ هذه هي مدى سهولة نقل البيانات عبر الشاشة، ودمجها في مجموعات منفصلة، ​​ومقارنتها. من الواضح أن الأمر سيستغرق وقتًا أطول بكثير للتلاعب بلوحة المفاتيح والماوس.

« لكن هذه مسألة مستقبل بعيد وبشكل عام اختراع كاتب خيال علمي!"، قول انت. لكن انظر حولك - معظم التقنيات موجودة العالم الحديثجاءت من القصص الخيالية وأعمال الخيال العلمي: التحرك في الهواء بسرعة هائلة، والتواصل عن بعد باستخدام جهاز مصغر، وهو جهاز كمبيوتر قوي يمكن وضعه بسهولة في راحة يدك، الإنترنت... هناك الكثير من الأمثلة.

لذلك أصبحت Leap Motion نوعًا من الحلم الذي أصبح حقيقة فيليب ك ديك، الذي كتب الرواية " رأي خاص"في عام 1956:

لا تقل إثارة للإعجاب عن حلقة الفيلم الموضحة أعلاه. وكما تعلمون، هذا الشيء يعمل حقًا! قد لا يكون الأمر سلسًا كما هو موضح في الفيديو، لكن من الصعب نقل شعور العمل مع Leap Motion بالكلمات، على الرغم من أنني سأحاول القيام بذلك.

جهاز صغير في علبة كبيرة

بالنظر إلى حجم وحدة التحكم، والتي ليست أكبر بكثير من حجم الولاعة، فهي تأتي في صندوق ضخم ببساطة، على الرغم من أنه يمكن وضعها بسهولة في راحة يدك. بشكل عام التغليف رائع:

يوجد في الأعلى سترة غبار، وفي الأسفل يوجد صندوق مصنوع من الورق المقوى شديد الصلابة وعالي الجودة. ترفع الغطاء وأنت مدعو للانغماس في عالم جديد تمامًا:

وها هو بطل المراجعة جالسًا بشكل مريح في حمام بلاستيكي:

بالإضافة إلى ذلك، يحتوي الصندوق على بضعة كابلات وتعليمات صغيرة:

بالمناسبة، والانتباه إلى الكابلات. طول أحدهما 60 سم والثاني 150 سم ولكن الموصل أكثر إثارة للاهتمام:

هذا ليس موصلًا خاصًا، ولكنه موصل قياسي مايكرو يو اس بي 3.0. لكن بصراحة، لم أفهم سبب ضرورة استخدام هذا الخيار إذا كان الجهاز نفسه يعمل عبر USB 2.0. على الأقل هذا ما يقوله الموقع الرسمي. يعد موصل microUSB العادي أكثر إحكاما، ومن الأسهل الحصول على الكابل المقابل إذا أصبح الكبل المرفق غير قابل للاستخدام.

حسنًا، حسنًا، لدينا ما لدينا. دعونا نلقي نظرة فاحصة على الجهاز نفسه.

الحركة القفزية، على الرغم من صغر حجمها، إلا أنها ثقيلة ومبنية بإحكام. وحدة التحكم مصنوعة في علبة من الألومنيوم مع لوحة بلاستيكية لامعة في الأعلى ولوحة مطاطية في الأسفل:

يتم تجميع الملحق بشكل مثالي - متراصة: لا صرير، لا يلعب، لا شيء يتحرك. أعجبني الحل ذو القاعدة المطاطية - فبفضله تقف الأداة بشكل آمن على أي سطح مستو تقريبًا.

العناصر الإضافية الوحيدة في العلبة هي موصل microUSB 3.0 ومؤشر الحالة:

تخيلت نفسي الأذكى وقادرًا على فهم كل شيء دون تعليمات، قررت توصيل وحدة التحكم على الفور بجهاز Mac والتصرف وفقًا للظروف، دون الحاجة إلى التعامل مع الأعمال الورقية. لقد قمت بتوصيله و... لم يحدث شيء. هل التعليمات للجبناء؟ لا أصدقاء. ومع ذلك، فمن الأفضل قراءتها، مما يوفر الوقت والأعصاب.

كيفية توصيل Leap Motion بجهاز الكمبيوتر الخاص بك

ولكن كل ما عليك فعله هو الذهاب إلى الموقع الرسمي للمشروع. يشجعك منشئ الملحق بشدة على القيام بذلك بمجرد فتح الصندوق وإخراج الأداة. على ملصق وقائيمكتوب في الأعلى بوضوح، كما يقولون، " التنشيط على موقع Leapmotion.com/setup" بعد اتباع الرابط، تلقيت عرضًا لتنزيل برامج التشغيل المناسبة:

بالمناسبة، تم تنزيل الحزمة لتكون ثقيلة جدًا، حيث يصل حجمها إلى 80 ميجابايت، وبعد التثبيت تشغل أكثر من 200 ميجابايت:

حسنًا، لقد قمت بتثبيت برامج التشغيل والبرامج، وبعد الاتصال بالكمبيوتر، عاد الصندوق الصغير إلى الحياة على الفور: تحول مؤشر الحالة LED إلى اللون الأخضر، وظهرت نقاط حمراء في الأعلى - هذا هو باعث الأشعة تحت الحمراء:

كان هناك أيضًا إجراء يحدث على الشاشة، ولم يطالبني البرنامج فقط بتوصيل الأداة ووضعها وفقًا لذلك، ولكن أيضًا لتنظيف اللوحة العلوية من Leap Motion من بصمات الأصابع حتى يعمل الجهاز بشكل أفضل. لا أعرف أين وجدت المطبوعات، لقد أخرجت الجهاز بعناية فائقة، ولم أتطرق إلى اللوحة العلوية، لكنني مازلت أمسحها، وأزيل بعض بقع الغبار:

هذا كل شيء، الآن سوف أتطرق إلى السحر! لكن لا، مازلت بحاجة إلى تشغيل تطبيق Airspace المصاحب والتسجيل في متجر التطبيقات المحلي:

تم التسجيل، وإطلاق المجال الجوي، وأخيرًا، يمكنك لمس المستقبل. لا تتعجل بالرغم من ذلك. أولاً، سيتم تنزيل التطبيقات التجريبية، وهي تشغل قدرًا لا بأس به - على الأقل عشرات الميجابايت، ولكنها عادةً ما تتجاوز المئات.

حسنًا، أثناء التحميل، من المفيد مراجعة إعدادات الملحق، فلا يوجد الكثير منها.

في علامة التبويب مع الإعدادات الأساسيةيمكنك السماح أو منع نقل المعلومات من المستشعر إلى تطبيقات الويب والبرامج التي تعمل في الخلفية، وكذلك تكوين الارتفاع الذي يتم عنده إجراء التتبع:

في علامة التبويب تتبعيمكنك تكوين أولوية المستشعر (السرعة أو الدقة أو التشغيل المتوازن) ونمط التشغيل الخاص به (ما إذا كان سيتم تتبع اتجاه اليدين في الهواء تلقائيًا وما إذا كان سيتم تصفية الكائنات غير الضرورية في منطقة تغطية Leap Motion، مثل الأكتاف والرأس).

حسنًا، لقد تم تحميل جميع البرامج التجريبية، وحان الوقت لاختبار الأداة أثناء العمل.

مراجعة الفيديو

تمر اليد

عندما وصلت Leap Motion إلى مكتب المحرر في شكل معبأ، لم تثير أي مشاعر خاصة. أعتقد أننا انتظرنا طويلاً وأحرقنا بطريقة ما. حتى أثناء عملية إعداد الجهاز، أنا شخصياً لم أشعر بمشاعر قوية بشكل خاص.

ولكن بمجرد تشغيل التطبيق الأول ورؤية الجهاز قيد التشغيل، عندما تقوم، دون لمس لوحة المفاتيح أو الماوس أو الشاشة، ببعض الأشياء التي كانت لا تصدق في السابق، مثل تدوير جزيء الحمض النووي تمامًا كما في "تقرير الأقلية"، أو التخويف بعيدًا أسراب السمك مع حركة رئتيك للكف، ثم البهجة البرية والشعور بأن العالم يتغير قبل أن تعود عيناك مباشرة.

وحدة التحكم هي حقا دقيق جدايتتبع النخيل والأصابع وحركاتهم. صحيح أنك لا تزال بحاجة إلى التعود عليه. أولاً، لا ينبغي عليك القيام بحركات مفاجئة. أداء Leap Motion مرتفع، لكن لا تتوقع المعجزات. وبالإضافة إلى ذلك، عندما الحركات المفاجئةغالبًا ما تسقط الأيدي من منطقة تغطية المستشعر.

ثانية نقطة مهمة- هذا هو تحديد ارتفاع التتبع الأكثر ملاءمة، والذي يتم ضبطه في الخيارات التي ذكرتها أعلاه. أثناء الاختبار، تبين أن القيمة القياسية البالغة 20 سم هي الأكثر ملاءمة، ولكن في الغالب تفاعلت مع الأداة أثناء الوقوف. إذا كنت تجلس، عليك خفض طولك قليلاً، أو استخدام التتبع التلقائي.

بخصوص التطبيقات، ثم بالنسبة لـ Leap Motion، يوجد بالفعل الكثير منها، كلاهما مدفوع (الأسعار تقريبًا على مستوى متجر تطبيقات Apple) ومجانية. في الواقع، فتحت الشركة التي أنشأت الجهاز متجر التطبيقات الخاص بها، والذي تم إتقانه بالفعل بنجاح من قبل العديد من مطوري الطرف الثالث. لحسن الحظ، تم توزيع SDK لأكثر من عام.

هناك ألعاب، وهناك برامج رائعة توضح إمكانيات وحدة التحكم، وهناك تطبيقات لإنشاء الموسيقى والتعلم وما إلى ذلك. هناك برنامج لكل من Windows و OS X.

بشكل عام، بالنسبة للجزء الأكبر، لا تزال لعبة، ولكنها لعبة مذهلة تسبب عاصفة من العواطف في الروح. ابتهجت كطفل عندما تفاعلت الافتراضية مع حركات يدي في هذا الواقع - عندما ظهرت تموجات على الماء من لمسة، وتحرك تاج شجرة بأوراق مضيئة، عندما كنت تتحكم في مضرب افتراضي في أركانويد ثلاثي الأبعاد و اضرب الكرة كما لو كنت تحمل مضربًا حقيقيًا بين يديك... الأمر كله يسبب الإدمان.

وإذا حاولت اللعب بـ Leap Motion لطفلك، فلن تتمكن من إبعاده عن الكمبيوتر لفترة طويلة. علاوة على ذلك، لا يحتاج الأطفال إلى شرح أي شيء، فهم يدركون كل شيء بسرعة، والآن يقوم الطفل البالغ من العمر 3 سنوات بتقطيع الحبال بخفة وإطعام الحلوى بالحلويات.

لدى Leap Motion مستقبل مشرق. قد تكون لعبة أكثر من كونها أداة جادة أو بديلاً للماوس ولوحة اللمس، ولكنها تعمل بالفعل. علاوة على ذلك، كان الجهاز مدعوما من قبل المطورين وهذا هو الشيء الأكثر أهمية. ففي نهاية المطاف، بدون برمجيات، حتى أروع الأجهزة ستكون مجرد كومة من "الحديد والبلاستيك والسيليكون" الميت. البرامج هي روح الجهاز، وLeap Motion's واسعة النطاق ولطيفة وواعدة.

سعر الطلب حوالي 5000 روبل.

موقع إلكتروني أتذكر رؤية عرض Leap Motion التجريبي العام الماضي ولم أصدق أن هذا لم يكن نموذجًا أوليًا، بل منتجًا نهائيًا بالكامل سيتم إصداره في غضون ستة أشهر. بطريقة ما، بدت الصور التي عرضها المطور رائعة للغاية، مما أعاد إلى الأذهان فيلم "تقرير الأقلية". لكن المعجزة لم تحدث، وفي البداية تم تأجيل موعد الإصدار إلى أربعة...

دخلت Leap Motion Controller في المراكز العشرة الأولى أفضل الأجهزةالعام بحسب مجلة تايم. ينتمي هذا الجهاز إلى عائلة رائعة من وحدات التحكم اللاسلكية من الجيل الجديد، مثل Wii Remote وPlayStation Move، ولكن أقرب قريب له هو Xbox Kinect. وعلى عكس الأخير، يتفاعل Leap Motion حصريًا مع حركات اليد، فهو يكتشف حتى أسرع حركات اليدين والأصابع بدقة أكبر 200 مرة. هذا الجهاز يجعلنا أقرب إلى الواقع الواقع الافتراضي- خلق واجهة طبيعية بين الإنسان والآلة. مرحا أيها الرفاق!

قفزة تحكم الحركة

بعد إطلاق مستشعر Kinect، وفي أعقاب نجاحه، بدأت تظهر أجهزة تحكم أخرى غير تلامسية. كان Kinect بمثابة الأساس لنمو وتطوير سوق مثل هذه الأجهزة: لقد رأى المستثمرون الاحتمال وفهموا معنى الاستثمار في أجهزة التحكم بالإيماءات. ومع ذلك، فإن وحدة التحكم الأكثر أهمية ونجاحًا كانت وحدة التحكم Leap Motion Controller. مثل سابقتها، يعتمد الأخير على تقنية التقاط الحركة. يتصل هذا الجهاز منفذ USBولا يزيد حجمه عن زوج من محركات الأقراص المحمولة المطوية. على الجانب الفني، لالتقاط إسقاط أيدي المستخدم في الفضاء، يستخدم جهاز Leap اثنين أجهزة الاستشعار البصرية(الكاميرات) ومصدر للأشعة تحت الحمراء (لا يستبعد المطورون أنه في الإصدارات المستقبلية من الجهاز قد يتم تغيير عدد الكاميرات). يتم وضع الجهاز مع سطح العمل بجوار الشاشة لخلق شعور بأن الأشياء الموجودة على الشاشة يتم التحكم فيها عن طريق اليدين. بمجرد توصيل الجهاز يتشكل فوقه هرم افتراضي مقلوب تكون قمته المركزية في الجهاز. يمتد النطاق الأكثر فعالية من 25 إلى 600 ملم فوق وحدة التحكم مع مجال رؤية يبلغ 150 درجة. وفي منطقة هذا الهرم، "ترى" Leap Motion جميع الحركات وترسلها إلى البرنامج الذي يحول البيانات والإشارات إلى إحداثيات ورسائل. يستطيع البرنامج التعرف على كل من الإيماءات البسيطة (اللمسات الافتراضية والنقرات) والحركات المستمرة المعقدة: القياس والتحريك والتدوير ورسم أشكال هندسية مختلفة. وبالتالي، فإن الجهاز نفسه لا يقوم بأي حسابات أو تحويلات، ويترك كل شيء للبرنامج المضيف، الذي يزيل ضوضاء الصورة، ويبني نماذج من الأيدي والأصابع - المؤشرات. مع وجود نقطة الأصل في مركز الجهاز، يفسر جهاز Leap محاور الإحداثيات على النحو التالي: يقع سالب X على يسار الجهاز، على التوالي، ويقع X الموجب على اليمين. ينمو الإحداثي Y للأعلى وليس له قيم سلبية، حيث أن القفزة "ترى" الأجسام بدءًا من 25 ملم فوق نفسها. يشير Z الموجب إلى المستخدم، في حين أن Z السالب يتجه نحو الشاشة.

قفزة الحركة SDK

يتطور Leap Motion SDK بسرعة مدهشة، ويتم إصدار إصدارات جديدة بانتظام يحسد عليه: في التاريخ القصير نسبيًا لوجودها، ظهرت بالفعل نسخة ثانية كاملة من الأداة، بالإضافة إلى تعديلاتها. بتعبير أدق، لا تزال التعديلات في مرحلة تجريبية، وسنستخدم أحدث إصدار من SDK في وقت كتابة هذا التقرير، نظرًا لأن كل منها نسخة جديدةيوفر تحسينات واضحة - إمكانيات إضافية لتتبع الهيكل العظمي ("عظام" اليدين). كما هو متوقع، يعمل Leap Motion SDK على جميع الأنظمة الأساسية الشائعة: Windows NT وOS X وLinux. نظرًا لأنه يتعين علي مؤخرًا العمل أكثر على جهاز Mac (وأنا أقوم بتحرير هذه المقالة على جهاز كمبيوتر EEE يعمل بنظام Win XP، وهذا جيد بالنسبة لي. - ملاحظة المحرر)، فإن قصتي في المستقبل (مع بعض التحفظات) ستهتم هذا بالضبط نظام التشغيل. إذا لم تكن صديقًا لها، فلا تيأس، لأن Leap Motion SDK عبارة عن منصة مشتركة، ويمكنك بسهولة تكييف المعلومات التي تم الحصول عليها من هذه المقالة مع أي نظام تشغيل مدعوم.

على استعداد للعمل الجاد!

للبدء في استخدام وحدة التحكم Leap Motion، بعد التسجيل مسبقًا على موقع الشركة المصنعة للجهاز، قم بتنزيل أرشيف LeapDeveloperKit_2.1.1+21671_mac.tar من قسم التنزيلات. بعد تفريغه، ستجد مجلدًا، بداخله سيكون هناك حزمة Leap_Motion_Installer_skeleton-release_public_mac_x64_2.1.1+21671_ah1704.dmg (صورة قرص لنظام التشغيل OS X)، تحتوي على برامج تشغيل للجهاز، بالإضافة إلى التطبيقات التجريبية. بجانب الحزمة سيكون هناك دليل LeapSDK، والذي يتضمن جميع المكتبات وواجهات برمجة التطبيقات اللازمة لتطوير التطبيقات التي تعمل مع جهاز Leap Motion. بالإضافة إلى ذلك، يحتوي هذا المجلد على الوثائق والعينات. بالإضافة إلى التطبيقات التجريبية، تحتوي الحزمة على Airspace Home، وهو نوع من العميل لمتجر تطبيقات Leap Motion - يمكنك تحميل تطبيقاتك فيه وبيعها، كما هو الحال على منصات التوزيع الرقمية الأخرى. الفرق الرئيسي بين الإصدار الثاني من SDK والأول هو نظام جديدتتبع "الهيكل العظمي" للأطراف العلوية. ويشمل المعالجة معلومات إضافيةحول عظام اليدين والأصابع، والقدرة على التنبؤ بموقع العظام غير المرئية للجهاز، وبناء نماذج اليد في ظروف لا تكون فيها الأطراف بأكملها مرئية.

أولاً، قم بتثبيت محتويات الحزمة (أنا متأكد من أنها تحمل نفس الاسم في نظام التشغيل Windows، مع ملحق exe فقط). برنامج التثبيت نفسه، الموجود داخل الصورة، يسمى Leap Motion.pkg، وهو يبدأ عملية تثبيت كل ما هو مذكور أعلاه.


أرز. 2. تثبيت البرنامج

بعد اكتمال تثبيت برنامج Leap Motion، سيبدأ برنامج التشغيل تلقائيًا، والذي "يستقر" في شريط القائمة (أعلى اليمين) في شكل برنامج خفي. ستظهر ثلاثة تطبيقات جديدة في "البرامج": برنامج التشغيل نفسه، والبرنامج التجريبي Leap Motion Orientation (أوصي بالبدء به) وAirspace. إذا لم تكن وحدة التحكم متصلة مسبقًا، فهذا هو الوقت المناسب للقيام بذلك. سيتم تمييز الرمز (الموجود في شريط القائمة) باللون الأخضر. سيؤدي النقر عليه إلى فتح قائمة تحتوي على خمسة عناصر. العنصر الأول، Launch Airspace، يقوم بتشغيل عميل النافذة الذي يحمل نفس الاسم. بشكل افتراضي، يحتوي على سبعة تطبيقات تجريبية ورابطين يؤديان إلى Airspace Store ومجتمع المطورين. يكشف كل عرض توضيحي عن قدرات Leap Motion.

عنصر القائمة التالي - الإعدادات - يفتح نافذة لإعداد الجهاز. تحتوي هذه النافذة على أربع علامات تبويب. في صفحة "الجنرالات"، يتم إجراء الإعدادات الأساسية: السماح أو تعطيل الجهاز للتفاعل مع تطبيقات الويب التي تدعم Leap Motion (بالنظر إلى المستقبل، ألاحظ أن هذا الخيار موجود، ويتم استخدام HTML5 + JavaScript لهذا)، وتمكين أو تعطيل قدرة التطبيقات على استقبال الإشارات من الجهاز، والعمل في الخلفية، ونقل إحصائيات الجهاز تلقائيًا، وتمكين (إذا لزم الأمر) التبديل إلى وضع توفير الطاقة؛ ضبط الحد الأدنى للارتفاع فوق الجهاز الذي "يرى" فيه الأيدي والأصابع (المؤشرات)؛ للموافقة على تحديث أوتوماتيكي. يوجد خياران في صفحة التتبع يتعلقان بإمكانية تتبع جهازك أم لا. علامة التبويب التالية مخصصة للتشخيص واستكشاف الأخطاء وإصلاحها، وهناك وظائف لعرض سجل البرنامج، ومتخيل تشخيصي، وإعادة معايرة الجهاز والعودة إلى الإعدادات الافتراضية. توفر علامة التبويب الأخيرة ببساطة معلومات حول الجهاز والبرنامج الذي يدعمه. من خلال النقر على عنصر Visualiser، يتم فتح عرض توضيحي يمكنك من خلاله رؤية كيف "يرى" الجهاز الأطراف. أي أنه إذا قمت بتحريك يديك فوق المنطقة النشطة بالجهاز، فسيقوم التطبيق بعرضها في الفضاء الافتراضي. يقوم زر إيقاف التتبع مؤقتًا بإيقاف التتبع مؤقتًا، ويقوم بإيقاف تشغيل الشيطان تمامًا.


بمجرد تثبيت برنامج Leap Motion، يمكنك تثبيت أدوات المطور. وفي الوقت نفسه، أفترض أنك قمت بتثبيت أحدث الإصدارات من نظام التشغيل وأدوات التطوير (Xcode). كما قلت أعلاه، بعد تفريغ الأرشيف، يقع المجلد الذي يحتوي على SDK بجوار حزمة التثبيت. يحتوي هذا المجلد على الوثائق والأمثلة وملفات الرأس والكائنات لجميع اللغات المدعومة رسميًا. تمت كتابة Leap Motion SDK في البداية بلغة C++، ولكن بفضل SWIG، أصبح يدعم العديد من اللغات المترجمة والمفسرة الشائعة، بما في ذلك C# (جنبًا إلى جنب مع إطارات .NET وMono بالإضافة إلى محرك Unity 3D)، وObjective-C، وJava، وPython. جافا سكريبت. سويج، يجري أداة مجانيةمفتوح المصدر، يعمل كمولد رمز جسر بين لغة C++ واللغات الأخرى. بالنسبة لتطويراتنا، سنستخدم لغة C++ باعتبارها لغتنا الأم. يتفاعل جهاز الكمبيوتر العميل ووحدة التحكم عبر اتصال TCP، الذي يفتح المنافذ 6437، 6438، 6439 - لكي يعمل الجهاز بشكل صحيح، يجب عليك التأكد من عدم حظرها بواسطة جدار الحماية. يتيح لك Leap Motion SDK تطوير نوعين من التطبيقات: تلك التي تدعم الواجهة الأصلية (تطبيقات العميل) وواجهة WebSockets (تطبيقات الويب التي تعمل في بيئة المتصفح). يستخدم الأول مكتبة ديناميكية للعمل (تلقي البيانات من وحدة التحكم) - خاصة بنظام تشغيل معين، فهو يتصل بالجهاز ويوفر الخدمة للمستوى العلوي. بينما يتلقى الأخير البيانات من خلال خادم WebSockets الخاص بالمضيف المحلي على شكل رسائل JSON. في هذه الحالة، يتم استخدام وظيفة JavaScript + LeapJS الإضافية مفتوحة المصدر، وللتحكم في الجهاز، يمكن للتطبيق إرسال رسائل التكوين عبر خادم WebSockets مرة أخرى إلى الجهاز.

الترميز لحركة قفزة

سنركز اليوم على التطبيقات الأصلية لنظام التشغيل OS X، ولكن بفضل طبيعة الأدوات عبر الأنظمة الأساسية، يمكنك بسهولة إعادة إنشاء برامجنا لتتوافق مع نظام تشغيل آخر مدعوم. لن نقوم بتطوير تطبيق وحدة تحكم يعرض الإحداثيات التي ترسلها وحدة التحكم، فهذا أمر ممل. سوف نتعمق في بعض الأكواد الجادة ونكتب تطبيقًا ينتج تمثيلًا رسوميًا.

التصور

توفر Leap Motion SDK أدوات رائعة للحصول على البيانات من وحدة التحكم، ولكن لا يوجد بها أي شيء على الإطلاق لإخراج الرسومات. لذلك فإن طريقنا يكمن في استخدام أدوات إضافية. لعرض الرسومات من تطبيق أصلي ضمن OS X، تحتاج إلى استخدام OpenGL. تفوح من هذه الفكرة رائحة حزن: المستوى منخفض جدًا، ولا توجد مقالة كافية، ويمكنك عمومًا أن تغفو. لذلك، سوف نستخدم الإعداد عبر OpenGL. من بين أكبر مجموعة من المكتبات المشابهة، اخترت Cinder. Cinder عبارة عن مجموعة من المكتبات مفتوحة المصدر لمعالجة الصور والرسومات والصوت والهندسة الحسابية. كما قلت أعلاه، فإن Cinder عبارة عن منصة مشتركة، وسيعمل نفس الكود ليس فقط على منصات سطح المكتب، ولكن أيضًا على الهواتف الذكية والأجهزة اللوحية من Apple. في المستقبل، سيقوم المطورون بتوسيع نطاق منصات الأجهزة والبرامج المدعومة. بالإضافة إلى ذلك، لإنشاء قالب مشروع جديد، يتضمن Cinder الأداة المساعدة TinderBox، بمساعدتها يمكنك إنشاء مشروع يدعم OpenGL وDirectX وCocoaView (OpenGL)، ويمكن أن يحتوي كل من هذه القوالب على دعم لمحرك الفيزياء Box 2D، مكتبة عرض القاهرة، ومكتبة FMOD الصوتية، ومكتبة رؤية الكمبيوتر OpenCV. بالنسبة لأجهزة Apple، يمكنك إنشاء قالب حيث سيتم استخدام مديري تحديد الموقع الجغرافي والحركة باستخدام أطر العمل القياسية (الموقع الأساسي، والحركة الأساسية). يمكن تضمين كل هذا بسهولة في المشروع في مرحلة إنشائه باستخدام واجهة المستخدم الرسومية. بالإضافة إلى ذلك، يمكن إنشاء المشروع لبيئة برمجة وبيئة تشغيل محددة: Xcode (Mac)، Xcode (iOS)، VC 12/13 (WinRT). النتيجة الطبيعية: لدينا أكثر من مكتبة لواجهات برمجة التطبيقات، كلها تشبه محرك ألعاب متعدد المنصات! يمكنك أيضًا إنشاء مستودع Git محلي على الفور. في رأيي المتواضع، سيصبح Cinder قريبًا أفضل حل متعدد المنصات، حتى مقارنةً بـ Qt. نظرًا لأن Cinder يستخدم التعزيز بشكل نشط، فسيكون من الجيد ترقيته إليه احدث اصدار. دعونا نفتح وحدة التحكم المفضلة لدينا ونقوم أولاً بتثبيت نظام إدارة لحزم Homebrew القديمة (في رأي Apple القاسي):

روبي -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

ثم قم بتثبيت Boost 1.55 من هذا النظام: Brew install Boost. للعمل مباشرة مع Cinder، ما عليك سوى تنزيله وفك ضغطه، ولإنشاء مشروع، استخدم الأداة المساعدة TinderBox الموجودة في المجلد الفرعي للأدوات.

الأيدي والأصابع وإدارة المساحة

لذا، للإحماء، لنقم بإنشاء تطبيق يعرض ما يراه المستشعر في النافذة. إذا كنت قد قرأت مقالاتي عن Kinect، فربما تتذكر أننا بدأنا هناك بنفس الطريقة، فلنعتبره تقليدًا. القالب من TinderBox لـ OpenGL مثالي بالنسبة لنا، نحتاج فقط إلى إضافة دعم Leap Motion إليه. للقيام بذلك، من الدليل الفرعي التضمين لمجلد LeapSDK الذي تم فك حزمته مسبقًا (انظر أعلاه) إلى شجرة الدليل لمشروع بيئة Xcode، اسحب ملفين: Leap.h وLeapMath.h. عند اكتمال النقل، سيظهر مربع حوار حيث تحتاج إلى تحديد طريقة إدراج / ربط الملفات بالمشروع؛ حدد خانة الاختيار الوجهة -> نسخ العناصر إلى مجلد المجموعة الوجهة (إذا لزم الأمر)، وحدد خانة الاختيار المجلدات -> إنشاء مجموعات لأي مجلدات مضافة، وحدد أدناه المشروع الذي تتم إضافة الملفات إليه. بالإضافة إلى ذلك، لا تزال بحاجة إلى مكتبة ديناميكية. نظرًا لأن مترجم لغة C++ (LLVM) المضمن في Xcode يتبع معيار C++ 11، فيجب عليك استخدام مكتبة تم تجميعها مع تدخلها. يوجد مثل هذا lib، ويسمى (الإصدار لنظام التشغيل OS X) libLeap.dylib وهو موجود في الدليل الفرعي libc++ للمجلد الفرعي lib لدليل LeapSDK. يجب أيضًا نقل lib إلى نظام Xcode، مع إجراء نفس الحوار اللاحق. نحتاج الآن إلى إخبار بيئة Xcode باستخدام lib المضاف إلى المشروع. في شجرة الملف/الدليل الخاصة بالمشروع، انقر فوق اسم المشروع (العنصر العلوي)، وسيتم فتح قائمة تكوين المشروع. انتقل إلى علامة التبويب مراحل البناء. في الزاوية العلوية اليسرى من علامة التبويب، من خلال النقر على علامة الزائد التي ظهرت قائمة السياقحدد مرحلة بناء ملفات التأقلم الجديدة. ستظهر لوحة Copy Files المطوية أسفل علامة التبويب. بعد توسيعه، حدد الملفات التنفيذية من القائمة المنسدلة الوجهة، وفي قائمة فارغةالملفات (أدناه) من شجرة المشروع، واسحب lib الديناميكي، ويجب إلغاء تحديد خانة الاختيار نسخ فقط عند التثبيت. وهي الآن مرتبطة بالمشروع. والخطوة التالية هي أن يقوم المستشعر بنقل بيانات الصورة الأولية لما يراه؛ في إعدادات Leap Motion (عنصر الإعدادات في قائمة السياق الخاصة برمز الجهاز في شريط القائمة)، في علامة التبويب عام، حدد خانة الاختيار السماح بالصور. يتضمن القالب الذي تم إنشاؤه بواسطة TinderBox العديد من المجلدات والملفات والأطر اللازمة. منذ أن قمت بتسمية المشروع RawImagesApp، أضفت ملف الرأس RawImages.h. لقد وضعت فيه إدراج ملفات رأس Cinder و Leap، وإدراج مساحة اسم Leap وإعلان كائن وحدة تحكم Leap Motion، في الواقع، إنها النقطة المركزية للمناقشة. بالإضافة إلى ذلك، تم إنشاء TinderBox مصدربالنسبة لمشروعنا، سيكون بمثابة نقطة انطلاق جيدة للتنمية. يحتوي ملف cpp على الفئة الرئيسية (في حالتي RawImagesApp) للتطبيق، والتي تتوافق مع اسم المشروع والموروثة من فئة Cindera الأساسية - AppNative. يتم إنشاء النافذة باستخدام الماكرو CINDER_APP_NATIVE. تعلن فئة RawImagesApp عن الوظائف الافتراضية للفئة الأساسية وتنفذها. يتم استدعاء وظيفة الإعداد عند بدء تشغيل التطبيق، ويتم وضع رمز التهيئة هنا: لعرض البيانات الرسومية "الخام" في هذه الطريقة، تحتاج إلى تعيين علامة سياسة مستشعر خاصة، والتي تحتاج إلى استدعاء طريقة setPolicyFlag، التي تمرر إليها قيمة POLICY_IMAGES لوحدة التحكم. يتم استدعاء وظيفة التحديث لكل إطار للتحديث؛ يتم استدعاء الرسم لإعادة رسم المحتوى؛ mouseDown - عند الضغط على مفتاح الماوس. افتراضيًا، لا يتم تضمين جميع الوظائف الممكنة؛ على سبيل المثال، يمكنك إضافة PreparSettings - وهي وظيفة يتم استدعاؤها قبل إنشاء النافذة وتسمح لك بتمرير المعلمات إليها. دعونا نضيف هذه الوظيفة بحيث تكون النافذة أكبر عند إنشائها، ونقوم أيضًا بتعيين معدل التحديث لها. يبدو الإعلان داخل فئة RawImagesApp كما يلي:

إعداد باطلة (ci::app::AppBasic::Settings* settings);

والتنفيذ هو مثل هذا:

باطلة RawImagesApp::prepareSettings(Settings* settings) ( settings->setWindowSize(1024, 768); settings->setFrameRate(60.0f);)

أنا متأكد من أن التعليقات غير ضرورية هنا. دعونا نضيف نسيج OpenGL إلى فئة التطبيق الرئيسية: gl::Texture tex; سيكون مفيدًا لنا في الإخراج. في وظيفة التحديث، سنستقبل الصور من المستشعر إطارًا تلو الآخر، ثم نقوم بمعالجتها وعرضها على النسيج (انظر المصدر). في كل إطار نحصل على إطار تحكم: إطار الإطار = وحدة التحكم. الإطار ()؛. يحتوي كائن فئة الإطار على كافة الكائنات الأخرى التي تقوم وحدة التحكم بإنشاء معلومات عنها. نحن بحاجة فقط لاستخراجهم منه. بالمناسبة، استلام الإطار بهذه الطريقة - أخذه من وحدة التحكم بنفسك (الاقتراع المتسلسل للجهاز) - هو الأبسط ويتم استخدامه في أغلب الأحيان. يتم تحديد أي لحظات وسيطة مسبقًا: إذا كان ذلك في الاستطلاع التالي إطار جديدليس جاهزا بعد، ثم يعود القديم؛ إذا كانت عدة إطارات جاهزة بالفعل أثناء المسح اللاحق، فسيتم وضعها في التاريخ. هناك طريقة أخرى للحصول على الإطارات، ولكننا لسنا بحاجة إليها في الوقت الحالي، وسننقل النظر فيها إلى القسم التالي. بعد استلام الإطار، نقوم باستخراج الصور الملتقطة بواسطة المستشعر منه: ImageList Images =frame.images();. هناك اثنان منهم، حيث يوجد كاميرتان في المستشعر، لذلك هناك صورتان في كل لحظة. بعد ذلك، نقوم بمعالجة كليهما بالتتابع. الأول في السطر: const unsigned char * image_buffer = image.data(); نحصل على بيانات الصورة. في وقت معين، يمكننا الحصول على صور مختلفة من وحدة التحكم - ليس فقط من حيث المحتوى، ولكن أيضًا من حيث الحجم. يقوم السطر التالي بإنشاء كائن Surface الذي يعد جزءًا من Cinder API. يتم تمرير منشئه أربع معلمات: عرض السطح وارتفاعه، واستخدام قناة ألفا، وتسلسل قنوات الألوان (يتوافق ثابت SurfaceChannelOrder::RGBA مع المعيار: الأحمر والأخضر والأزرق وألفا، ولكن هناك يستخدم عدد آخر، على سبيل المثال، GDI أو Quartz تسلسلات ألوان أخرى). بعد ذلك، باستخدام أداة التكرار، يتم التكرار عبر جميع وحدات البكسل الموجودة على السطح (الفارغ حاليًا). ضمن هذه الحلقة، يتم تعيين لون البكسل. قررت أن أعطي الصورة الناتجة لونًا ضاربًا إلى الحمرة (كما هو الحال في DOOM :)). ولذلك، يتم تعيين القناة الحمراء لكل بكسل على القيمة المقابلة للقيمة من بيانات الصورة. تتم إعادة ضبط القنوات المتبقية على الصفر. بعد اجتياز الصورة بأكملها، نقوم ببناء كائن نسيج باستخدام طريقة gl::Texture بناءً على السطح الذي تم تمريره في المعلمة. إذا قمت بعرض النسيج على الشاشة الآن، فسيكون صغيرًا جدًا. لذلك، نقوم أولاً بقياسه: glScalef(2.0, 3.0, 0.0);. الآن دعونا نعرض: gl::draw(tex);.

أرز. 5. ماذا ترى وحدة التحكم Leap Motion؟

العظام

في المثال التالي، سنعرض أيدينا في سياق الآلة، أي أننا سنرسمها بالإحداثيات المناسبة. ستكون هذه المهمة أكثر صعوبة من المهمة السابقة، ولا يزال LeapSDK يوفر واجهة منخفضة المستوى إلى حد ما، لذلك لتبسيط مهمتنا سوف نستخدم الحلول الجاهزة. قام المبرمج الأمريكي ستيفن شيبرل، تحت الاسم المستعار Ban the Rewind، بتطوير فئتين (يرث المستمع من Leap::Listener وDevice) التي تؤدي جميع الأعمال النموذجية المرتبطة بمعالجة وإرجاع حالات الجهاز. بالإضافة إلى ذلك، قام ستيفن بوضع وظائف في الملف تؤدي حسابات الإحداثيات والمصفوفات، مما سيسمح لنا بالتركيز على العمل عالي المستوى. بادئ ذي بدء، ترجع هذه الحسابات إلى حقيقة أنه على عكس إحداثيات سطح المكتب لنظام التشغيل، حيث ينمو المحور Y من الأعلى إلى الأسفل، فإن أصل إحداثيات Leap Motion (0، 0، 0) يبدأ في الزاوية اليسرى السفلية ( Y ينمو من الأسفل إلى الأعلى)، لذلك، عند استخدام قيم الإحداثيات Y، يجب أن تكون مقلوبة. يتم إجراء حسابات إضافية على المتجهات والمصفوفات، كما هو موضح أعلاه. لذلك، دعونا ننشئ مشروعًا جديدًا بنفس طريقة المشروع الأخير. بالإضافة إلى ذلك، قم بإضافة الملفات Cinder-LeapMotion.h وCinder-LeapMotion.cpp إليها (راجع المواد الخاصة بالمقالة). في الفئة الرئيسية للتطبيق، تم تجديد عدد متغيرات الأعضاء، وأضيف ما يلي: mDevice - رابط للجهاز - كائن من فئة الكتابة الذاتية، mFrame - فئة الإطار (لقد نظرنا بالفعل إلى هذه الفئة في القسم الأخير)، mCamera - كائن من فئة CameraPersp أو Cindera، تمت إضافة طريقة أيضًا onFrame (وظيفة رد اتصال فئة الأسلاف)، والتي، عن طريق أخذ كائن من فئة Frame، تجعله حديثًا - تقوم بتعيينه إلى mFrame متغير العضو تتيح طريقة الإعداد أوضاع الرسم وتنعيم الخطوط والمضلعات؛ تهيئة الكاميرا: تحديد منطقة الرؤية (في معلمات المُنشئ)، وتحديد نقطة العرض (في طريقة lookAt)؛ ثم يتم إنشاء كائن من فئة الجهاز المكتوب ذاتيًا، والذي يتضمن ثلاثة كائنات فئة ضرورية: وحدة التحكم، والجهاز (من مساحة الاسم Leap)، والمستمع؛ بالإضافة إلى ذلك، لا غنى عن كائن المزامنة (mutex). نأتي الآن إلى الطريقة الثانية لاستقبال الإطارات من الجهاز - الاستماع. فئة أجهزتنا موروثة من فئة المستمع، مما يسمح لنا بتنفيذ هذه الميزة، أي أننا نستقبل الإطارات من وحدة التحكم بتردد يتوافق مع تشغيلها. عندما تكون وحدة التحكم جاهزة لإرسال إطار، تستدعي فئة المستمع طريقة onFrame التي قمنا بتجاوزها وتمريرها إلى الإطار (في المعلمة)، وقد ذكرنا هذه الطريقة أعلاه. بالمناسبة، لماذا نحتاج إلى كائن المزامنة؟ الشيء هو أنه عند استخدام المستمع - وظيفة رد الاتصال - يتم استدعاء onFrame في الوضع متعدد الخيوط. أي أن كل مكالمة يتم تنفيذها في سلسلة رسائل مستقلة. لذلك، نحتاج إلى الاهتمام بسلامة الخيط في لحظة استلام الإطار من الجهاز، وهو ما يخدمه كائن المزامنة (mutex). عند الاستماع، يمكنك أيضًا تجاهل وصول إطار جديد (على سبيل المثال، إذا لم تتم معالجة الإطار السابق بعد) وإضافته إلى السجل (للمعالجة لاحقًا). دعنا نعود إلى الكود الخاص بنا، إلى المكان الذي تم فيه إنشاء كائن فئة الجهاز الخاص بنا. بمجرد إنشائه، يتم تعيين وظيفة رد الاتصال له.

إعادة الرسم

لكن الشيء الأكثر إثارة للاهتمام يحدث في طريقة إعادة الرسم. أولاً، يتم تنفيذ الخطوات التحضيرية: مسح الشاشة، وضبط المصفوفات الحالية للكاميرا، وتمكين خلط ألفا، والقدرة على القراءة والكتابة إلى المخزن المؤقت للعمق، وضبط اللون للرسم. ثم يبدأ الرسم الفعلي: نستقبل من الجهاز متجهات ثلاثية الأبعاد لموضع المرفق والمعصم ونستخدم طريقة gl::drawLine لرسم خط بين هذه النقاط. بعد ذلك، نحصل على عدد الأصابع ونستخدم مكرِّرًا للتمرير عبر الحاوية التي تحتوي عليها. في الحركة القفزية، يتكون كل إصبع من أربعة أجزاء (الكتائب): الطرفية والمتوسطة والدانية والمشطية. على الرغم من أن الكتائب الأخيرة مفقودة على إبهام يد بشرية حقيقية، إلا أنها موجودة هنا، ولكن قيمتها صفر. في حلقة متداخلة، عبر جميع الكتائب، نحصل على إحداثيات أجزائها المختلفة: البداية، المركز، النهاية، الاتجاه. يتم تمثيل الإحداثيات كمتجهات (Vec3f). أيضًا داخل هذه الدورة الفرعية، يتم رسم الكتائب باستخدام طريقة drawLine، والتي يتم تمرير الإحداثيات الموجودة إليها. بالإضافة إلى ذلك، يتم تشكيل حاوية من المفاصل (المفاصل) من الكتائب الأولى. عند الخروج من الحلقة الخارجية، يتم رسم خطوط تربط الأصابع وتشكل اليدين. هذا هو المكان الذي تنتهي فيه متعة إعادة الرسم. قم بتجميع البرنامج وتشغيله، ضع يديك فوق المستشعر، وسيتم عرض الخطوط العريضة لأطرافك في النافذة.

نتائج

Leap Motion هي وحدة تحكم ثورية، فهي لم تحل محل شاشة اللمس فحسب، بل أعطتنا أيضًا التحكم في الفضاء، مما يجعل الحدود بين العالم الحقيقي والواقع الافتراضي أكثر شفافية. على مستوى مطور البرمجيات، نحصل على مريحة واجهة البرنامجمما يسمح لك بالتحكم في جميع إمكانيات المستشعر. تمنح أدوات المطورين عبر الأنظمة الأساسية إمكانية الوصول إلى الجهاز بمجموعة متنوعة من لغات البرمجة، سواء المترجمة أو المترجمة (حتى الآن اثنتين فقط من اللغات الأخيرة هما Python وJavaScript). بالإضافة إلى ذلك، تتمتع واجهة برمجة التطبيقات (API) ببنية متناغمة ومفهومة: في كل لحظة، تلتقط وحدة التحكم صورة، وتشكل إطارًا بناءً عليها وترسلها إلى افضل مستوى- في برنامج تطبيقي، حيث يقوم المبرمج، بعد تحليل الإطار، بالعمل مع كيانات مثل الأيدي والأصابع والمؤشرات (الأدوات) والمزيد. ونظرًا لاحتواء الجهاز على كاميرتين، فإنه غالبًا ما يتم تركيبه على نظارات الواقع الافتراضي لإنشاء تأثير الواقع المعزز، وهو ما يتحقق بسبب وجود في الصور الملتقطة بالكاميرات القيم المقاسة لسطوع الأشعة تحت الحمراء الباعث، بالإضافة إلى بيانات المعايرة اللازمة لتصحيح العدسة المعقدة. تطرقنا في مقال اليوم إلى موضوع إنشاء حلول تطبيقات تتفاعل مع الجهاز عبر واجهة برمجة التطبيقات (API). هذا الموضوع واسع جدًا، ولم يتم تناول كل شيء - فقد تم استبعاد الإيماءات والحركات الخاصة ومحاكاة اللمس وغير ذلك الكثير. كل هذا، بالإضافة إلى أشياء أخرى كثيرة، مثل استخدام وحدة التحكم في Windows والويب، والتكامل مع محركات الألعاب/الرسومات، قد يصبح موضوعًا للمناقشة في المقالات القادمة. كل هذا يتوقف عليك - اكتب إلينا واطلب الاستمرار :). في غضون ذلك، حظا سعيدا في جميع مساعيك ونراكم على صفحات هاكر!

قضية السعر- 4990 فرك.

محتويات التسليم- الجهاز نفسه عدد 2 سلك USB .

مظهر خارجي.

عندما التقطت الصندوق لأول مرة مع ما أعطي لي قفزة الحركة، فكرة واحدة كانت تدور في رأسي - ما هذا بحق الجحيم؟ نظرًا لأن الحوار الذي دار منذ ستة أشهر والذي كان يناقش هذا المنتج الجديد في السوق الإلكترونية قد اختفى تمامًا من ذاكرتي، ولم يتم تضمين التعليمات باللغة الروسية، فقد اضطررت إلى الذهاب إلى Google للحصول على المساعدة، والذي أعطاني شيئًا مثل ما يلي. :)

نظريا. في الممارسة العملية، بالطبع، كل شيء مختلف إلى حد ما. :)

يبدو الجهاز نفسه تقريبًا كما في الصورة، على الرغم من أن الأبعاد أكبر قليلاً: طول 8 سم وعرض 3 سم. نظرًا للبطانة المطاطية، يجب أن تقف بثبات على الطاولة، على الرغم من أنها دائمًا ما تلتف قليلاً بالنسبة لي :) وهي متصلة بالكمبيوتر عبر كابل USB-USB 3.0، مثبت بين الشاشة ولوحة المفاتيح وتعمل بسلاسة على نظام Windows 7.

يكتب الكثير من الأشخاص عن بعض الاختبارات الخاصة عند توصيل الجهاز، لكن لم يكن لدي أي شيء من هذا القبيل، باستثناء التسجيل في Leap Motion Airspace، ولكن المزيد عن ذلك أدناه.

قفزة الحركة - البرمجيات.

وبعد أن تعرف النظام على الجهاز الغريب وأبلغني بسعادة أنه جاهز للاستخدام، لوحت بيدي رسميًا أمام الشاشة، و... لم تحدث معجزة. :)

اضطررت للذهاب إلى موقع الويب https://airspace.leapmotion.com/ والتنزيل من هناك Leap Motion Airspace - وهو برنامج يمثل خدمة نموذجية لتوزيع الألعاب والبرامج الأخرى التي تم إنشاؤها لهذا الجهاز.

لقد قمت بتنزيل البرنامج وتثبيته وتسجيله وتثبيته، ثم بدأت الاختبار. يوضح البرنامج الأول، Orientation، القدرات الأكثر إثارة للإعجاب في Leap Motion. كان من غير المعتاد أن ترى أطرافك العلوية بهذا الشكل:

علاوة على ذلك للاختيار من بينها - يحتوي متجر Airspace Store على ألعاب وبرامج لإنشاء كائنات متنوعة وألعاب الرسم ومبدعي الموسيقى وأشياء أخرى مثيرة للاهتمام بنفس القدر. بالطبع، هناك الكثير من المدفوعة، ولكن من بين المجانية هناك شيء للعب به.

ربما كان الاكتشاف الأكثر إزعاجًا هنا هو فصل البرامج لنظامي التشغيل Mac و Windows، بحيث لن يضطر أصحاب النظام "الخاطئ" إلا إلى لعق شفاههم في بعض البرامج.

للقيام بذلك، انتقل إلى القسم ضوابط الكمبيوتروتنزيل هناك بدون لمس- لنظامي التشغيل Mac وWindows على التوالي.

Leap Motion - مهيأ للتشغيل العادي.

ثم تبدأ المتعة. :) في البداية، استغرق الأمر مني حوالي 5 دقائق حتى أضغط على الأيقونة الموجودة على سطح المكتب، كان الأمر مشابهًا للشعور الذي نشأ عند استخدام الكمبيوتر لأول مرة - كل شيء مخيف، ينقر ولا شيء يعمل. :) لذلك في مرحلة معينة من بدس الشاشة، بدأ الحيرة في إفساح المجال لخيبة الأمل.

ثم جاء الفهم أنه سيكون من الجيد الدخول إلى الإعدادات، إن وجدت. تم العثور على الإعدادات في منطقة الإعلام وكانت عبارة عن رمز مضغوط "إيماءات". انقر بزر الماوس الأيمن عليه (أوه، يا لها من نعمة عندما يعمل كل شيء على الفور وكما ينبغي) وحدد افتح لوحة التحكم بالإيماءات.

في النافذة التي تفتح إيماءاتنحن نعرض قلم دقيق وحساسية اللمس.ثم انتقل إلى علامة التبويب خيارات القلم. حدد خطًا انقر نقرًا مزدوجًا انقر نقرًا مزدوجًاو اضغط خيارات.

المتزلجون في نافذة جديدة سرعةو مسافةالتحرك على طول الطريق إلى الجانب أكثرواختبار النتيجة في نافذة صغيرة مع باب. إذا تم كل شيء بشكل صحيح وكنت معتادًا على النقر المزدوج، فسيتم فتح الباب. نقوم بتنفيذ نفس الإجراء في علامة التبويب يلمس.

سقطت أداة غير عادية على مكتبنا في شركة Cedro - Leap Motion، والتي تم تقديمها العام الماضي وتسببت في الكثير من الضجيج. يهدف منشئوها بجدية إلى إعادة التفكير في إدارة الواجهة، والهدف الرئيسي هو استبدال الماوس. لست متأكدًا من أن هذا سيكون هو الحال، لكن إبقاء يديك على الطاولة أكثر راحة، كما أن تحريكهما باستمرار سيجعلك متعبًا بسرعة. لكن بعض المهام ستكون بالتأكيد أكثر ملاءمة لتنفيذها باستخدام مثل هذا المستشعر. على سبيل المثال، الألعاب، لأنه بالنسبة لجميع أنواع الأروقة وقتلة الوقت، والتي يمكنك من خلالها الاسترخاء ونسيان العمل لمدة 20 دقيقة، فإن Leap Motion مثالية.

كيف يعمل هذا الأمر برمته؟ باختصار، يتم تشكيل مكعب أمام الجهاز، طول ضلعه 60 سم، يتم من خلاله التعرف على حركات أصابعك بدقة كبيرة. بالفعل، تتعرف Leap Motion على الأصابع العشرة جميعها، ويتم التقاط دقة حركتها وصولاً إلى أجزاء من المليمتر. الكمون هو أيضا الحد الأدنى. لكن التأخر يحدث، وحتى الآن، في كثير من الأحيان. على سبيل المثال، حتى في التطبيق التجريبي، تختفي الأصابع إذا قمت بتحريكها وتدويرها. وأحيانًا يبدو أن الإصبع ممزق. ومع ذلك، فإن العمل جيد بالفعل، وفي تطبيقات مثل Cut The Rope، حيث يتم استخدام إصبع واحد فقط، نادرًا ما يحدث تأخير. و هنا جوجل إيرثلم أتمكن قط من ترويضها، فالأرض تدور في ذعر بين يدي، ثم أجد نفسي على الفور تحت الماء. وهكذا في كل وقت.

Leap Motion ليست مجرد قطعة من الأجهزة، بل هي نظام بيئي كامل. سيكون من غير المجدي أن تتباهى Leap Motion بالعروض التوضيحية فقط. لا، قام المطورون بإنشاء نوع من المحور لأجهزة الكمبيوتر (Mac و PC) - المجال الجوي. هنا ترى كل ما قمت بتنزيله/شرائه بالفعل. يوجد أيضًا متجر تطبيقات الويب - Airspace Store. هنا تحتاج إلى التسجيل، وبعد ذلك يمكنك البدء في التسوق. في الغالب يتم دفع التطبيقات، وهناك فئات، وهناك أقسام فقط لنظام التشغيل Mac ونظام التشغيل Windows فقط. بعد شراء تطبيق أو لعبة، يمكنك العثور على الشراء في المركز، ويتم التنزيل من هناك. إذا قمت بتسجيل الدخول على جهاز كمبيوتر آخر، فستتم مزامنة جميع مشترياتك.

Leap Motion نفسها عبارة عن صندوق مضغوط بحجم محرك أقراص فلاش سعة 128 جيجابايت. الجسم مصنوع من الألومنيوم والزجاج وقاعدة مطاطية، مما يمنع الجهاز من التململ على الطاولة. يتم توصيل Leap Motion بالكمبيوتر باستخدام كبل USB، على غرار تلك الخاصة بمحركات الأقراص الصلبة الخارجية مقاس 2.5 بوصة. تشتمل المجموعة على كابلين من هذا النوع، أحدهما بطول متر والنصف الآخر بطوله. بعد توصيل LM بجهاز الكمبيوتر الخاص بك، كل ما عليك فعله هو تثبيت التطبيق، والذي يمكن تنزيله من موقع الويب، وتسجيل جهازك.

في الوقت الحالي، ليست أكثر من مجرد لعبة. الشيء الوحيد تطبيق مفيد، والذي تمكنت من العثور عليه هو Touchless for Mac، والذي يحول LM إلى لوحة تتبع. ولكن، مرة أخرى، من الصعب جدًا استخدامه. بل أود أن أقول - غير واقعي. في الوقت الحالي، يعد Leap Motion مجرد متعة للأصدقاء، حيث يُظهر قدراته باستخدام التطبيقات والألعاب التجريبية. لكن في الوقت نفسه، هذه هي الخطوة الأولى نحو المستقبل. أعتقد أنه خلال عامين سنكون قادرين على رؤية مثل هذا الجهاز في أكثر من كمبيوتر محمول.




قمة