آموزش ها
پکیج های یونیتی
مدل های سه بعدی
نکته مهم: .در صورت ثبتنام، سفارشهای شما حفظ میشود در صورت مشکل تیکت بزنید
لینک کانال روبیکا
در یونیتی، یکی از مهمترین ویژگیهایی که در بیشتر بازیها نیاز است، حرکت کاراکتر یا شخصیت بازی است. این حرکت میتواند به شکل سادهای مانند حرکت در جهتهای مختلف یا حتی پیچیدهتر با اضافه کردن انیمیشنها و افکتهای خاص باشد. در این مقاله قصد داریم نحوه پیادهسازی یک سیستم ساده برای حرکت کاراکتر در یونیتی را آموزش دهیم.
PlayerMovement ایجاد میکنیم که وظیفه حرکت کاراکتر را بر عهده خواهد داشت.using UnityEngine;
public class PlayerMovement : MonoBehaviour
{
public float moveSpeed = 5f; // سرعت حرکت
public float rotationSpeed = 700f; // سرعت چرخش
void Update()
{
// دریافت ورودی حرکت از صفحه کلید (W, A, S, D)
float horizontal = Input.GetAxis("Horizontal"); // چپ و راست
float vertical = Input.GetAxis("Vertical"); // بالا و پایین
// حرکت کاراکتر در جهت جلو و عقب
Vector3 move = transform.forward * vertical + transform.right * horizontal;
transform.Translate(move * moveSpeed * Time.deltaTime, Space.World);
// چرخش کاراکتر بر اساس ورودی افقی
if (horizontal != 0 || vertical != 0)
{
Quaternion toRotation = Quaternion.LookRotation(move, Vector3.up);
transform.rotation = Quaternion.RotateTowards(transform.rotation, toRotation, rotationSpeed * Time.deltaTime);
}
}
}
moveSpeed: سرعت حرکت کاراکتر.rotationSpeed: سرعت چرخش کاراکتر به هنگام تغییر جهت.Update()، ورودیهای کاربر با استفاده از Input.GetAxis() دریافت میشود. این ورودیها به کاراکتر اجازه میدهند که حرکت کند.Vertical برای W و S) و افقی (Horizontal برای A و D) انجام میشود. این حرکت از طریق متد Translate انجام میشود که به کاراکتر اجازه میدهد در فضای سهبعدی حرکت کند.Quaternion.LookRotation و Quaternion.RotateTowards استفاده میکنیم.این اسکریپت ساده به کاراکتر شما اجازه میدهد که با استفاده از کلیدهای W, A, S, D در جهتهای مختلف حرکت کند و همچنین به صورت نرم و صاف در هنگام تغییر جهت بچرخد.
برای اینکه این اسکریپت کار کند، کافی است آن را به شیء کاراکتر (مثلاً یک Cube) در صحنه یونیتی اضافه کنید. برای این کار:
moveSpeed و rotationSpeed را در Inspector تنظیم کنید.با اجرای این اسکریپت، شما یک سیستم حرکت ساده برای کاراکتر خود در یونیتی خواهید داشت که میتوانید آن را بر اساس نیازهای بازی خود توسعه دهید و به آن ویژگیهای پیچیدهتری مانند پرش، دویدن، و انیمیشنهای مختلف اضافه کنید.