Ad Block 한번만 꺼주시면 안될까요..?
게임 개발/게임수학

게임수학) 게임을 만들때 삼각함수를 쓰는 예.

UniCoti(유니코티) 2023. 1. 20.

1. 원형 발사체.

Vector2 dirVec = new Vector2(Mathf.Cos(Mathf.PI * 2 * i / roundNum) ,
			     Mathf.Sin(Mathf.PI * 2 * i / roundNum));
rigid.AddForce(dirVec.normalized * 6f, ForceMode2D.Impulse);

 


2. 부채꼴 모양 발사체.

Vector2 dirVec =
new Vector2(Mathf.Cos(Mathf.PI * 10 * curPatternCount / maxPatternCount[patternIndex]),-1);
rigid.AddForce(dirVec.normalized * 3, ForceMode2D.Impulse);

3. 벡터의 각도 구하기. (역함수)

Vector2 ObjectA;
Vector2 ObjectB;

Vector2 Direction = ObjectA - ObjectB;

float Angle = Mathf.Atan2(Direction.y, Direction.x) * (180 / Mathf.PI)

//		Mathf.Atan2() : 라디안값        |       * (180/Mathf.PI) : 라디안 -> 각도 변환식.

https://alpaca-code.tistory.com/80(자세한 글)

 

벡터의 각도 구하기(라디안, 도, 역탄젠트)

원래는 유니티 블로그지만 수학에도 관심이 많아 새로운 주제로 글을 써본다. 이 주제를 알게 된 건 굉장히 옛날부터이고 다양한 시도를 해보았지만 구할 수 없었는데 프로그래밍을 하다 벡터

alpaca-code.tistory.com


4. 각도로 (방향)벡터 구하기

https://www.gpgstudy.com/forum/viewtopic.php?t=18665 

 

각도로부터 방향벡터를 구할려면? - GpgStudy 포럼

2D, 3D, 다각형, 픽셀 등 게임의 그래픽 프로그래밍에 관한 포럼입니다. 운영자: 류광 비회원 전체글 글쓴이: 비회원 » 2008-02-01 10:41 각도 머 30도 70도.... 이런걸로 방향벡터를 구할려면 무슨 함수

www.gpgstudy.com


5. 두 벡터의 사이 각도 구하기 (벡터의 내적)

float GetAngleByTwoVector(Vector2 vec1, Vector2 vec2) {
        float theta = Mathf.Acos(Vector2.Dot(vec1, vec2) /         
                                 (vec1.magnitude * vec2.magnitude));
        return theta * (180 / Mathf.PI);
}

이 함수에 vec1, vec2를 넣으면 사이각 (둘중 180도 이하인 각)을 출력해줌.


 

Easy 2D, 3D, VR, & AR software for cross-platform development of games and mobile apps. - Unity Store

Have a 2D, 3D, VR, or AR project that needs cross-platform functionality? We can help. Take a look at the easy-to-use Unity Plus real-time dev platform!

store.unity.com

 

 

Unity Pro

The complete solutions for professionals to create and operate.

unity.com


이상으로 도움이 되었길 바라며,

 

끝.

댓글

💲 추천 글