کانال بازی سازی تلگرام
آموزش اجرای انیمیشن در یونیتی Animation.Play و Animation.CrossFade :: آموزش ساخت بازی اندروید+پکیج های تخصصی

آموزش ساخت بازی اندروید+پکیج های تخصصی

در گیم اور، همیشه حق با مشتری است و در صورت نارضایی با هم به توافق می رسیم.
--
تمام اعمالی که انجام می دهیم، حتی اگر ذره ای و مثقالی باشد، به خودمان باز می گردد و بازتابش آنها را در زندگی خواهیم دید. زلزال ۷
او کسی است که (روح) شما را در شب (به هنگام خواب) میگیرد; و از آنچه در روز کرده ‏اید، با خبر است; سپس در روز شما را (از خواب) برمیانگیزد; و (این وضع همچنان ادامه مییابد) تا سرآمد معینی فرا رسد; سپس بازگشت شما به سوی اوست; و سپس شما را از آنچه عمل میکردید، با خبر میسازد. انعام ۶۰
دلها به یاد خدا آرام میگیرد. رعد آیه ۲۷
بدانید زندگی دنیا تنها بازی و سرگرمی، و تجمل پرستی و تفاخر در میان شما و افزون طلبی در اموال و فرزندان است . حدید آیه ۲۰
آن خدایی که آدمی را از خون بسته (که تحول نطفه است) بیافرید.
بخوان و (بدان که) پروردگار تو کریم‌ترین کریمان عالم است.
آن خدایی که بشر را علم نوشتن به قلم آموخت.
به آدمی آنچه را که نمی‌دانست تعلیم داد.
راستی که انسان سرکش و مغرور می‌شود.
چون که خود را در غنا و دارایی ببیند. علق ۲- ۷
این زندگانی چند روزه دنیا افسوس و بازیچه‌ای بیش نیست، عنکبوت ۶۴
در روی زمین به تکبر راه مرو که نمی توانی زمین را بشکافی و هرگز قامتت به بلندای کوهها نمی رسد. اسراء ۳۷
در آنچه خداوند بر تو بخشیده است، سرای آخرت را بجوی و سهم خود را از دنیا فراموش مکن و همانگونه که خدا به تو نیکی کرده است نیکی کن و هرگز فساد در زمین منما که خدا مفسدان را دوست ندارد. قصص ۷۷
و هرگاه نعمت و رحمتی به انسان بچشانیم و سپس آن را از او برگیریم او مأیوس و نومید میشود و به کفران و ناسپاسی بر میخیزد. هود ۹
بندگان مرا آگاه ساز که من بسیار آمرزنده و مهربانم. حجر ۴۹
از رحمت خدا نا امید مباشید که جز کافر هیچ کس از رحمت خدا نا امید نیست. یوسف ۸۷
پس به یاد من باشید تا به یاد شما باشم. بقره ۱۵۲
زندگانی دنیا چیزی جز متاع فریبنده نیست . آل عمران ۱۸۵
از آنچه به شما روزی داده ایم پیش از آنکه روزی فرا رسد که نه معامله ای وجود دارد و نه دوستی و شفاعت ، انفاق کنید. بقره ٢۴۵
بسا چیزی را ناخوش داشته باشید که آن به سود شماست و بسا چیزی را دوست داشته باشید که به زیان شماست، و خدا میداند و شما نمیدانید. بقره ۲۱۶
ما آیات (خود) را برای شما بیان کردیم شاید اندیشه کنید...حدید ۱۷

پیوندهای روزانه
پیوندها

منبع :gameover.blog.ir

مثال1:

متغیری از نوع عمومی public می سازیم که باید کامپوننت انیمیشن هم drag کنیم روش در inspector.

روش زیر برای انیمیشن هایی که با انیماتور نمی شه اجرا کرد(انیمیشن های سنتی یا legacy که با نرم افزارهای قدیمی ریگ شده) و حتی انیمیشن های جدید(هر دو ) جواب مید:

public Animation anim;
    void Start() 
    {

            anim.Play("esme animation");
    }


مثال2:

متغیری از نوع خصوصی private می سازیم که کامپوننت انیمیشن رو از طریق کد دریافت می کنیم.

    private Animation anim;
    void Start () 
    {
        anim.GetComponent<Animation> ();
            anim.Play("esme animation");
    }

نکته:

کامپوننت انیمیشن هم باید به player بدید. برای اینکه خودش کامپوننت رو بده یا نذاره حذفش کنید این دستور رو قبل از اسم کلاس بیارید:

[RequireComponent(typeof(Animation))]


نکته مهم: گزینه LEgacy یا سنتی در حالت دو بعدی یافت نمیشه و احتمالا فقط برای حالت سه بعدی در بخش Rig باید تنظیم بشه.(دو بعدی هم بهتره با Animator کار بشه نه Animation)

شاید یکی از دلایل افت فریم و کند شدن بازی های یونیتی اینه که از چند کامپوننت انیمیاتور استفاده کنیم.
پس بهتره بعضی اوقات به جای انیماتورها از کامپوننت انیمیشن استفاده بشه.

ابتدا کاراکتری که می خواید براش انیمیشن های مختلف بسازید انتخاب کنید( از کادر hierarchy(کادر اجزای صحنه))

سپس به منوی window->animation برید و انیمیشنی رو ایجاد کنید(Create new animation clip)

http://s6.picofile.com/file/8235101618/create_animationClip.jpg

http://s6.picofile.com/file/8235101684/create_animationClip2.jpg


سپس کامپوننت animation بدید به کاراکترتون. و size بدید و انیمیشن ها رو بیارید توش:

http://s6.picofile.com/file/8235101942/create_animationClip3.jpg


دستور Crossfade:


سپس از کد زیر الهام بگیرید برای سوئیچ بین انیمیشن ها :(دقت کنید اسم اسکریپت و کلاس سیشارپ ما باید حتما یکسان باشه.در اینجا ExampleClass)

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public Animation anim;
    void Start() {
        anim = GetComponent<Animation>();
    }
    void Update() {
        if (Mathf.Abs(Input.GetAxis("Vertical")) > 0.1F)
            anim.CrossFade("Run");
        else
            anim.CrossFade("Idle");
    }
}

نکته: تابع یا متد CrossFade هم برای کامپوننت Animator کاربرد داره هم کامپوننت Animation.
موفق باشید.

در صورتی که نیاز به بهینه سازی هم دارید این مطلب و بخونید:
http://gameover.blog.ir/1394/11/05/%D8%A8%D8%B1%D8%AE%DB%8C-%D8%A7%D8%B2-%D8%AA%DA%A9%D9%86%DB%8C%DA%A9-%D9%87%D8%A7%DB%8C-%D9%85%D9%88%D8%AB%D8%B1-%D8%A8%D9%87%DB%8C%D9%86%D9%87-%D8%B3%D8%A7%D8%B2%DB%8C-%D8%A8%D8%A7%D8%B2%DB%8C-%D8%A8%D8%B1%D8%A7%DB%8C-%D8%A8%D8%A7%D9%84%D8%A7%D8%B1%D9%81%D8%AA%D9%86-%D8%B3%D8%B1%D8%B9%D8%AA-%D8%B1%D9%86%D8%AF%D8%B1-%D9%88-%D8%A7%D9%81%D8%B2%D8%A7%DB%8C%D8%B4-%DA%A9%D8%A7%D8%B1%D8%A7%DB%8C%DB%8C-%D8%AF%D8%B1-%DB%8C%D9%88%D9%86%DB%8C%D8%AA%DB%8C

http://gameover.blog.ir/1394/08/11/%DA%A9%D8%AF-%D8%AD%D8%B1%DA%A9%D8%AA-%D9%BE%D8%B1%D8%B4-%D8%AF%D8%A7%D8%A8%D9%84-%D8%AC%D8%A7%D9%85%D9%BE-%D8%B1%D8%A7%D9%87-%D8%B1%D9%81%D8%AA%D9%86-%D8%AF%D9%88-%D8%A8%D8%B9%D8%AF%DB%8C-player-%D8%AF%D8%B1-%DB%8C%D9%88%D9%86%DB%8C%D8%AA%DB%8C-%D8%A8%D8%A7-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-Easy-touch-version-3-%D8%B3%DB%8C%D8%B4%D8%A7%D8%B1%D9%BE


موافقین ۰ مخالفین ۰ ۹۴/۱۱/۰۴
مدیرکل

crossfade

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی