التحجيم
جزء من قسم أساسيات البرمجة النصية في Unity في رحلة Unity على Coddy. الدرس 33 من 85.
يضاعف transform.localScale حجم الكائن على طول كل محور من محاوره. طول كل ضلع في المكعب الافتراضي وحدة واحدة، لذا يكون عرض المكعب الذي قيمة localScale له هي (4, 1, 0.5) أربع وحدات، وارتفاعه وحدة واحدة، وعمقه نصف وحدة. للحصول على حجم موحّد، اضرب في Vector3.one، وهي (1, 1, 1). تنمو فقاعة الصابون هذه بمقدار 0.3 في الثانية إلى أن يبلغ قطرها 3 وحدات:
public float size = 1f;
void Update()
{
size = Mathf.Min(size + 0.3f * Time.deltaTime, 3f);
transform.localScale = Vector3.one * size;
}تعيد Mathf.Min(a, b) العدد الأصغر من العددين، لذا ينمو size إلى أن يصل إلى 3، ثم يبقى عندها.
يحدث تغيير الحجم حول محور ارتكاز الكائن، الذي يقع في مركز الأشكال المضمّنة في Unity. يقع مركز مكعب طول ضلعه وحدة واحدة، يستقر على الأرض، عند y = 0.5. إذا غيّرت حجمه ليصبح ارتفاعه 3 وحدات، فسيصل إلى 1.5 وحدة فوق ذلك المركز و1.5 وحدة تحته، لذا سيغوص نصفه في الأرض. ولكي يستقر على الأرض، يجب أن يكون مركزه عند نصف ارتفاعه: y = 1.5.
يُضرب حجم العنصر الابن في حجم العنصر الأب: يُرسم العنصر الابن الذي قيمة localScale له هي (1, 1, 1) تحت عنصر أب جرى تكبيره بمقدار 2، بضعف حجمه. تقرأ transform.lossyScale الحجم النهائي في العالم، وهي للقراءة فقط؛ أما localScale فهي القيمة التي تضبطها.
التحدي
متوسطقلّص مكعب الثلج حتى 0.4، مع إبقائه على الأرض.
- أضف حقلًا
float size = 1f;. فيUpdate()، عيّنsize = Mathf.Max(size - melt * Time.deltaTime, 0.4f);. - عيّن
transform.localScale = Vector3.one * size;. - أبقِ قاعدته عند y = 0: عيّن قيمة y للموضع إلى
size / 2، مع الإبقاء على x وz.
اضغط على «العب»: ينكمش المكعب ويبقى على الأرض. ثم اضغط على «تحقق».
جرّب بنفسك
using UnityEngine;
public class Melt : MonoBehaviour
{
public float melt = 0.2f;
void Update()
{
// قلّص الحجم بمقدار melt كل ثانية حتى يصل إلى 0.4، مع إبقاء القاعدة على الأرض
}
}
جميع دروس أساسيات البرمجة النصية في Unity
1أساسيات C# في Unity
مرحبًا يا Unityالمتغيراتالأعداد العشرية تحتاج إلى fالنص في وحدة التحكممتغيرات تتذكرإذا وإلامقارنة الأعدادمراجعة: جامع العملات7الحلقات والدوال
التكرار باستخدام forحلقات داخل حلقاتكتابة دالةدوال تُعيد إجابةالمصفوفاتمراجعة: السُّلّم5المتجهات
جمع المتجهاتالاتجاهاتالفضاء المحلي والعالميالسرعة القُطريةالمسافة بين الأشياءVector3 بنية Structمراجعة: قيادة الطائرة المسيّرة8كائنات اللعبة والمكوّنات
المراجع في Inspectorالحصول على مكوّنالمكوّنات المفقودةإضافة مكوّنRequireComponentالإظهار والإخفاءمراجعة: مفتاح الإضاءة6التحويلات والتسلسل الهرمي
الآباء والأبناءارفع العلمالتحجيمانظر إلى الأشياءتحرّك نحو نقطةمراجعة: القمر في مدارهتدرّب بنفسك: Playground لـ Unity