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

في نافذة الخصائص، قم بالتمرير لأسفل للعثور على قسم الكاميرا. يمكنك تكوين الخصائص التالية مباشرة أو من خلال نص برمجي.

مسافة الزوم
معًا، تحدد CameraMaxZoomDistance و CameraMinZoomDistance النطاق الذي يمكن للاعبين من خلاله زوم الكاميرا بالنسبة لشخصية اللاعب. إذا قمت بتعيين قيمة قصوى مرتفعة جدًا مثل 500، فسيسمح للاعبين بتكبير الكاميرا بعيدًا في الفضاء. إذا كنت ترغب في قفل الكاميرا على مسافة معينة بعيدًا عن الشخصية ومنع الزوم، قم بتعيين هاتين الخاصيتين إلى نفس القيمة.
LocalScript - نطاق زوم الكاميراlocal Players = game:GetService("Players")local player = Players.LocalPlayerplayer.CameraMaxZoomDistance = 25player.CameraMinZoomDistance = 50
وضع الكاميرا
تحدد خاصية CameraMode السلوك العام للكاميرا بين خيارين:
| الإعداد | الوصف |
|---|---|
| كلاسيكي | كاميرا Roblox الكلاسيكية من منظور ثلاثة أشخاص والتي يمكن تكبيرها إلى أول شخص. تتيح للاعبين التكبير والتصغير (ما لم يتم قفل الزوم) وتدوير الكاميرا حول شخصيتهم. |
| قفل أول شخص | يقفل الكاميرا في وضع أول شخص. عندما تكون في هذا الوضع، تكون جميع أجزاء / عناصر شخصية اللاعب غير مرئية لهم، باستثناء أدوات Tools المجهزة. |
وضع الحجب
تتحكم خاصية DevCameraOcclusionMode في سلوك الكاميرا عندما لا يستطيع اللاعب رؤية شخصيته، مثل عندما يتم حجبها بواسطة BasePart.
| الإعداد | الوصف |
|---|---|
| زوم | إذا تحركت شخصية اللاعب خلف كائن مع Transparency أقل من 0.25، فإن الكاميرا تقوم بالتكبير قرب الشخصية بحيث يمكن رؤيتها. بمجرد أن تتحرك الشخصية إلى وضع يمكن رؤيته، تعود الكاميرا إلى الزوم العادي. |
| كاميرا غير مرئية | إذا تحركت شخصية اللاعب خلف كائن مع Transparency أقل من 0.75، تبقى الكاميرا غير متحركة ولكن يصبح الكائن شبه شفاف بحيث يمكن رؤية الشخصية. بمجرد أن تتحرك الشخصية إلى وضع يمكن رؤيته، يعود الكائن إلى شفافيته الطبيعية. |
وضع الحركة
تحدد DevComputerCameraMovementMode (للأجهزة الكمبيوتر) وDevTouchCameraMovementMode (للأجهزة المحمول/الأجهزة اللوحية) كيفية تحرك اللاعب بالكاميرا.
| الإعداد | الوصف |
|---|---|
| اختيار المستخدم | ستتحرك الكاميرا بناءً على إعدادات الكاميرا الخاصة باللاعب داخل التجربة. |
| كلاسيكي | تظل الكاميرا عند مسافة الزوم الخاصة بها، تتبع شخصية اللاعب بينما تتحرك حول العالم. يمكن للاعبين أيضًا ميل عرض الكاميرا لأعلى/أسفل ويدور حول شخصيتهم. |
| متابعة | مماثل لـ كلاسيكي ولكن قد تدور الكاميرا قليلاً لمواجهة شخصية اللاعب إذا كانوا يتحركون في أي اتجاه ليس موازياً لاتجاه الكاميرا. |
| مداري | تظل الكاميرا عند مسافة زوم ثابتة وتتابع شخصية اللاعب بينما تتحرك حول العالم. يمكن للاعبين دوران الكاميرا حول شخصيتهم ولكن لا يمكنهم ميل العرض لأعلى أو أسفل. |
| تبديل الكاميرا | وظيفي فقط على أجهزة الكمبيوتر (ليس على الهواتف/الأجهزة اللوحية) من خلال DevComputerCameraMovementMode. عندما ينقر اللاعب بزر الفأرة الأيمن، تتبدل الكاميرا بين وضع كلاسيكي ووضع "نظرة حرة" حيث يتحرك الماوس للنظر حول العالم. |
برمجة الكاميرا
يمتلك كل عميل لاعب كائن Camera الخاص به والذي يقيم في Workspace المحلي، والذي يمكن الوصول إليه من خلال خاصية Workspace.CurrentCamera. يمكنك تجاوز نصوص الكاميرا الافتراضية في Roblox عن طريق تعيين CameraType إلى Scriptable ثم، عادة، التحكم في الكاميرا من خلال الخصائص التالية.
| الخاصية | الوصف |
|---|---|
| Camera.CFrame | الـ CFrame للكاميرا. هذه هي الخاصية الأكثر استخدامًا لتحديد الموقع وتوجيه كاميرا Scriptable في تجربة ما. |
| Camera.FieldOfView | مدى الفضاء ثلاثي الأبعاد القابل للملاحظة الذي يمكن رؤيته على الشاشة، يقاس بين 1–120 درجة في الاتجاه المحدد بواسطة Camera.FieldOfViewMode. القيمة الافتراضية هي 70. |
| Camera.CameraType | يتبدل بين سلوكيات الكاميرا المختلفة الموضحة في Enum.CameraType، بعضها يحاكي أنماط الحركة القابلة للاختيار. تعيين هذه الخاصية إلى Scriptable يمنحك السيطرة الكاملة على الكاميرا. |
| Camera.Focus | النقطة في الفضاء ثلاثي الأبعاد التي تنظر إليها الكاميرا. إذا كنت قد قمت بتعيين Camera.CameraType إلى Scriptable، فيجب عليك تحديث هذه الخاصية في كل إطار لأن بعض العناصر المرئية أكثر تفصيلاً اعتمادًا على مدى قربها من نقطة التركيز. |