الكاميرا

الطبقة العامة الكاميرا

ويمثّل كاميرا افتراضية تحدّد المنظر الذي يتم من خلاله عرض المشهد.

إذا كانت الكاميرا جزءًا من ArSceneView، ستتتبّع الكاميرا تلقائيًا وضع الكاميرا من ARCore. إضافةً إلى ذلك، ستؤدي الطرق التالية إلى عرض UnsupportedOperationException عند الاتصال:

  • setParent(NodeParent) - لا يمكن تغيير أحد الوالدَين للكاميرا، ف المشهد دائمًا.
  • setLocalPosition(Vector3) - لا يمكن تغيير موضع الكاميرا لأنّه يتم التحكّم في موضعها من خلال وضع الكاميرا ARCore.
  • setLocalRotation(Quaternion) - لا يمكن تغيير تدوير الكاميرا، لأنّه يتم التحكّم فيها من خلال وضع الكاميرا ARCore.
  • setWorldPosition(Vector3) - لا يمكن تغيير موضع الكاميرا لأنّه يتم التحكّم في موضعها من خلال وضع الكاميرا ARCore.
  • setWorldRotation(Quaternion) - لا يمكن تغيير تدوير الكاميرا، لأنّه يتم التحكّم فيها من خلال وضع الكاميرا ARCore.
جميع الوظائف الأخرى في العقدة متاحة. يمكنك الوصول إلى موضع الكاميرا وتدويرها أو تخصيص شكل تصادم للكاميرا أو إضافة أطفال إلى الكاميرا. ويؤدي إيقاف الكاميرا إلى إيقاف العرض.

الأساليب العامة

عدد عائم
عدد عائم
عدد عائم
getVerticalFovDegrees()
الحصول على مجال الرؤية الرأسي للكاميرا
طاقة
screenPointToRay (العائم x، العائم y)
لحساب أشعة في الفضاء العالمي تبعًا للمستوى القريب من الكاميرا والمرور بنقطة في مساحة الشاشة.
باطلة
setLocalPosition(موضع Vector3)
اضبط موضع الكاميرا.
باطلة
setLocalRotation(تناوب العرض)
اضبط دوران الكاميرا.
باطلة
setParent(العنصر الرئيسي NodeParent)
عملية غير متوافقة.
باطلة
setVerticalFowDegrees(فاصلة عمودية عائمة)
لضبط حقل الرؤية الرأسي للكاميرا غير التابعة للدرجات بالدرجات.
باطلة
setWorldPosition(موضع Vector3)
اضبط موضع الكاميرا.
باطلة
setWorldRotation(دوران رباعي)
اضبط دوران الكاميرا.
الموجّه 3
worldToScreenPoint(نقطة Vector3)
تحويل نقطة من مساحة العالم إلى مساحة شاشة.

الطرق المكتسَبة

الأساليب العامة

Public العائم getFarClipPlane ()

Public العائم getNearClipPlane ()

Public العائم getVerticalFovDegrees ()

الحصول على مجال الرؤية الرأسي للكاميرا

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

وبخلاف ذلك، سيؤدي هذا الإجراء إلى عرض القيمة التي تم ضبطها بواسطة setVerticalFovDegrees(float)، مع قيمة تلقائية تبلغ 90 درجة.

طرح
GoogleStateState: إذا تم طلبه قبل الإطار الأول بعد استئناف ARCore

علنية Ray screenPointToRay (العائم x، العائم y)

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

المَعلمات
x الموضع X في إحداثيات شاشة الجهاز
y الموضع Y في إحداثيات شاشة الجهاز

عامة باطلة setLocalPosition (موضع V3or3)

اضبط موضع الكاميرا. استخدِم الكاميرا isTopLevel() دائمًا، وبالتالي سيتّبِع هذا السلوك تمامًا مثل "setWorldPosition(Vector3)".

إذا كانت الكاميرا جزءًا من ArSceneView، هذا يعني أن هذه العملية غير متاحة. لا يمكن تغيير موضع الكاميرا، لأنّه يتم التحكّم في موضع الكاميرا من خلال وضع الكاميرا ARCore.

المَعلمات
الموضع الموضع المطلوب تطبيقه.

عامة باطلة setLocalRotation (دوران الربع)

اضبط دوران الكاميرا. استخدِم الكاميرا isTopLevel() دائمًا، وبالتالي سيتّبِع هذا السلوك تمامًا مثل "setWorldRotation(Quaternion)".

إذا كانت الكاميرا جزءًا من ArSceneView، هذا يعني أن هذه العملية غير متاحة. لا يمكن تغيير تدوير الكاميرا، لأنّه يتم التحكّم في ذلك من خلال وضع الكاميرا ARCore.

المَعلمات
دوران تدوير لتطبيقه.

Public Empty setParent (NodeParent الرئيسي)

عملية غير متوافقة. لا يمكن تغيير أحد الوالدين في الكاميرا، لأنه دائمًا ما يكون المشهد.

المَعلمات
عنصر رئيسي العنصر الرئيسي الجديد الذي ستكون هذه العقدة فرعيًا منه. في حال عدم وجود قيم، سيتم فصل هذه العقدة عن العنصر الرئيسي.

لضبط حقل الرؤية الرأسي للكاميرا غير التابعة للدرجات بالدرجات. إذا كانت هذه الكاميرا مزوّدة بتقنية الواقع المعزّز، هذا يعني أنّ جهاز vov مصدره ARCore ولا يمكن ضبطه، لذا سيتم طرح استثناء. الإعداد التلقائي هو 90 درجة.

المَعلمات
عموديFow
طرح
استثناء استثناء غير متوافق إذا كانت هذه الكاميرا هي تقنية الواقع المعزّز

Public false setWorldPosition (Vector3 الموضع)

اضبط موضع الكاميرا. استخدِم الكاميرا isTopLevel() دائمًا، وبالتالي سيتّبِع هذا السلوك تمامًا مثل "setLocalPosition(Vector3)".

إذا كانت الكاميرا جزءًا من ArSceneView، هذا يعني أن هذه العملية غير متاحة. لا يمكن تغيير موضع الكاميرا، لأنّه يتم التحكّم في موضع الكاميرا من خلال وضع الكاميرا ARCore.

المَعلمات
الموضع الموضع المطلوب تطبيقه.

علنية باطلة setWorldRotation (دوران)

اضبط دوران الكاميرا. استخدِم الكاميرا isTopLevel() دائمًا، وبالتالي سيتّبِع هذا السلوك تمامًا مثل "setLocalRotation(Quaternion)".

إذا كانت الكاميرا جزءًا من ArSceneView، هذا يعني أن هذه العملية غير متاحة. لا يمكن تغيير تدوير الكاميرا، لأنّه يتم التحكّم في ذلك من خلال وضع الكاميرا ARCore.

المَعلمات
دوران تدوير لتطبيقه.

علني Vector3 worldToScreenPoint (نقطة Vector3)

تحويل نقطة من مساحة العالم إلى مساحة شاشة.

تكون قيمة X سالبة عندما تكون النقطة يسار إطار العرض، بين 0 وعرض SceneView عندما تكون النقطة داخل إطار العرض، أكبر من العرض عندما تكون النقطة على يمين إطار العرض.

تكون قيمة Y سالبة عندما تكون النقطة أسفل إطار العرض، بين 0 وارتفاع SceneView عندما تكون النقطة داخل إطار العرض، وأكبر من الارتفاع عندما تكون النقطة فوق إطار العرض.

تكون قيمة Z دائمًا 0 لأن قيمة العرض هي إحداثيات ثنائية الأبعاد.

المَعلمات
نقطة واحدة نقطة في العالم لإجراء إحالة ناجحة
المرتجعات
  • متّجه جديد يمثّل النقطة في مساحة الشاشة.