«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
کد چرخش کاراکتر(نگاه کردن دوربین به جهت ماوس) با ماوس در یونیتی برای حالت سه بعدی چرخش دوربین به چپ و راست :: گیم اور

گیم اور


خصوصی نظر نذارید نمی تونیم جواب بدیم.

عضو کانال تلگرام ما بشید توش گروه هم می گیم

لینک کانال خصوصی گیم اور :

https://t.me/gameoverblog

پیوندهای روزانه
پیوندها
منبع:gameover.blog.ir
نکته : برای حالت سه بعدی هست مطلب زیر:
کد js(جاوااسکریپت)
var Xrotatespeed:float=10;
var Yrotatespeed:float=10;

function Start () {

}

function Update () {
    transform.Rotate(new Vector3 (0,Input.GetAxis("Mouse X")*Xrotatespeed,0));     
    //transform.Rotate(new Vector3 (Input.GetAxis("Mouse Y")*Yrotatespeed*-1,0,0));
    print(transform.rotation.eulerAngles); 
} 


اینم کد cs(سیشارپ) اگه اشتباه نکرده باشم اینطوری میشه :

float Xrotatespeed=10f;
float Yrotatespeed=10f;

void Start () {

}

void Update () {
    transform.Rotate(new Vector3 (0,Input.GetAxis("Mouse X")*Xrotatespeed,0));     
    //transform.Rotate(new Vector3 (Input.GetAxis("Mouse Y")*Yrotatespeed*-1,0,0));
    Debug.Log(transform.rotation.eulerAngles); 
}

توضیح:
دلتا تایم رو حذف کردم تا سرعت دست خودم باشه و با x ماس انجام بشه.
ضمنا چرخش بالا و پایین (حول محور X ) رو حذف کردم چون خیلی وقتا لازم نیست و بیشتر کاربر رو گیج می کنه.

توضیحات اضافی برای یادگیری بیشتر و درک سیستم ماوس و مختصات:

ماوس دو تا پارامتر داره x,y
تابع Rotate سه تاپارامتر داره x,y,z که زاویه چرخش رو حول محور دلخواه میدیم به پارامترهاش.

چرخش بالا و پایین (روی محور y ماوس):
اگه بخوایم چرخش به بالا و پایین رو انجام بدیم باید حول محور x بچرخیم یعنی پارامتر اول رو مقدار میدیم و دومی و سومی رو صفر می کنیم. و ضمنا زاویه ی چرخش بالا و پایین رو با حرکت بالا و پایین ماوس انجام میدیم و چون ماوس وقتی بالا می ره y اش تغییر می کنه پس پارامتر اول که قرار بود حول محور x چرخش بشه رو در Mouse Y ضرب کردیم.

چرخش به چپ و راست(روی محور x ماوس):
اگه بخوایم چرخش به چپ و راست رو انجام بدیم باید حول محور y بچرخیم یعنی پارامتر دوم رو مقدار میدیم و اولی و آخری رو صفر می کنیم. و ضمنا زاویه ی چرخش چپ و راست رو با حرکت چپ و راست ماوس انجام میدیم و چون ماوس وقتی چپ وراست می ره x اش تغییر می کنه پس پارامتر دوم که قرار بود حول محور y چرخش بشه رو در Mouse X ضرب کردیم.

راستی: rotation دوربین اصلی رو روی 0و0و0 بذار و اسکریپت رو هم بنداز روی دوربین اصلی


راستی برای اینکه خود کاراکتر بچرخه و مثلا روو کنه به نقطه ی دلخواه باید از تابع lookat استفاده کنید.الگوی استفاده و نحوه ی استفاده رو خیلی ساده می تونید با بررسی نمونه اسکریپت ها یا یک جستجوی ساده در اینترنت پیدا کنید.اگه سایت اصلی هم بسته باشه با شیلتر یا ... بازش کنید یا بپرسید.



روش دوم :

استفاه از خصوصیت rotation هست که از نوع Quaternion هست و با استفاده از تابع اویلر باید مقدار بهش بدیم اینطوری:
void Update () {
transform.rotation =
		Quaternion.Euler(new Vector3(0, Input.mousePosition.x, 0));
	}

به دقت کنید. پارامتر اول و آخر یعی x و z رو صفر گفتیم چون چرخشی حول محور x(میله ای از چپ به راست که چرخش حول آن یعنی چرخش از جلو و عقب)، و چرخشی حول محور Z (میله ای از عقب به جلو که چرخش حول آن یعنی چرخش از پهلو) نداریم.

فقط پارامتر دوم یعنی چرخش حول محور Y(میله ای از پایین به بالا که چرخش حول آن یعنی چرخش به چپ و راست) را با مقدار حرکت ماوس به چپ و راست تنظیم کردیم تا اگر ماوس به چپ حرکت کند دوربین به چپ و اگر به راست حرکت داده شد دوربین به راست نگاه کند.
موافقین ۰ مخالفین ۰ ۹۴/۰۵/۰۴
مدیرکل

نظرات (۲)

لطفا این کد رو با سی شارپ بگذارید:)
پاسخ:
نوشتم .اما عجله ای. بررسی کنید ببینید درسته یا نه.
من دارم یه بازی ردست می کنم با دو نفر و یه نفر هم می خوام که کد بازی رو بنویسه اگه کسی حاضر هست اطلاع بده


gmail : amir89315@gmail.com                                    

 ایدی تلگرام : @amirhosein41148


اگه اینها رو نتونستید با شماره : 09336815327   تماس بگیرید 

این بازی کامپیوتری هست و قراره که به بنیاد بازی سازی ارسال بشه و چزو بازی ها به بازار بره
 

ارسال نظر

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