آموزش raycast در یونیتی_اجرای انیمیشن درب در صورت دید دوربین
منبع:
gameover.blog.ir
این PDF رو از zip در آورده و با برنامه ی Adobe Reader بخونید
منبع : http://www.unity3d.com
به لینک pdf زیر برید چند ثنیه صبر کرده و سپس رد تبلیغ بزنید:
نمی دونم چرا دوستان فقط چند نفر دانلود کردن.
توی این اموزش انواع فراخوانی تابع rayCast رو با مثال آوردم و کامل توضیح
دادم. توی سایت اصلی unity3d.com هم برید وبسایت نویسان unity3d.com
اشتباهاتی رو دارن که ممکنه جبران ناپذیر باشه. واسه همین اقدام به ترجمه و
تغییر نوع آموزش سایت unity3d.com کردم.
توی این آموزش سعی کردم کاربران زیادی رو از گیجی در بیارم تا بدونن وقتی
تابع Physics.Raycast یکبار به سه پارامتر و یکبار با دو پارامتر و یک بار
با 4 پارامتر فراخوانی میشه یعنی چی و چه ورودی هایی رو باید بده.
کاربرد:
مثلا اشعه پرت می کنه تا موانع رو detect کنه.
به هر جهت می خوای تا فاصله مشخص ray می اندازی
برای باز شدنانیمیشن درب در صورت اینکه دوربین از روبرو ببینه.
شرط می ذاری اگه tag مانع با تگ ما یکی بود کد بعدی رو اجرا کنه
بعدش انیمیشن اجرا کن(window=->Animation درب رو رو انیمیت کن)
loop Time =false بذارید تا انیمیشن تکرار نشه و فقط یه بار درب باز شه.
مثال :تشخیص مانع روبرو با استفاده از تگ:
bool isOpen=false; float distance=3f; void myRaycast(){ RaycastHit hit; Ray myRay = new Ray(transform.position, Vector3.forward); if(Physics.Raycast (myRay, out hit, distance)){ if(hit.collider.tag == "door" && isOpen==false){ Animation.Play("openDoor"); isOpen=true; }//if internal }//if external }//myRaycast()