سلام بچه ها...
به چند تا مشکل تو یونیتی برخوردم که امیدوارم بتونین راهنماییم کنین.
مشکل اولم:
می خوام به کاراکترم footstep اضافه کنم و هر قسمت زمین هم ایفکتای خودشو داشته باشه. می دونم که این کار از طریق tag انجام میشه. به همین خاطر اومدم اسکریپت footstep رو عینا از bootcamp به کاراکتر خودم اضافه کردم و یه Audio Source هم اد کردم و tag های مربوطه رو هم به قسمت های مورد دلخواه اضافه کردم.
اما هیچ اتفاقی نمی افته.
نکته جالبی که وجود داره اینه که وقتی صدای پا رو به Audio Clip همین Audio Source اضافه می کنم، اونوقت صداشو تو بازی می شونم (اما بدون اینکه بخوام کاراکترو حرکت بدم). این نشون میده که Audio مشکلی نداره و تو بازی هم اجرا میشه.
نکته جالب دومی که وجود داره و خیلی هم گیج کننده س اینه که میام tag های خود bootcamp رو هم عوض می کنم اما هیچ اتفاقی نمی افته. حتی untagged هم کردم اما بی فایده بود. همینطور سعی کردم که یه plane اضافه کنم و بهش تگ بدم ببینم که صدای audio مورد نظر پخش میشه یا نه. بعدش دیدم که کاراکتر ازش رد میشه با اینکه collider هم داره. بعضی وقتا یونیتی یه کارایی می کنه که اینجوری=میشم.
کلا دیگه هنگ کردم. اصلا دیگه نمی فهمم که یونیتی چه مرگشه. دو تا اسکریپت ساده رو عینا میندازی رو کاراکتر اما جواب نمیده. چند تا اسکریپت دیگه رو هم تست کردم و 4-5 تا آموزش از یوتوب هم گرفتم اما بی فایده بود. کجا رو دارم اشتباه میرم ؟ گمون نکنم کار خیلی سختی باشه.
این اسکریپت footstep مال خود bootcamp:
اینم عکسی از inspector ش که مربوط به Audio ه:کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
نکته:
مطمئنم که script مربوطه رو به خود کاراکتر اضافه کردم و به EmtyGame Object ندادم. گرچه کاراکترم تو Emptygame Object نیست.
ویرایش:
این نسخه دمو مال ورژن 3 یونیتی هستش و منم دارم از ورژن 4.1.5 استفاده می کنم و دمو هم واسه همین ورژن کانورت شده. یعنی ممکنه که script ش با این ورژن سازگار نباشه ؟



میشم.
جواب بصورت نقل قول
.gif)
مشکل اینجاست که من درست موضوع RaycastHit رو متوجه نشدم. نمی دونم چطور باس واسه هر آبجکت تعریف شه. با layer ؟ اما من layer خود آبجکت بازی رو هم تغییر میدم هیچ اتفاقی نمی افته. حتی با عوض شدن تگ هم هیچ اتفاقی نمی افته. اما هر آبجکت شامل یه BoxCollider ه که تو Layer ش Ignore Raycast انتخاب شده وقتی default ش می کنم BoxCollier دیگه عمل نمی کنه و شخصیت از آبجکت رد میشه با اینکه child ش MeshCollider داره. اصلا دلیل وجود Ignoreraycast رو نمی فهمم. چرا باس ایگنور شه ؟ اصلا ربطی به Audio داره یا دارم راهو اشتباه میرم ؟ چون تنها تاثیر مستقیم بازی روی آبجکت و صدا همین ignoreraycast ه.



