작성자 | 판밍 | ||
---|---|---|---|
작성일 | 2017-04-08 00:00:47 KST | 조회 | 4,493 |
제목 |
투사체의 오프셋 설정에 대한 팁 (지속 효과 생성)
|
* 주의, 함수의 좌표에 대한 개념이 필요합니다.
* 투사체를 복합적인 형태로 사용하기 위해서는 삼각함수, 원의 방정식, 피타고라스의 정의 등 각종 함수와 연관된 지식이 필요합니다.
투사체를 활용하거나, 각종 스킬들을 만들때 오프셋의 개념은 꼭 필요합니다.
하지만 정확하게 어떤 지점에 어떻게 사용할지 표기하는걸 하나하나 넣어보면서 하기는 너무 힘든데요
그래서 그 개념을 정리해봤습니다.
기본적인 좌표의 개념은 이렇습니다.
유닛을 중심으로 0,0이며
유닛이 바라보는 방향의 왼쪽은 X값 +, 오른쪽은 X값 -
유닛의 바라보는 방향은 Y값 -, 유닛의 뒷 방향은 Y축 -값 입니다.
Z축의 경우 해당 유닛이 있는 언덕을 기준으로 0이면 바닥이며 +이면 공중으로, -면 땅속을 가리키는 좌표가 됩니다.
또한 지속효과에서 이 오프셋을 설정하면, 해당 오프셋은 "최종 도달 지점"에 해당합니다.
투사체를 발사하게 되면 시전자의 위치에서 부터 최종 도달지점까지 투사체가 이동하게 됩니다.
예를 들어 (1, 10, 10)의 위치로 투사체를 발사하게 된다면
투사체는 (0,0,0)에서 (시전자의 위치)에서 점점 이동하면서 최종적으로 (1, 10, 10)에 도달하게 됩니다.
만약 투사체가 아닌 해당 오프셋 지점에 즉시 효과를 발동하게 한 경우에는
(1, 10, 10)의 오프셋에 즉시 효과가 발동하게 됩니다.
일단 한번 해보겠습니다.
이렇게 X값을 0부터 9까지, Y값을 -1로 고정, Z 값을 1로 해두겠습니다.
이렇게 10발의 투사체가 발사되게 되면
유닛의 정면에서 -1의 지점에 서부터 왼쪽으로 일직선으로 투사체가 배치되게 됩니다.
이렇게 말이죠
이미 이해 하신 분이라면
이건 시전하는 유닛을 (0,0,0)으로 하는 함수 좌표 입니다.
이런 좌표 체계를 생각하시면 오프셋 설정을 더욱 쉽고 직관적으로 하실 수 있습니다.
여기까지 이해하셨다면
오프셋을 이용해서 가시지옥과 같이 정면으로 일직을 하거나 수직이 되는 방향으로 오프셋을 잡을 수 있고
샷건이나 멀티플샷 같은 것을 간단하게 구현 하실 수 있습니다.
그렇다면 이제 부채꼴 형태의 발사, 원형 형태의 발사 등 좀더 자연스럽고 다체롭게 하려면 어떻게 해야 할까 입니다.
이제부터 삼각함수, 원의 방정식, 피타고라스의 정의 등이 필요한 상황입니다.
거창하게 말하긴 했지만 사실 원의 방정식, 피타고라스의 정의 두가지만 알아도 노가다로 할 수 있고
삼각함수를 확실하게 구현 하신다면 더 편리하게 좌표를 선정해서 자연스러운 오프셋을 설정 하실 수 있습니다.
먼저 트리플샷을 예시로 들어보겠습니다.
이 트리플샷은
유닛을 중심으로 정면으로 1발, 그리고 좌/우로 45도씩 옆으로 벌어진 방향으로 한발씩 해서 총 3발의 투사체를
정면을 향해 발사합니다.
가장 단순하게 한다면 (1,-1,1), (0,-1,1), (-1,-1,1) 이렇게 만들어서
트리플 샷 처럼 보이게 만들 수 있습니다. 물론 이건 45도 방향으로 으로 나가긴 하지만 아름다운 부채꼴이 아닌
그냥 투사체 3발이 옆으로 늘어서서 정면으로 날아가는 형태로, 부채꼴과 같은 자연스런 형상을 하지는 못합니다.
특히 다수의 투사체를 부채꼴로 발사하거나, 원형으로 발사하게 되는 경우 위와 같은 방식을 사용하게 되면
다수의 투사체로 직선을 만들어 발사하는 것과 동일하게 보여 매우 부자연스러워 보입니다.
그러기에 가상의 원을 만들어, 원의 가장자리를 따라 형성되는 오프셋 값을 찾아서 자연스러운 곡선을 찾아내야 합니다.
가장 간편하게는 이렇게 삼각형을 만들어서 피타고라스의 정의를 이용해서 x,y좌표를 구 할 수 있다.
(직각이등변삼각형의 경우 면의 길이 비율은 1:1:√2)
피타고라스의 정의가 성립하는 정삼각형, 직각이등변삼각형, 직각삼각형 등에 대해서는 이런식으로 쉽게 좌표를 구 할 수 있지만
그게 아닌 경우에는 삼각함수를 이용해서 좌표를 구하거나 (sin, cos, tan)
원의 방정식 x2+y2=r2를 이용해 찾을 수 있다.
(x2 = x의 제곱을 의미, r은 가상으로 만든 원의 반지름)
그러니 부채꼴과 원형과 같은 자연스러운 형태를 포기하고
다들 투박한 직선을 이용한 사각형을 이용합시다.^^
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
© PlayXP Inc. All Rights Reserved.