2016-10-01 7 views
-1

이런 질문이 있지만 C#에서 답을 찾을 수 없으므로 여기에 제 질문입니다. 대상을 (Unity 5에서) 직면 한 방향으로 회전하고 싶습니다. 현재이 코드를 사용하여 플레이어를 회전시킵니다.개체를 직면하는 방향으로 이동 하시겠습니까? C#

using UnityEngine;              
using System.Collections; 

public class Movement : MonoBehaviour 
{ 
    private bool isLeft = false; 

    void Update() 
    { 
     if (Input.GetMouseButtonDown(0)) 
     { 
      if (isLeft == false) 
      { 
       transform.rotation = Quaternion.Euler(90, 45,0); 
       isLeft = true; 
       Debug.Log("Turned Right"); 
      } 
      else 
      { 
       transform.rotation = Quaternion.Euler(90, -45, 0); 
       Debug.Log("Turned Left"); 
       isLeft = false; 
      } 
     } 
} 
+1

제목에 ** "향하는 방향으로 물건을 움직여 라."** 그러면 질문의 몸체가 ** "내가 향한 방향으로 물건을 회전시키고 싶습니다." * .... 물건을 움직이거나 회전시키는 것은 똑같은 일이 아닙니다. 어느 것이 당신의 진정한 노력입니까? 반면에, 당신의 질문에 코드가 작동합니까? 이 코드가 어떻게됩니까? – Programmer

답변

0

질문과 설명이 약간 모호하지만, 방향을 직각으로 이동하려는 것 같습니다.

게임 개체의 화살표가 앞으로 가리키고 있는지 확인하십시오. 장면에서 게임 개체를 선택하여 앞으로 무엇인지 알 수 있습니다. 앞으로 파란색 화살표가 표시됩니다.

코드에서이 방향으로 이동하려면 여러 가지 방법으로 이동할 수 있습니다. 힘/이동/위치 설정을 적용하십시오. 외모와 느낌이 가장 잘 드러나도록 시도해 보는 것이 좋습니다. 단순히 위치를 변경하려면 :

transform.position += transform.forward * Time.deltaTime * movementSpeed; 

이동 속도는 이동 속도를 나타내는 부동 소수점입니다. 이 코드를 Update()에 넣으면 Time.deltaTime이 필요합니다.

0
대답에

확인 전체 편집, 그래서 당신은 화살표와 어느 방법은 당신이 그것을 직면하고있어 방향을 이동하려는 플레이어가 클릭 할 때 그것은 45도 회전이 직면하고 있습니다.

쉬운 부분은 그것을 돌리고 있습니다. 기본적으로 onclick() 함수를 호출하거나 객체에 콜리 더를 설정하고 마우스를 클릭하면 arrow.name 또는 collider와 같은지 확인하는 간단한 스 니펫을 작성합니다. 그렇다면 Vector3가 새로운 회전을 저장하기위한 새로운 변수를 설정하고 객체 회전에 45를 더하고 게임 객체의 새로운 회전을 새로운 회전 변수와 동일하게 설정하십시오.

+0

여기에 : http://imgur.com/pf8fVBk [img] http://i.imgur.com/pf8fVBk.png [/ img] 화살표가 향하고있는 방향으로 앞으로 나아가고, 플레이어가 클릭하면 45도 회전하여 새로운 방향으로 향하게합니다. – iFallOffStuff

관련 문제