باز و بسته شدن درب هنگام نزدیک و دور شدن+ایجاد انیمیشن با یونیتی
روش های زیای هست مثل raycast و oncollsionenter و .... اما اینم یکیش با تریگر.
using UnityEngine; using System.Collections; public class DoorActivator : MonoBehaviour { public Animator[] lights; private Animator animator; void Awake () { animator = GetComponent <Animator>(); } void OnTriggerEnter (Collider other) { if (other.gameObject.tag == "Player") { animator.SetBool ("Open", true); foreach (var light in lights) { light.SetTrigger ("Activate"); } } } void OnTriggerExit (Collider other) { if (other.gameObject.tag == "Player") { animator.SetBool ("Open", false); } } }
سوال :اصلا انیمیشن درب چیه ؟ چطوری انیمیشن ایجاد کنم؟
خیلی ساده توضیح میدم .
یونیتی 5 خودش ابزاری برای ساخت انیمیشن داره.به مسیر Window->Animation برید تا پنجره ای باز بشه.دکمه Create رو بزنید و انیمیشن رو با نام دلخواه ذخیره کنید.
روی دکمه ها برید یک توضیح میاد واسه هر دکمه. یکی از دکمه ها دایره قرمز هست اونو بزنید تا خودکار انیمیشن رو record کنه. روی نوار زمانی timeline روی صفر برید و توی صحنه کاراکتر رو روی یک position تنظیم کنید. سپس تایم لاین رو ببرید جلو و دوباره توی صحنه کاراکتر رو موقعیتش رو تغییر بدید.اینطوری انیمیشن ایجاد می شه و حرکت ذخیره میشه.
عدش می تونید انیمیشن رو بندازید روی پنجره animator cotroller که با راست کلیک توی پنجره ی پروژه ایجاد میشه و سپس انیماتور کنترلر رو بکشید بندازید روی کامپوننت Animator component که با دکمه ی add component به مدل دادید.