آموزش یونیتی و بازی سازی گیم آور دات بلاگ دات آی آر
آموزش ایجاد اکشن در فتوشاپ آموزش کار با اکشن ها در فتوشاپ
gameover.blog.ir
فکر کنید 100 تا عکس رو با یک نرم افزار سه بعدی ساز مثل blender رندر گرفتید و توی پوشه ای ریختید.
می خوایم این عملیات رو به ترتیب روی تمام اسناد باز شده اعمال کنیم:
1. کل این صد تا فایل رو می خواید بک گراند یا پس زمینشونو حذف کنید.
2.محدوده ی خالی چپ و راست رو Trim کنید یا حذف کنید و اندازه ی سند دقیقا به اندازه ی تصویر بشه.
3. همچنین کل اونا رو میخوایم ctrl+S بگیرید و save خودکار کنیم.
4.همینطور کل اونا رو می خواید بعد از اعمال تغییرات close کرده یا ctrl+W کنید.
برای اینکار باید اکشن ایجاد کنیم یعنی عملیات دلخواه رو ثبت یا رکورد کنیم و سپس Play کنیم
شروع آموزش:
کل پرژه های فتوشاپی رو ببندید و سعی کنید هیچ سندی باز نباشه فقط خود فتوشاپ و یکی از اسناد از بین اون 100 سند.
alt+F9 رو بزنید تا پنل یا پنجره ی اکشن باز بشه.(از منوی Window هم می تونید Action رو انتخاب کنید):
روی new action بزنید و یک اکشن به اسم دلخواه مثلا gameover ایجاد کنید.
روی دکمه ی record بزنید تا شروع رکورد یا ذخیره شدن عملیات آغاز بشه.
از اینجا به بعد هر کاری کنید ذخیره میشه و بعد از Play می تونید اسم اکشن sajjad3011 رو انتخاب کرده و Play کنید.
ما می خوایم اون عملیات بالایی که قبلا گفتیم انجام بشه و خودش خودکار سند جاری رو ctrl+W کنه.
پس ابتدا W می زنیم یا عصای سحر آمیز رو ور می داریم و روی یک جای خالی سند کلیک می کنیم تا بک گراند یا پس زمینه انتخاب بشه و سپس delete می زنیم و سپس از منوی image گزینه ی Trim و سپس Ok و سپس ctrl+S می گیریم و سپس
ctrl+W زو یک بار می زنیم تا سند بسته بشه.
حالا روی دکمه ی Stop بزنید تا اکشن gameover ذخیره بشه.
از اینجا به بعد می تونیم این اکشن رو روی کل عکس های دیگه که باز خواهیم کرد اعمال کنیم . بنابراین :
این بار کل png file های خودتونو با ماوس بگیرید بندازید توی فتوشاپ و صبر کنید تا باز بشن همشون.
حالا اکشن gameover رو انتخاب کنید و روی دکمه ی Play بزنید.
می بینید پس زمینه ی سند باز شده رو حذف می کنه و فضای اضافه رو Trim می کنه و خودش ctrl+S و Ctrl+W می کنه و میره روی سند بعدی.
باز هم Play کنید و این کار رو تا بسته شدن هر 100 سند باز شده تکرار کنید.
شما فقط روی Play کلیک می کنید و بقیه کار رو خودش انجام میده.
این کار به درد جایی می خوره که شما مثلا 300 فریم رو رندر گرفتید و به
صورت دستی خیلی طول می کشه که بخواید پس زمینه ی همشونو حذف کنید یا روی
همشون تغییراتی انجام بدید. واسه همین از اکشن ها استفاده می کنیم.
اجرای فیلم در b4a با استفاده از intent یا امکانات اندروید گوشی
اگه مشکل داشت بگید بررسی کنم چون الان سرعتی کپی پیست کردم
چون نیاز هست فایل رو قبلش از File.DirAsset کپی کنیم توی دایرکتوری ریشه یا روت.
Dim in As Intentمنبع :
in.Initialize(in.ACTION_VIEW, "file://" & File.Combine(File.DirRootExternal, "file.mp4"))
in.SetType("video/mp4")
StartActivity(in)
https://www.b4x.com/android/forum/threads/b4a-and-vlc-player.59484/
بهترین فیلم های آموزش برنامه نویسی سیشارپ در یونیتی به صورت قدم به قدم
سازنده: گیم آور
فیلم های آموزش برنامه نویسی سیشارپ در یونیتی برای مبتدیان
پارت 1:
مقدمه ای قبل از شروع کدنویسی(در این اموزش کدنویسی گفته نمیشه و فقط ایجاد انگیزه ای برای مبتدیان هست.گفتم اشاره کنم پولتون هدر ندید)
پارت 2:
پارت 3:
پارت 4:
پارت 5:
پارت 6:
لطفا نظرتون روحتما بگید
این آموزش ها با قیمت مفت هست و سعی می کنیم به سرعت قسمت های مهم رو اضافه کنیم و گاهی توضیحات به کتب اضافه میشه.
تقریبا سعی میشه مثل یک کلاس درس برای شما باشه.
public virtual void Function و overriding در یونیتی
gameover.blog.ir
توابعی داخل هر کلاس والد که قبل از نوعشون virtual بیاد اجازه ی override شدن دارن.
یعنی میشه همون تابع رو با همون نام در کلاس دیگه ای مجددا به طور دیگه ای تعریف کرد(با ورودی و خروجی و پارامترهای متفاوت)
مثال :
کلاس والد ما اینه(کلاس Parent ) :
using UnityEngine;using System.Collections;public class Parent : MonoBehaviour{void Start (){ParentFunction();}public void ParentFunction(){print("parent says hello");FunctionA();FunctionB();}public void FunctionA(){print("function A says hello");}public void FunctionB(){print("function B says hello");}}
کلاس فرزند Child که از کلاس والد Parent مشتق میشه(تمام توابع و متغیرهاشو به ارث می بره):
public class Child : Parent{void Start (){ParentFunction();}}
در اینجا برای مثال در کلاس Parent تابعی به اسم FunctionA داشتیم که Ovveride نمیشه چون virtual قبلش نداشت.
اگر بخوایم Override اش کنیم اول باید تعریفش رو در کلاس Parent به این صورت تغییر بدیم :
public virtual void FunctionA () {print("function A says hello");}
حالا می تونیم اون رو در تابع Start به این صورت Ovveride کنیم برای اینکه خروجیش فرق کنه :
using UnityEngine;using System.Collections;public class Child : Parent{void Start (){ParentFunction();}public override void FunctionA(){print("Im a new version of function A");}}
خروجی ها شبیه اینه :
Im a new version of function A
function B says hello
مجموعه ی فیلم های آموزشی فارسی b4a ساخته شده توسط گیم آور
gameover.blog.ir
اگر می خواید برنامه نویسی اندروید رو یاد بگیرید این مجموعه رو از دست ندید.
ضمن اینکه قیمتش بسار منصفانه هست و می تونید که اگه بخواید برید کلاس کلی باید خرج کنید تا برنامه نویسی اندروید رو یاد بگیرید.
در این اموزش ها هر مبتدی می تونه راه بیفته و کم کم به یک برنامه نویس حرفه ای تبدیل بشه.
سورس های همراه مجموعه آموزش b4a برای مبتدیان
این هم بعضی سورس ها و اسکریپت هایی که در آموزش b4A برای مبتدیان آموزش داده شد: ...
توضیحات بیشتر - دانلود 500 تومانبهترین آموزش b4a برای مبتدیان قسمت 36
بهترین آموزش b4a برای مبتدیان قسمت 36 ...
توضیحات بیشتر - دانلود 500 تومانبهترین آموزش b4a برای مبتدیان قسمت 35
بهترین آموزش b4a برای مبتدیان قسمت 35 ...
توضیحات بیشتر - دانلود 500 تومانبهترین آموزش b4a برای مبتدیان قسمت 34
بهترین آموزش b4a برای مبتدیان قسمت 34 ...
توضیحات بیشتر - دانلود 500 تومانبهترین آموزش b4a برای مبتدیان قسمت 33
بهترین آموزش b4a برای مبتدیان قسمت 33 ...
توضیحات بیشتر - دانلود 500 تومانبهترین آموزش b4a برای مبتدیان قسمت 32
بهترین آموزش b4a برای مبتدیان قسمت 32 ...
توضیحات بیشتر - دانلود 500 تومانبهترین آموزش b4a برای مبتدیان قسمت 31
بهترین آموزش b4a برای مبتدیان قسمت 31 ...
توضیحات بیشتر - دانلود 500 تومانبهترین آموزش b4a برای مبتدیان قسمت 30
بهترین آموزش b4a برای مبتدیان قسمت 30 ...
توضیحات بیشتر - دانلود 500 تومانبهترین آموزش b4a برای مبتدیان _قسمت 27 تا 29
بهترین آموزش b4a برای مبتدیان _قسمت 27 تا 29 ...
توضیحات بیشتر - دانلود 500 تومانبهترین آموزش b4a برای مبتدیان _قسمت 22_ساخت کتابساز متنی با انعطاف و ریسپانسیو
قسمت 22 ساخت کتابساز در دو پارت 1 و 2 ...
توضیحات بیشتر - دانلود 500 تومانبهترین آموزش b4a برای مبتدیان قسمت 9 الی 10
قسمت 9 الی 10 هر مشکلی توی دانلود بود یا جایی متوجه نشدید پشتیبانی با ماست gameover.blog.ir تضمین پشتیبانی شما ...
توضیحات بیشتر - دانلود 500 تومانبهترین آموزش b4a برای مبتدیان _قسمت 1_مقدمه و آشنایی و نکات اولیه
این آموزش شما رو با محیط b4a اشنا می کنه و بسیار عالی هست. اگه می خواید b4a رو یاد بگیرید این آموزش ها رو تهیه کنید اموزش ها با شماره گذاری و عنوان برای فروش روی همین سایت در اختیار شما عزیزان قرار خواهد گرفت. - هر مشکلی هم توی دانلود بود ما پشتیبانی می کنیم از طریق پیام های شما در gameover.blog.ir ...
توضیحات بیشتر - دانلود 500 توماناموزش صفر تا 100 ساخت FPS
gameover.blog.ir
پارت 1
تنظیمات اولیه و توضیحات ابتدایی برای مبتدیان
با پشتیبانی کامل در صورت هر گونه مشکل در وبلاگ gameover.blog.ir طرح کنید.
پارت 2:
کپی فایل یا عکس از پوشه ی Files به حافظه ی داخلی اندروید
gameover.blog.ir
فرض کنید عکسی به نام 1.jpg در پوشه ی Files وجود داره.(حتما ادر قسمت File manager باید دکمه Sync رو بزنید تا فایل در لیست اضافه بشه)
سپس با کد زیر می تونید این فایل رو در پوشه ی داخلی اندروید و در اینجا در زیرشاخه ی android/data/abc کپی کنید . مسیر android/data/abc رو هم می تونید حذف کنید اگه وجود نداشت یا خطا گرفت....
File.Copy(File.DirAssets,"1.jpg",File.DirInternal&"/android/data/abc","1.jpg")
آموزش ریگینگ دو بعدی و انیمیشن cutout در بلندر
gameover.blog.ir
خرید از فروشگاه با کیفیت عالی و قیمت بسیار کم
اگر شما انیمیشن سازی ساده رو نمی دونید و با timeLine کار نکردید بهتره اول یکم بلندر کار کنید بعد این آموزش رو بخرید ویلا برای سر در گمی نیازی به خرید این نیست چون هدفتون معلوم نیست از خرید این کتاب چیه . پس اگه کلا اهل مطالعه هستید و می خواید توی زمان عمرتون صرفه جویی کنید و blender رو می شناسید و فکر می کنید با حمایت ما می تونید انیمیشن ساز موفقی بشید پس شروع کنید . هر چی کتاب در باره انیمیشن بخرید کمه.
اینم یک آموزش برای اولین بار که توسط گیم اور ترجمه شد.در این آموزش ساخت کنترلرهای inverse kinematics یا ik controller هم گفته شده.
70 صفحه آموزش قدم به قدم عالی و کامل برای هر مبتدی
با پشتیبانی کامل ما در گروه پرسش و پاسخ بلندر تلگرام
چرخش یک گیم ابجکت حول محور y (محور بالا)
gameover.blog.ir
public class rotate_Over_Y_axis: MonoBehaviour { public GameObject obj1; private float yAngle=0; public float rotationSpeed=0.3f; private Transform _Transform1;void Start(){ _Transform1 = obj1.GetComponent<Transform> (); }void Update () { yAngle+=rotationSpeed; if(yAngle>360)yAngle=0; Debug.Log(yAngle); _Transform1.Rotate(_Transform1.rotation.x,yAngle,_Transform1.rotation.z);}}
دانلود دو پکیج موتور برای یونیتی
gameoverblog.ir
هر مشکلی هست توی GAMEOVER.BLOG.IR مطرح کنید پشتیبانی انجام می شه.
نکته :
فایل 2 PACKAGES_UNITY_MOTO_DOWLOAD_LINK.zip رو باز کنید و یک فایل متنی شامل لینک فایل ها روی MEDIA FIRE هست که می تونید مستقیم از مدیافایر دانلود کنید.
Unity Asset - Realistic Motorcycle Controller v1.2 برای یونیتی 5.0.0 یا بالاتر
Unity Asset - Motorbike Mobile Starter Kit v1.3 برای یونیتی 4.0.0 یا بالاتر
حذف اطلاعات شخصی از گوگل
gameover.blog.ir
فرض کنید شما اطلاعات شخصی خودتون مثل شماره یا اسم و غیره رو قبلا در فایلی به نام 1.txt در آدرس http//example.com/1.txt آپلود کرده بودید..
بعد تو گوگل که شمارتونو می زنید ادرس http//example.com/1.txt در نتایج جستجوی گوگل میاد و شما نمی خواید بیاید و می خواید از نتایج گوگل حذف بشه اطلاعت شخصیتون.
برای اینکار ابتدا فایل 1.txt رو از سایت حذف کرده و سپس یک فایل جدید با محتوای دیگه بدون مشخصات قبلی در همون آدرس با هون نام اپلود کنید یعنی 1.txt در مثال ما.
سپس به سایت gmail.com برید و با اکانت gmail دلخواهتون login کنید به گوگل.
سپس برید به آدرس زیر:
https://www.google.com/webmasters/tools/removals
سپس آدرس دقیق رو وارد کنید در اینجا :
http//example.com/1.txt
سپس دکمه Request Removal یا تقاضای حذف رو بزنید.
سپس کمی صبر کنید تا آنالیز کنه
اگه سوال کرد :
Has the image or web page been updated or removed?
سپس متن شخصی یا شماره تلفنی که می خواید حذف کنید رو وارد کنید و دکمه ی مربوط رو برای حذف بزنید.
ادرس به لیست اضافه میشه و در قسمت وضعیت staus می نویسه pending یعنی در حال بررسی و انجام.
بعد از حدود یک ساعت یا نیم ساعت status رو می ده:
Denied |
موفق باشید.
دانلود google play service برای کامپیوتر ویندوز 7 برای android sdk manager
gameover.blog.ir
من پکیج google play services رو لازم دارم ولی تو Sdk manager پیداش نمیکنم، واسه اینستال هم نیس.. میشه کمک کنید؟
پاسخ:
سلام، داخل پوشه extras در پوشه ی مربوط به SDK ، یه پوشه به اسم google بسازید و این فایل رو
http://downloads.puresoftware.org/files/android/extras/google/google_play_services.zip
دانلود کنید و از حالت فشره خارج کنید و اونجا قرار بدید.
برگرفته شده از AndroidCode.ir
رکورد صدا در یونیتی
gameover.blog.ir
using UnityEngine;using System.Collections;public class ExampleClass : MonoBehaviour { void Start() { AudioSource aud = GetComponent<AudioSource>(); aud.clip = Microphone.Start("Built-in Microphone", true, 10, 44100); aud.Play(); }}
مثال بعدی:
using UnityEngine;using System.Collections;public class recordAudio : MonoBehaviour {void Start() {string deviceName = "";foreach (string device in Microphone.devices) {deviceName = device;Debug.Log (deviceName);}//=================AudioSource aud = GetComponent<AudioSource>();aud.clip = Microphone.Start("Microphone (Realtek High Definition Audio)", true, 10, 44100);aud.Play();}// Update is called once per framevoid Update () {}}
using UnityEngine;using System.Collections;public class ExampleClass : MonoBehaviour { void Start() { foreach (string device in Microphone.devices) { Debug.Log("Name: " + device); } }}
بررسی در حال رکورد:
Microphone.IsRecording
قطع میکروفون:
Microphone.End
رفع خطای application not installed موقع نصب برنامه ها روی گوشی های مختلف مثل huawei
خطای application not installed موقع نصب برنامه ها روی گوشی هخای مختلف میاد.
بعضی وقتا با نصب clean master حل میشه: این برنامه اشغال ها رو می پاکه :
http://soft98.ir/mobile/android/15702-Clean-Master-Android.html
اما بعضی وقتا این کارا ج نمیده
باید برید developper options و سپس usb debugging رو فعال یا on کنید توی گوشی:
بالا آوردن گزینه ی developper options خودش ترفند داره:
به قسمت تنظیمات گوشی برید و روی build number یا شماره ساخت ، 7 بار کلیک
کنید تا به توسعه دهنده یا developper تبدیل بشید و یک گزینه اضافه میشه.
به منوی تنظیمات قبلی برید.
اکنون گزینه ای به نام developer settings یا تنظیمات توسعه دهنده اضافه شده
وارد آن شوید و گزینه ی Usb Debugging یا خطایابی یو اس بی را از منوی روی
صفحه ی بعد فعال کنید.
بهترین سورس فارسی ارسال پیامک انبوه سورس اپلیکیشن پیامک انبوه فقط با داشتن یک گوشی اندرویدی
GAMEOVER.BLOG.IR
سورس اپلیکیشن ارسال پیامک انبوه فقط با داشتن یک گوشی اندرویدی
تست شده به زبان فارسی با رفع خطاهای احتمالی و پشتیبانی کامل شما برای اولین بار در ایران
این برنامه یکی از کاربردی ترین برنامه های اندرویدی هست...
ارسال تبلیغ انبوه پیامکی از روی گوشی خودتان
ارسال پیامک انبوه از طریق گوشی های اندروید
ارسال پیامک تبریک اعیاد و جشن و عذاداری ها
ارسال تبلیغات انبوه محصول خود با یک کلیک
معرفی سایت خود با یک کلیک به n نفر
ارسال پیامک به لیستی از دوستان موقع تحویل سال نو یا هر وقت دوست دارید به طور همزمان در یک لحظه
تبلیغ
کسب و کار
تبریک اعیاد و جشن ها
تسلیت گروهی
گردهمایی یا برگزاری سمینار
ارسال یک خبر مهم به چند نفر
درخواست کمک از چند نفر
گزارش به نیروهای کمکی هلال احمر
گزارش به تمامی نیروهای آتش نشان
فراخوان یک پزشک برای تبلیغات خود
تبلیغ یک محصول به کل آشنایان با یک کلیک
و هزاران کاربرد دیگر....
در صورتی که هر مشکلی داشته باشه برنامه و یا چنانچه روی گوشی شما اجرا نشد با درج
ایمیل خود و مدل گوشیتون برنامه برای گوشی شما ساخته و به طور رایگان بهتون ایمیل یا از طریق تلگرام به شماره شما لینک دانلود برنامه ارسال خواهد شد انشاءا... .
تست شده بر روی گوشی هواوی
وبلاگ پشتیبانی gameover.blog.ir
دستورات اتمیک در sql
gameover.blog.ir
دستورات یا transaction های اتومیک ترانس اکشنی هست که می گه یا کل دستورات رو اجرا کن یا هیچ کدوم نباید اجرا بشه.
یک تراکنش باید چهار خاصیت داشته باشه و منطق "یا همه یا هیچکدام" که
دوستان اشاره کردند اصطلاحا Atomic بودن گفته میشه. خواص چهارگانه:
Atomic
Consistent
Isolated
Durable
دستوراتی که مابین شروع و خاتمه تراکنش قرار میگیرند باید قوائد فوق در
موردشون رعایت بشه. این رعایت توسط خود SQL Server انجام میشه. شما بعنوان
برنامه نویس فقط کافیه از دستور شروع و خاتمه تراکنش در جای صحیح استفاده
کنید.
از اونجایی که ویرایشهای ما سبب نگه داشتن Lock روی رکوردها یا جداول میشه، بهتره تراکنشها رو تا جای ممکن کوتاه مدت باز کنیم.
ضمنا وقتی دستورات ویرایشی شما مجزا هستند و ارتباطی به هم ندارند، نیازی نیست از دستور شروع تراکنش استفاده کنید.
مثال در b4a:
دستور BeginTransaction:
این دستور یک transaction رو آغاز می کنه.(مجموعه ای از دستورات نوشتاری که به صورت اتومیک commit(اجرا) میشن:
منبع:
http://www.b4x.com/android/help/sql.html#sql_begintransactionhttp://barnamenevis.org/archive/index.php/t-264827.html
استفاده از دستگاه اندرویدی به عنوان میکروفون بی سیم لپ تاپ
دانلود مقاله:
به این لینک برید و چند ثانیه صبر کنید سپس رد تبلیغ رو بزنید:
http://opizo.com/ITNBPu
بسیاری از کاربران برای کامپیوتر ممکن است نیاز به یک میکروفون با کیفیت بالا داشته باشند همچنین تهیه میکروفون و همینطور دردسر های اتصال آن به کامپیوتر به جای خودممکن است بسیاری از کاربران را آزار دهد.بسیاری از نرم افزار ها برای اندروید هستند که این قابلیت را به شما میدهند که از میکروفون دستگاه اندرویدی برروی کامپیوتر استفاده کنید حال ما سعی داریم نحوه استفاده از دستگاه اندرویدی به عنوان میکروفون بی سیم در کامپیوتر را به وسیله وای فای به روشی ساده برای شما شرح دهیم با ما همراه باشید.
نیازمندیها:
- دانلود برنامه WO Mic نسخه اندروید: WO Mic Android
- دانلود برنامه WO Mic نسخه کامپیوتر: WO Mic Client
- دانلود درایور های WO Mic: دانلود wo_mic_driver_signed
نحوه استفاده:
برنامه WO Mic برای اندروید را دانلود و در دستگاه اندرویدی خود نصب کنید
برنامه و درایور های WO Mic برای کامپیوتر را دانلود و نصب کنید
برنامه WO Mic در دستگاه اندرویدی خود را باز کنید و وارد قسمت Settings شوید سپس Transport را روی حالت Wifi قرار دهید
برروی صفحه اصلی برنامه Start را انتخاب کنید
برنامه WO Mic نسخه کامپیوتر را اجرا کنید و وارد قسمت Connection/Connect شوید
عدد آی پی که در نسخه اندروید این برنامه مشاهده می کنید را در نسخه کامپیوتر این برنامه وارد و OK بزنید
تمام،میتوانید از میکروفون جدید خود استفاده کنید
منبع :
http://androidzoom.ir/100222/wo-mic/
نکته ی بسیار مهم از gameover:
بهتره برنامه رو روی usb بذارید و از ویندوز هم با مد usb وصل بشید با کابل
برای اینکار باید در گوشی خودتون مد دیباگ رو فعال کنید :
- Open Settings> About> Software Information> More.
- Then tap “Build number” seven times to enable Developer options. ...
- Go back to Settings menu and now you'll be able to see “Developer options” there.
- Tap it and turn on USB Debugging from the menu on the next screen.
به قسمت تنظیمات گوشی برید و روی build number یا شماره ساخت ، 7 بار کلیک کنید تا به توسعه دهنده یا developper تبدیل بشید و یک گزینه اضافه میشه.
به منوی تنظیمات قبلی برید.
اکنون گزینه ای به نام developer settings یا تنظیمات توسعه دهنده اضافه شده وارد آن شوید و گزینه ی Usb Debugging یا خطایابی یو اس بی را از منوی روی صفحه ی بعد فعال کنید.
خطای the windows firewall rule HSS DNS Rule is blocking your connection وصل شدن به اینترنت
gameover.blog.ir
بعضی اوقات دسترسی limit می ده و روی کانکشن وایرلس علامت تعجب می زنه و متن limit نشون میده.
یکی از دلایل اینه که تنظیم فایروال شما به هم ریخته.(این در حالی هست که اگر ip ی 192.168.1.1 رو در مرورگر تایپ کنید صفحه لاگین به مودم باز میشه . این یعنی شبکه وصله و به آنتن مودم وایرلس وصلیم اما دسترسی به اینترنت نداریم. البته با گوشی چک کنید اول ببینید اینترنت داره یا نه. اگه داشت مشکل از کامپیوتر هست و ربطی هم به درایور نداره چون درایور اگه وصل نبود دیگه انتن مودم رو رویت نمی کردیم)
برید توی تنظیمات fire wall و رول(rule یا قانون) مورد نظر رو reset کنید یا اصلا فایروال در بخش advanced رفته و restore بزنید تا فایروال ریست بشه)
بعدش مشکل به احتمال زیاد حل میشه.
دانلود نرم افزار bridge برای اندروید و ارتباط basic4android با گوشی برای اجرای مستقیم روی گوشی
gameover.blog.ir
برای دانلود فایل apk به لینک زیر رته و چند ثانیه صبر کنید سپس رد تبلیغ رو بزنید.
فایل apk رو روی گوشی نصب کنید و سپس سوریس های مورد نظر وایرلس رو اجا کنید تا بهتون یک ip بده.
سپس وارد نرم افزار b4a در ویندوز بشید و از منوی tools -> b4a bridge -> connect -> new ip ای پی گوشیتون رو وارد کنید. و سپس اجرا بگیرید.
کش نیومدن تکستچر روی زمین یا plane _تکرار تکستچر روی پلین در یونیتی
gameover.blog.ir
برای اینکه تکستچر کش نیاد:
شما باید رو تکسچری که ایمپورت کردید کلیک کنید و از روی 2d sprite به texture تغییر بدین و از وارپ مود گزینه repeat رو بزنیین و apply کنید.
تکستچر رو هم باید بندازید روی یک متریال فکر کنم. بعدش متریال رو drag کن روی ابجکت دلخواه.
کانال تلگرام آموزش طراحی کانسپت و دانلود اکشن و استایل و نورپردازی و سایه گذاری کانسپت
من از تکرار بیذارم.
از لباس کهنه ات شرمنده نباش ولی از افکار کهنه ات چرا.
کانال تلگرام آموزش تکنیک های طراحی کانسپت و نور پردازی و سایه گذاری در فتوشاپ و غیره:
https://telegram.me/joinchat/CIaGiT3VLt27Q-rZvcXi2w
چون خودم ترجمه می کنم برای اینکه حرفه ای بشم. همه عضو بشید و شیر کنید لطفا. ممنون.
کانال تلگرام تیلیاردرها ، کانال تلگرام پولدار شدن
اگر شما هم می خواید ادمینش بشید می تونید پیام بدید تو وبلاگ و شماره بذارید اد کنم.
https://telegram.me/joinchat/CIaGiT2IN6yzkMHXC0GBNg
دانلود نرم افزار FPS Creator X10
gameover.blog.ir
منبع :
http://www.gamersland.ir/forum/showthread.php?t=2376FPS Creator X10
حجم: 1.09 گیگابایت
تصویر
دانلود:
http://www.mediafire.com/?nzyu4hnm3nz
http://www.mediafire.com/?2deltmmqzyn
http://www.mediafire.com/?ttigz3yjmnt
http://www.mediafire.com/?orn0z4yzkim
http://www.mediafire.com/?myiizdmdmtj
http://www.mediafire.com/?jfoydym2ynh
http://www.mediafire.com/?cxgnzzdtzwt
http://www.mediafire.com/?njiiw0mnqyd
http://www.mediafire.com/?glukgtfonym
http://www.mediafire.com/?mixyzmymjzt
http://www.mediafire.com/?namdtnnmm3i
http://www.mediafire.com/?te0ijjnymwz
سیستم مورد نیاز برای اجرای این نرم افزار:
- کارت گرافیکی مثل Geforce 8800 GT با یک گیگ حافظه داخلی
- ویندوزی که مجهز به DirecX10 به بالا باشه
اینو هم بگم که یکی از ویژگی های بسیار خوبی که این نرم افزار داره اینکه
میتونید کاراکترها و اشیای ساخته شده توسط نرم افزار های مثل 3D Max رو
وارد این نرم افزار کنید و با این کار میتونید بازیهای بسیار زیبایی
بسازید.
عدم شارژ باتری لپ تاپ در ویندوز 7
gameover.blog.ir
برای رفع مشکل آموزش هایی در سایت مایکروسافت هست که به رجیستری مراجعه کنید و غیره.
این برنامه رو هم می تونید اجرا کنید تا مشکل رو fix کنه و بعد از reboot سیستم،باتری شارژ خواهد شد.
حجم زیر یک مگ.
برای دانلود به لینک زیر رفته و چند ثانیه صبر کنید و سپس رد تبلیغ رو بزنید:
http://opizo.com/dUbqv6
آموزش خواندن فایل ini در php
gameover.blog.ir
مثال :
در مسیر C:\xampp\htdocs\ini فایلی به اسم sample.ini با محتوای زیر ایجاد کن :
[Cars]
var1 = 1
var2 = 2
<?php
// Parse without sections
$ini_array = parse_ini_file("sample.ini");
print_r($ini_array);
// Parse with sections
$ini_array = parse_ini_file("sample.ini", true);
print_r($ini_array);
?>
http://localhost/ini/
خودش index.php رو اجرا می کنه و خروجی میشه چیزی شبیه این :
Array ( [var1] => 1 [var2] => 2 ) Array ( [Cars] => Array ( [var1] => 1 [var2] => 2 ) )
http://www.php.net/manual/en/function.pa...i-file.php
اگه خونه ی اول آرایه رو هم بخوای تکی بدست بیاری :
echo($ini_array["var1"]);
1
کتاب فارسی یو آی در یونیتی 5 ترجمه شد _ کتاب فارسی آموزش ui در یونیتی
این کتاب تمام مبتدیان رو با برنامه نویسی ui در یونیتی 5 آشنا می کنه و نکات بسیار خوبی در اون وجود داره.
قسمت هایی که بعدا به ترجمه اضافه میشه به افرادی که خرید کردند به طور رایگان ارسال خواهد شد.
ممنون از حمایت شما. قیمتشم عالی هست.با پشتیبانی شما در صورت عدم موفقیت در خرید.
اسکریپت لرزش دوربین در یونیتی camera shake
gameover.blog.ir
به لینک زیر برید و چند ثانیه صبر کنید سپس رد تبلیغ رو بزنید.
اسکریپت سیشارپ هست.
برای لرزش دوربین پس از انفجار x و y و یکم حرکت بدید تا دوربین تکون بخوره .
روش دیگه اینه که می تونید یک انیمیشن ساده هم بدید به دوربین یه لحظه سریع تکون بخوره..
حرکت پلیر سه بعدی با استفاده از کاراکتر کنترلر و دستور Input.GetAxis("Horizontal") بدون افت فریم ریت:
gameover.blog.ir
حرکت پلیر سه بعدی با استفاده از کاراکتر کنترلر و دستور Input.GetAxis("Horizontal") بدون افت فریم ریت:
دستور Input.GetAxis چیست و چگونه کار می کند؟
این دستور کلیدهای افقی و عمودی WASD رو چک می کنه.
اگه هیچکدوم فشرده نبود صفر 0 برگشت میده ویلا یا منفی یک -1 یا مثبت یک +1 برگشت میده.
WS بالا پایین یا عمودی
AD چپ و راست یا افقی
خودمون تعیین می کنیم کدوم رو چک کنه.
اگه افقی فلش چپ و راست AD باید ورودی بدیم horizontal .
مثال:
Input.GetAxis("Horizontal")
اگه عمودی فلش بالا پایین WS باید ورودی بدیم vertical .
مثال:
Input.GetAxis("Vertical")
حالا کجا ازش استفاده میشه؟
برای حرکت کاراکتر میایم xz رو تنظیم می کنیم. x یعنی چپ راست و z یعنی جلو عقب بر حسب مثبت یا منفی بودن مقداری که بهشون میدیم.
پس برای مثال داریم:
moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0,Input.GetAxis("Vertical"));
چون محاسبات محلی هست بایستی به جهانی تبدیل کنیم. پس داریم:
moveDirection = transform.TransformDirection(moveDirection);
دستور Transform Direction، مقادیر XYZ محلی را به مقادیر جهانی تبدیل میکنه.
بعدش یه فاکتور یا متغیر سرعت هم که قبلا باید تعریف کنیم در اون ضرب می کنیم تا مقدار زیاد بشه :
moveDirection *= speed;
در نهایت ازش استفاده میکنیم.
مثلا برای پرش میایم y رو تنظیم می کنیم:
if (Input.GetButton ("Jump")) { moveDirection.y = jumpSpeed; }
jumpSpeed هم متغیری هست قبلا فرض کردیم تعریف شده و سرعت پرش رو مشخص می کنه.
نکته: در حالت پیش فرض، کلید پرش، کلید space است.
ولی شخصیت ما چطوری بعد از پرش به زمین فرود بیاد؟
فرض می کنیم player ما کامپوننت rigidBody نداره .پس شرط بذارید تا زمانیکه y از صفر بیشتر بود این خط اجرا بشه:
moveDirection.y -= gravity * Time.deltaTime;
gravity هم جاذبه هست و از قبل تعریف می کنیم.
Time.deltaTime باعث میشه y طبق زمان کم بشه نه در فریم.(پس یه حرکت فرود نرم تر خواهد داشت)
در نهایت بای یک متغیر از نوع CharacterController بسازید و کامپوننت کاراکتر کنترلر بدید به player و drag کنید روی این متغیر:
public CharacterController controller;
برای حرکت نهایی هم این کد رو بنویسید:
controller.Move (moveDirection * Time.deltaTime) ;
سورس اپلیکیشن دزدگیر همراه عکس برداری و آپلود روی سایت در b4a version 5
gameover.blog.ir
برای دانلود به این لینک برید و چند ثانیه صبر کنید سپس رد تبلیغ بزنید:
نکته ی بسیار مهم:
این سورس فقط روی basic4android version 5.02 اجرا میشه و روی ورژن های بالاتر یا پایین تر اجرا نمیشه.
پس ابتدا برنامه basic4android version 5.02 رو از این لینک دانلود کنید:
http://www.mediafire.com/download/cxao99um6iw1iss/B4A+5.02+Retail.zip
روش نصب b4a version 5.0.2:
داخل پوشه crack رمز هستReadMe.txt هست اونو بخونید روش نصب رو گفته:
فایل های داخل پوشه ی License & DLL رو کپی کنید در مسیر نصب b4a verion 5.0.2
سپس داخل پوشه ی License Generator رفته و روی فایل License Generator_b4airanamozesh.ir راست کلیک کنید و run as admin رو بزنید تا تحت ادمین در ویندوز 7 جرا بشه سپس Basic4Android رو انتخاب کرده و یک ایمیل الکی مثلا [email protected] رو وارد کنید و Generate رو بزنید تا یک فایل تولید بشه. سپس اون فایل رو کپی کنید در مسیر نصب basic4android version 5.0.2
--
حالا می تونید سورس دزدگیر همراه رو داخلش باز کرده و اجرا بگیرید.
یادتون نره قبل از اجرا ابتدا باید برنامه blueStack رو نصب کنید و بیاریدش بالا(برنامه ی BlueStack یک شبیه ساز هست که باعث میشه برنامه های اندروید رو بتونیم روی کامپیوتر اجرا کنیم) سپس در b4a به منوی tool رفته و restart ADB server رو بزنید. و سپس با F5 اجرا بگیرید.
دزدگیر همراه برنامه ی بسیار کاربردی و دوست داشتنی هست و خیلی هم مفید.
گوشیتو بذار جلوی ماشینت و دربشو قفل کن بعدش بیا تو خونه و آمار همسایه ی مزاحم رو در بیار... :D
توی مترو اگه کسی گوشیتو دزدید ازش عکس بگیر و هرجا میره محیطشو ردیابی کن و آمار طرف رو با عکس گرفتن هر 15 ثانیه در بیار و آپلود کن روی اینترنت . بعدش اومدی خونه برو توی سایت و عکسا رو ببین.
سعی کردیم در این برنامه اعتماد کامل شما رو جلب کنیم و هیچ چیز پنهان و
شبهه ای در این برنامه نگذاشتیم و محیط برنامه بسیار ساده طراحی شده و شما
می تونید به راحتی باهاش انس بگیرید.
کاربرد دله دزد چیه و اصلا به چه دردی می خوره؟ الان می گم :
برنامه رو اجرا کرده و بذار رو تنظیم تا خودکار عکس بگیره و دله دزدایی که تو اتاق یا محیط کاریت سرک می کشن رو شناسایی کن .
دوستاتو سرکار بذار و مچشونو بگیر.
تنظیماتش کاملا آسونه و منطقی ترین حالت رو داره.
می تونید تایمر برنامه رو روی دوره ی زمانی دلخواه جهت عکس گرتن تنظیم کنید .
هر 15 ثانیه
هر 1 دقیقه
هر نیم ساعت
هر یک ساعت
----
بازم بگم ؟ باشه: علاوه بر این:
در صفحه ی اول برنامه گزینه ای هست که کل عملیات رو می تونید فعال و غیر فعال کنید باهاش.
یه بخش تنظیمات اینترنتی هم داره که اگه فعالش کنید(خیلی ساده با چک باکس) برنامه به طور خودکار عکس ها رو آپلود می کنه روی سایت دلخواه شما. چطوری؟ الان می گم.اینش یکم تخصصی هست و همه چیزو ما براتون آماده کردیم .
فایل upload_file.php رو می ریزید توی یک پوشه از سایتتون که php رو پشتیبانی کنه.
یه پوشه هم می سازید به نام uploads می ذارید کنارش و تمام.
کافیه توی برنامه آدرس اینترنتی فایل upload_file.php رو وارد کنید و تیک بزنید. به همین سادگی.
مثال :
http://ali.xzn.ir/upload_file.php
---
بعدش موبایلتون رو به شارژر بزنید و برنامه رو اجرا کنید و تیک هاشو فعال کنید.
اگه گوشی به اینرتنت وصل باشه هر 15 ثانیه (توی تنظیمات میشه تغییر داد)
یک عکس می گیره یه کپی می اندازه توی root گوشیتون و یک کپی رو آپلود می
کنه توی پوشه ی uploads که توی سایت گذاشتید . مثل این :
http://ali.xzn.ir/uploads
بقیه توضیحات رو توی عکس های معرفی آوردیم.
-----
هر سوالی بود توی gameover.blog.ir بپرسید....
--
با این برنامه کارهای مختلفی میشه کرد:
می تونی از خونه بری بیرون و وقتی برگشتی ببینی کی تو اتاقت اومده
می تونی بچه های ناقلا رو کنترل کنی
می تونی دزد رو پیدا کنی
می تونی بذاری پشت پنجره و از یاکریم ها عکس بگیری
می تونی گوشیتو بذاری روی یک ماشین کنترلی و از نقاط دوردست عکس بگیری
می تونی دله دزدها رو دستگیر کنی
و هزار و یکصد کار دیگه که خود دانی
فایل php هم توی سورس هست. توی پوشه php-code
برای تنظیمات اینترنت و غیره هم اگه سوالی بود توی gameover.blog.ir مطرح بفرمایید.
گیم آور
اجرای موزیک در موقعیت دلخواه بازی در یونیتی
gameover.blog.ir
using UnityEngine; using System.Collections; [RequireComponent(typeof(AudioSource))]public class ExampleClass : MonoBehaviour { public AudioClip clip; void Start() { AudioSource.PlayClipAtPoint(clip, new Vector3(5, 1, 2)); } }
دستور [RequireComponent(typeof(AudioSource))] بدون نقطه ویرگول در انتها باعث میشه کامپوننت اودیوسورس خودکار اضافه بشه یا اگه اضافه بشه دیگه نشه حذفش کرد از inspector .
بهترین نرم افزار مبدل ogg به mp3
نکته: اگه خطا داد ogg رو به ogg تبدیل کنید بعدش با ابزارهای دیگه تست کنید. چون بعضی فرمت های فایل های ogg تلگرام رو فرمت فکتوری یا ogg to mp3 هم نمی تونه تبدیل کنه ولی این می تونه. اگه مشکل mp3 داشت خودش پیام میده به نت وصل میشید و درایور رو می گیره. وگرنه به ogg دوباره تبدیل کنید برید تو پوشه ها می بینید mp3 هم هست.
کد زوم کردن دوربین با کلید S و A در یونیتی
gameover.blog.ir
برای اینکار باید متغیر Z از پوزیشن دوربین رو زیاد و کم کنید تا دوربین نزدیک یا دور بشه.
مثال:
اسکریپتی بسازید و بدید به دوربین اصلی و این کد رو در تابع آپدیت بذارید(با کلید A و S تست کنید بعد از اجرا):
void Update(){ if (Input.GetKey (KeyCode.A)) { this.transform.position+=new Vector3(1,0,0); } if (Input.GetKey (KeyCode.S)) { this.transform.position-=new Vector3(1,0,0); } }
غیرفعال کردن آنتی آلیاسینگ در یونیتی/disable anti aliasing in unity 5.1.0f3
gameover.blog.ir
آنتی آلیاس اگه 1 و 2 و 4 باشه به ترتیب مضاعف میشه و پیکسلی بودن گوشه های مدل رو حذف می کنه و کیفیت میره بالا اما پردزش سنگین میشه و بازی تیک و لگ بر می داره و ممکنه بعضی وقتا کرش کنه.
بدون آنتی آلیاس گوشه ها دندانه دار یا در اصطلاح jagged میشه(اما پردزش بهتره):
بدون آنتی آلیاس:
برای رفع این مشکل آنتی آلیاسینگ رو صفر می کنیم:
QualitySettings.antiAliasing = 0;
سورس انگری بردز ساده در یونیتی 5.1.0f3
gameover.blog.ir
سورس انگری بردز ساده در یونیتی 5.1.0f3
http://opizo.com/QVTico
رفع خطای member unknown در b4a یا basic4android هنگام دسترسی به متغیر اکتیویتی دیگر
gameover.blog.ir
نکته ی بسیار مهم:
بعضی اوقات در بعضی ورژن های b4a میایم یک پرروژه دیگه رو که مثلا با ورژن دیگه ساختیم اجرا می گیریم و خطای متغیر ناشناس یا غیره میده. در این حال باید ورژن دقیق اون نسخه رو بدست بیاریم تا بتونیم سورس رو اجرا کنیم.
مثلا اگه متغیری حتی public در اکتیویتی Main تعریف کردیم در ورژن 5.02 میشه با دستور Main.esmeMoteghayyer بهش دسترسی داشت اما تو ورژن های دیگه خطا میده.(esmeMoteghayyer اسم متغیری هست که در اکتیویتی Main از نوع public تعریف کردیم)
مثلا این سورس دزدگیر همراه رو در نظر بگیرید:
این سورس فقط روی basic4android version 5.02 اجرا میشه و روی ورژن های بالاتر یا پایین تر اجرا نمیشه.
پس ابتدا برنامه basic4android version 5.02 رو از این لینک دانلود کنید:
http://www.mediafire.com/download/cxao99um6iw1iss/B4A+5.02+Retail.zip
روش نصب b4a version 5.0.2:
داخل پوشه crack رمز هستReadMe.txt هست اونو بخونید روش نصب رو گفته:
فایل های داخل پوشه ی License & DLL رو کپی کنید در مسیر نصب b4a verion 5.0.2
سپس داخل پوشه ی License Generator رفته و روی فایل
License Generator_b4airanamozesh.ir راست کلیک کنید و run as admin رو
بزنید تا تحت ادمین در ویندوز 7 جرا بشه سپس Basic4Android رو انتخاب کرده و یک ایمیل الکی مثلا [email protected] رو وارد کنید و Generate رو بزنید تا یک فایل تولید بشه. سپس اون فایل رو کپی کنید در مسیر نصب basic4android
version 5.0.2
--
حالا می تونید سورس دزدگیر همراه رو داخلش باز کرده و اجرا بگیرید.
نکته ای در مورد کش کردن GetComponent برای بهینه سازی بازی و حذف تیک و لگ
gameover.blog.ir
GetComponent رو توی آپدیت ننویسید سعی کنید کش کنید
cache یعنی ادرس محسابه شده ی حافظه رو بریزید تو متغیر دیگه و از اون
رفرنس استفاده کنیدبعد از _transform استفاده کنید. برای ریجید بادی هم
همین تکنیک رو بکار بگیرید
تو استارت که می ذاری یک بار می ره آدرس حافظه رو پیدا می کنه.
void Start(){ _transform = this.transform;//cache for optimization}
باز شدن درب در صورت دیدن دوربین از روبرو
gameover.blog.ir
دقت کنید برای اینکار یک اشعه یا ray باید به سمت جلو یا forward تا فاصله(distace) دلخواه پرتاب کنیم. در صورتی که برخورد صورت گرفت باید تشخیص بدیم با چی برخورد انجام شده. برای اینکار ابتدا به درب یک برچسب یا تگ(tag) دلخواه مثلا door می دیم. سپس از طریق کد بررسی می کنیم اگر با درب برخورد داشتیم یا درب روبروی دید دوربین بود انیمیشن باز شدن درب اجرا بشه.
نکته ی مهم: شما باید گزینه ی loopTime از انیمیشن خودتون رو در inspector غیرفعال کنید تا انیمیشن تکرار نشه.
bool isOpen=false;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()
پکیج Tactical_Shooter_AI_v1_11 ویژه یونیتی 5.3.2
gameover.blog.ir
نکته: برای اجرای این پکیج باید یونیتی 5.3.2 نصب داشته باشید.
به لینک زیر برید و چند ثانیه صبر کرده سپس رد تبلیغ رو بزنید.
با عضویت در کانال تلگرام ما که در بالای وبلاگ معرفی شده مطالب آموزشی رایگان رو دنبال کنید.
Graphics Emulation در یونیتی
gameover.blog.ir
این تنظیمات در منوی Edit | Graphics Emulation هست. برای انتخاب شبیه ساز کارت های گرافیکی ایکس باکس و کنسول و اینتل و ان ویدیا و موبایل و غیره.
البته شبیه ساز ها کمی سیستم رو کند می کنن(مثل برنامه blue Stacj وسه شبیه سازی اندروید روی سیستم که سخت افزار رو شبیه سازی می کنن)
Shader Model 2
- NVIDIA cards since 2003 (GeForce FX)
- AMD cards since 2004 (Radeon 9500)
- Intel cards since 2005 (GMA 900)
- Mobile: OpenGL ES 2.0–3.0
- Consoles: Xbox 360, Xbox One, PS3, PS4, Wii U.
Shader Model 3
- NVIDIA cards since 2004 (GeForce 6)
- AMD cards since 2005 (Radeon X1300)
- Intel cards since 2006 (GMA X3000)
- Mobile: OpenGL ES 3.0
- Consoles: Xbox 360, Xbox One, PS3, PS4, Wii U.
Shader Model 2
- NVIDIA cards since 2004 (GeForce 6)
- AMD cards since 2004 (Radeon 9500)
- Intel cards since 2006 (GMA X3000)
- Mobile: OpenGL ES 2.0–3.0 with depth texture support
- Consoles: Xbox 360, Xbox One, PS3, PS4, Wii U.
Shader Model 3
- NVIDIA cards since 2004 (GeForce 6)
- AMD cards since 2005 (Radeon X1300)
- Intel cards since 2006 (GMA X3000)
- Mobile: OpenGL ES 2.0–3.0 with depth texture support
- Consoles: Xbox 360, Xbox One, PS3, PS4, Wii U.
دانلود برنامه ی فیلم برداری از صفحه ی اندروید بدون نیاز به روت
به لینک زیر رفته و چند ثانیه صبر کنید سپس رد تبلیغات رو بزنید:
- حجم فایل 9.6 مگابایت
- نیازمند اندروید
- 2.3+
- نیاز به اینترنت
- قیمت گوگل پلی
- 6.99 دلار
ویژگی ها:
▪ نصب راحت و استفاده آسان
▪ امکان ضبط کردن صدا
▪ پشتیبانی از تمام تبلت و گوشی ها
▪ به اشتراک گذاری آنلاین ویدئوها
▪ عدم نیاز به روت بودن گوشی
توابع StateMachineBehaviour در یونیتی
یکم رو ترجمه کردم باقی تا بعد اگه نظر بذارید یادم بیارید
state machine behaviour ها توسط C# سیشارپ ایجاد شدند.
همه ی state machine behaviour ها از کلاس پایه ی یکسانی ارث می برند:StateMachineBehaviour
از آنجا که آنها از ارث بری(inheritance) پشتیبانی می کنند،اگر تابعی وجود داشته باشد می توانید آن را به کلاسهای چندگانه بیافزایید.
سپس به آسانی می توان به آن دست یافت.
برای اطلاعات بیشتر در مورد inheritance (ارث بری) اطلاعات پیوست شده در زیر را بخوانید.
StateMachineBehaviour functions
override public void OnStateEnter (Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { }
The Animator parameter is a reference to the specific animator that this state machine behaviour is on.
For example, this could be used to set the values of animator parameters that were only necessary in this state, such as those for a blend tree.
The AnimatorStateInfo is the current info for the state that the state machine behaviour is on. It is the equivalent of writing animator.GetCurrentStateInfo(layerIndex); This can be useful in operations that involve the normalised time of the clip.
The layerIndex is the layer the state machine behaviour’s state is on. For example, zero for the base layer, one for the first, and so on.
As with MonoBehaviours, the functions of a StateMachineBehaviour are called under specific circumstances.
OnStateEnter is called on the first frame of the state being played.
OnStateUpdate is called after MonoBehaviour Updates on every frame whilst the animator is playing the state this behaviour belongs to.
OnStateExit is called on the last frame of a transition to another state.در آخرین فریم یک انتقال به وضعیت دیگر فراخوانی می شود
OnStateMove is called before OnAnimatorMove would be called in MonoBehaviours for every frame the state is playing. When OnStateMove is called, it will stop OnAnimatorMove from being called in MonoBehaviours.
OnStateIK is called after OnAnimatorIK on MonoBehaviours for every frame the while the state is being played. It is important to note that OnStateIK will only be called if the state is on a layer that has an IK pass. By default, layers do not have an IK pass and so this function will not be called. For more information on IK see the information linked below.
OnStateMachineEnter is called on the first frame that the animator plays the contents of a Sub-State Machine.
OnStateMachineExit is called on the last frame of a transition from a Sub-State Machine.
مثال:
using UnityEngine;public class SpecialAttackParticlesSmb : StateMachineBehaviour { public GameObject particles; // Prefab of the particle system to play in the state. public AvatarIKGoal attackLimb; // The limb that the particles should follow. private Transform particlesTransform; // Reference to the instantiated prefab's transform. private ParticleSystem particleSystem; // Reference to the instantiated prefab's particle system. // This will be called when the animator first transitions to this state. override public void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { // If the particle system already exists then exit the function. if(particlesTransform != null) return; // Otherwise instantiate the particles and set up references to their components. GameObject particlesInstance = Instantiate(particles); particlesTransform = particlesInstance.transform; particleSystem = particlesInstance.GetComponent <ParticleSystem> (); } // This will be called once the animator has transitioned out of the state. override public void OnStateExit (Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { // When leaving the special move state, stop the particles. particleSystem.Stop(); } // This will be called every frame whilst in the state. override public void OnStateIK (Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { // OnStateExit may be called before the last OnStateIK so we need to check the particles haven't been destroyed. if (particleSystem == null || particlesTransform == null) return; // Find the position and rotation of the limb the particles should follow. Vector3 limbPosition = animator.GetIKPosition(attackLimb); Quaternion limbRotation = animator.GetIKRotation (attackLimb); // Set the particle's position and rotation based on that limb. particlesTransform.position = limbPosition; particlesTransform.rotation = limbRotation; // If the particle system isn't playing, play it. if(!particleSystem.isPlaying) particleSystem.Play(); } }
تابع OnStateEnter :
override public void OnStateEnter (Animator animator, AnimatorStateInfo stateInfo, int layerIndex) { player = GameObject.Find(“Player”); }
مثال دریافت behaviour:
using UnityEngine; public class ExampleMonoBehaviour : MonoBehaviour { private Animator animator; // Reference to the Animator component on this gameobject. private ExampleStateMachineBehaviour exampleSmb; // Reference to a single StateMachineBehaviour. void Awake () { // Find a reference to the Animator component in Awake since it exists in the scene. animator = GetComponent <Animator> (); } void Start () { // Find a reference to the ExampleStateMachineBehaviour in Start since it might not exist yet in Awake. exampleSmb = animator.GetBehaviour <ExampleStateMachineBehaviour> (); // Set the StateMachineBehaviour's reference to an ExampleMonoBehaviour to this. exampleSmb.exampleMb = this; } }
مثال بعد:
using UnityEngine; public class ExampleStateMachineBehaviour : StateMachineBehaviour { public ExampleMonoBehaviour exampleMb; }