چرخش با استفاده از Quaternion.Euler به جای rotation
پنجشنبه, ۸ مهر ۱۳۹۵، ۰۴:۳۰ ق.ظ
gameover.blog.ir
گاهی به جای غرق شدن در ریاضیات quaternion کواترنیون از چرخش های اویلری Euler استفاده می کنیم.
استفاده از تابع اویلر به جای محاسبات ریاضی عمیق تر،باعث پردازش کمتری خواهد شد که این کار باعث مصرف کمتر منابع مثل پردازنده و همچنین بهینه سازی بازی شما می شود.
این تابع (Euler) سه مولفه xyz را دریافت کرده و چرخش حول این سه محور را انجام میدهد.
مثال 1 :
برای دستیابی به زوایای اویلر داریم:
Debug.Log(transform.eulerAngles);
مثال 2 :
برای چرخش اویلری داریم:
transform.eulerAngles = new Vector3(30,0,0);
مثال 3 :
چرخش گیم ابجکت از جلو،عقب(حول محور x که از چپ به راست هست)، با حرکت ماس به بالا و پایین(دقت کنید y ماوس تغییر می کنه):
transform.eulerAngles = new Vector3(mouseY * 0.1f,0,0);
مثال4 :
چرخش گیم ابجکت از چپ و راست(حول محور y که از پایین به بالاست)،با حرکت ماوس به چپ و راست(دقت کنید x ماوس تغییر می کنه):
چرخش گیم ابجکت از چپ و راست(حول محور y که از پایین به بالاست)،با حرکت ماوس به چپ و راست(دقت کنید x ماوس تغییر می کنه):
void Update () { float mouseX = Input.GetAxis("Mouse X"); Debug.Log(mouseX); transform.eulerAngles = new Vector3(0, mouseX, 0); }
۹۵/۰۷/۰۸