کلیات فیزیک ماشین در یونیتی
يكشنبه, ۲۴ ارديبهشت ۱۳۹۶، ۰۴:۱۷ ق.ظ
gameover.blog.ir
به نام خداوند بخشنده و مهربان
نویسنده:رئیس علی یردون
در مورد فیزیک ماشین:
ساختن فیزیک ماشین تو یونیتی خیلی سادست. 4 تا WheelCollider میسازید و بنا بر دیفرانسیل جلو FWD یا عقب RWD و یا هردو بهشون نیرو وارد میکنید. FWD یعنی Front Wheel Drive و RWD هم یعنی Rear Wheel Drive یا راندن با چرخ های عقب.
این کد کلیشه
برای ترمز
تو بعضی پکیجا از EngineRPM استفاده کردن. و یا Gears یا همون دنده. اینا در بیشتر پکیج ها فقط برای صدای موتور ماشین استفاده میشن!!! یعنی ماشین با همون نیرویی که وارد میکنید با کلید های Vertical حرکت میکنه و از RPM برای صدای ماشین استفاده میشه. سخت ترین قسمتشم همینه. تو نمونه سمپل یونیتی از Engine Rev برای صدای ماشین استفاده کرده که بدک نیست.
کار دیگه ای که باید بکنید اینه که WheelTransform رو مکان و چرخشش رو با WheelCollider یکی کنید. که نمونه کد نمونه فیزیک یونیتی بهترین و ساده ترین حالتشه.
مهمترین قسمت دیگه تنظیمات WheelCollider هست. که کمک فنر و سرخوردن چرخ رو تعیین میکنه. دو نوع سر خوردن داریم. یکیش به سمت جلو و یکیش به سمت اطراف وقتی یهویی دورمیزنید. سر خوردن به سمت اطراف به درد دریفت میخوره.
سر خوردن یا اصطکاک به سمت جلو رو تو قسمت Forward Friction و سرخوردن اطراف رو تو قسمت SidwayFriction میتونید دستکاری کنید
در نهایت برای تنظیم راحت WheelCollider ها که ماشین یهویی پرواز نکنه بهتره از این اسکریپت استفاده کنید برای شروع کار
به ماشینی بدید که WheelCollider ها زیر مجموعه شه خودش ردیف میکنه
bit.ly/1y8ucNW
آموزش
www.youtube.com/watch?v=xQcJAa6Ooa4
مرجع:
docs.unity3d.com/Manual/class-WheelCollider.html
نویسنده:رئیس علی یردون
در مورد فیزیک ماشین:
ساختن فیزیک ماشین تو یونیتی خیلی سادست. 4 تا WheelCollider میسازید و بنا بر دیفرانسیل جلو FWD یا عقب RWD و یا هردو بهشون نیرو وارد میکنید. FWD یعنی Front Wheel Drive و RWD هم یعنی Rear Wheel Drive یا راندن با چرخ های عقب.
این کد کلیشه
WheelCollider.motorTorque = Input.GetAxis("Vertical");
برای ترمز
WheelCollider.brakeTorque = Input.GetButton("Space");
تو بعضی پکیجا از EngineRPM استفاده کردن. و یا Gears یا همون دنده. اینا در بیشتر پکیج ها فقط برای صدای موتور ماشین استفاده میشن!!! یعنی ماشین با همون نیرویی که وارد میکنید با کلید های Vertical حرکت میکنه و از RPM برای صدای ماشین استفاده میشه. سخت ترین قسمتشم همینه. تو نمونه سمپل یونیتی از Engine Rev برای صدای ماشین استفاده کرده که بدک نیست.
کار دیگه ای که باید بکنید اینه که WheelTransform رو مکان و چرخشش رو با WheelCollider یکی کنید. که نمونه کد نمونه فیزیک یونیتی بهترین و ساده ترین حالتشه.
Quaternion quat;
Vector3 position;
Wheel_Collider.GetWorldPose (out position, out quat);
Wheel_Transforms.transform.position = position;
Wheel_Transforms.transform.rotation = quat;
مهمترین قسمت دیگه تنظیمات WheelCollider هست. که کمک فنر و سرخوردن چرخ رو تعیین میکنه. دو نوع سر خوردن داریم. یکیش به سمت جلو و یکیش به سمت اطراف وقتی یهویی دورمیزنید. سر خوردن به سمت اطراف به درد دریفت میخوره.
سر خوردن یا اصطکاک به سمت جلو رو تو قسمت Forward Friction و سرخوردن اطراف رو تو قسمت SidwayFriction میتونید دستکاری کنید
در نهایت برای تنظیم راحت WheelCollider ها که ماشین یهویی پرواز نکنه بهتره از این اسکریپت استفاده کنید برای شروع کار
به ماشینی بدید که WheelCollider ها زیر مجموعه شه خودش ردیف میکنه
bit.ly/1y8ucNW
آموزش
www.youtube.com/watch?v=xQcJAa6Ooa4
مرجع:
docs.unity3d.com/Manual/class-WheelCollider.html
۹۶/۰۲/۲۴