Study/Programming Math
[유니티] 삼각 함수로 원그리며 이동 하기
아낙시만더
2017. 12. 1. 18:19
반응형
using UnityEngine; using System.Collections; public class csFuction : MonoBehaviour { [SerializeField] float fR = 2; float MAXRADIAN = 360; float MINRADIAN = 0; [SerializeField] float fRadian = 0; [SerializeField] float fSpeed = 1; [SerializeField] Vector3 v3MovePos = Vector3.zero; [SerializeField] bool bAutoMove = false; Transform transMe = null; // Use this for initialization void Start () { if (transMe == null) transMe = transform; } // Update is called once per frame void Update () { if (bAutoMove) { if (fRadian > MAXRADIAN) fRadian = MINRADIAN; fRadian += Time.deltaTime * fSpeed; } // 추가 시킨 각도의 Radian를 구한다. float deRad = fRadian * Mathf.Deg2Rad; //Radian값으로 Sin과 Cos 값을 구한다. float sinValue = Mathf.Sin(deRad); float cosValue = Mathf.Cos(deRad); //Debug.Log(fRadian + " Mathf.Sin :" + sinValue + " Mathf.Cos :" + cosValue + deRad); // 반지름을 곱해 포인트 x,y값을 구한다. float y = 0; float x = 0; y = sinValue * fR; x = cosValue * fR; //이동 transform.localPosition = new Vector3(x, y, 0) + v3MovePos; } }
반응형