لا ، أنا لا أدعي أن مقالتي فريدة من نوعها ، لأن الطريقة بسيطة للغاية ، لكن لسبب ما لم أجد برنامجًا تعليميًا مباشرًا لذلك.
لنبدأ بحقيقة أنه في الوحدة لا يمكنك تدمير / فصل / قطع شيء ما ، فإن تدميرنا في الواقع لن يكون تدميرًا على الإطلاق ، ولكن فقط تقليد بصري ، لأنه ، كما قلت أعلاه ، من المستحيل خلاف ذلك.
خاصة!
توقف عن صب الماء وإهدار وقتك (ما زلت أرى أنه من المناسب ترك المقدمة). أولاً ، تحتاج إلى تنزيل برنامج يسمى Blender من متجر Steam ، وبعد ذلك ندخل ونبدأ في الفهم.
أنشئ مشروعًا جديدًا ، وفي علامة التبويب "تحرير / تحرير" ، ابحث عن الزر "الإضافات" ، واكتب كسر الخلية في البحث ، ثم ضع علامة اختيار بجواره لتمكينه.
ثم نذهب إلى المشهد نفسه في Blender ، ونرى هناك المكعب الموجود في البداية عند إنشاء المشهد.
نحن مهتمون بعلامة التبويب "النمذجة" ، انتقل إليها ، وانقر بزر الماوس الأيمن على الكائن> تقسيم فرعي ، ونرى أن المكعب أصبح ، كما كان ، "خلية"
عد الآن إلى علامة التبويب الأولى "Layout" ، وانقر على زر كائن / كائن> تأثيرات سريعة / تأثيرات سريعة> كسر الخلية ، وسنفتح نافذة لإدارة الملحق.
فقط اضغط على زر "YES" وشاهد النتيجة.
كما ترون ، مكعبنا مقسم بصريًا ، مما يعني أن كل شيء سار على ما يرام ، وهذا هو التجزئة ذاتها.
تم ترك الخطوات الأخيرة في Blender ، ويمكنك المتابعة لإنشاء مشهد ، والنقر فوق ملف / ملف> تصدير / تصدير> .fbx ، وحفظه في مجلد مناسب لنا.
نفتح الوحدة ، وننشئ أو نفتح مشروعًا قديمًا ، ونبدأ فعليًا في تجميع المشهد الخاص بنا. للقيام بذلك ، نحتاج إلى إنشاء لوحة وكرة ، الآن نضيف المكعب الذي قمنا بتصديره للتو من مجلدنا إلى نافذة التسلسل الهرمي ، ثم اسحبه مباشرة إلى المشهد.
لكي تفهم الوحدة أن هذا كائن مادي ، فأنت بحاجة إلى إضافة شيئين ، والنقر فوق المكعب الخاص بنا في نافذة التسلسل الهرمي ، وبالتالي توسيع قائمة الكائنات الموجودة بداخله (الأجزاء التي يتكون منها) ، ثم الضغط على مفتاح shift ، وتحديد الكائن الأول من القائمة ، أخيرًا ، مع هذا التلاعب ، سنختار القائمة بأكملها.
يبقى النقر فوق AddComponent ، وفي البحث بعد تسجيل المصادم ، حدد "Mesh Collider".
في المصادم نفسه ، انقر فوق "محدب" لعرضه ، وهذا كل شيء.
الآن نكرر ما فعلناه سابقًا ، لكننا نبحث فقط عن الجسم الصلب.
عليك أن تفعل الشيء نفسه مع الكرة ، فقط بدون المصادم ، لأنها معلقة هناك في البداية.
هذا يكمل إعدادنا ، ويمكننا الانتقال إلى الأكثر إثارة للاهتمام ، كما يقولون - "الإيجاز هو أخت الموهبة" ، ولهذا السبب قمنا بإنشاء نص C # جديد في نافذة التسلسل الهرمي ، وكتابة ما يلي هناك:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class FragmentSplit : MonoBehaviour {
public bool isdead = false; // ,
public float timeRemaining = 100;// ( )
void Start()
{
GetComponent<Rigidbody>().isKinematic = true;//
}
void OnCollisionEnter(Collision collision)//
{
GetComponent<Rigidbody>().isKinematic = false;// - ,
isdead = true;// , "",
}
void Update()
{
if (isdead)// ,
{
timeRemaining -= Time.deltaTime;//
if (timeRemaining < 0) // ,
{
Destroy (gameObject);//
}
}
}
}
الآن ، وللمرة الأخيرة ، حدد جميع الكائنات في القائمة ، وانقر فوق AddComponent ، وأضف البرنامج النصي الخاص بنا.
ارفع مجالنا فوق المكعب وقم بتشغيل المشروع.
كما ترون ، كل شيء يعمل بشكل جيد ، المكعب ينكسر ، الكرة لدينا تدور في مكان ما.
هذا كل شيء ، نعم ، ربما ستقول إنه يمكنك إجراء إزالة أكثر سلاسة بحيث تختفي القطع ، وليس مثل هذا الخرقاء ، وكل ذلك.
سأجيب عليك فقط أنني أوضحت للتو كيفية عمل النص ، ولم أخوض في تفاصيل كيف ومتى سيتم إزالة هذه "الحطام" ، ولكني أظهرت ببساطة أنه ممكن وهكذا ، ولا يوجد شيء معقد بشأنه.
لا أزعم أن الأصول من Unity (أو المطورين الآخرين) ستكون أفضل من نصوصي من خلال سطرين ، ولكن لا يزال.
لم أقم بعمل هذا المقال مع التركيز على حقيقة أن الأشخاص الذين يعرفون ويفهمون الوحدة واللغة سيقرؤون لي ، والذين يمكنهم كتابة سيناريو بتحكم أكثر دقة في كل ما يحدث لكائن ما على المسرح ، لقد كتبت مقالًا لمزيد من الطلاب والمبتدئين.
لن أقول إنني أعرف اللغة جيدًا وشاملًا ، لكن هذا ليس اليوم الأول في هذا ، بشكل عام ، هذا كل شيء بالنسبة لي ، آمل أن أساعد شخصًا ما ، رمز جيد لأصدقائك! ..