playXP

서브 메뉴

Page. 1 / 271 [내 메뉴에 추가]
글쓰기
작성자 아이콘 별 꼴이야
작성일 2013-07-18 04:01:17 KST 조회 2,994
제목
다중 공격이 암만 해도 안 될때

일전에 크런치 님 다음팟 강의 때 분명히 골리앗 참조해서 되는걸 확인했고

그대로 했는데도 불구하고....

모델에 포탑 부착 지점이 없어서 그런건가 ... 도저히 안 되네요...


그냥 동작에다가 주기 효과에 영역 검색 효과를 연결한 후에,

범위를 무기 사거리만큼 설정하고 최대 갯수는 1로 설정하고,

영역 검색 효과에 무기에 연결된 효과 붙이고

동작 주기를 무기 주기와 똑같이 하는 방법 밖에...

무기 표시 안 되는거는 유닛 에서 장비 배열 에 무기를 추가하시면 됩니다.

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

발도장 찍기
아이콘 부료선 (2013-07-18 06:37:29 KST)
0↑ ↓0
센스 이미지
갯수?
설마 검색 수를 1로 하고 한놈만 때리다고 하는건가요.........
세레나스 (2013-07-18 12:11:04 KST) - 221.151.xxx.16
0↑ ↓0
센스 이미지를 등록해 주세요
좀 더 근본적인 문제가 있습니다.

일단 제가 보기엔 포탑이 문제라는 건 50%입니다.
포탑이 공격원호에 영향을 주기 때문에 결국 공격원호가 문제라는 생각입니다.


이런 경우를 생각해보죠.무기 A와 B가 있습니다.
A B
사거리(5)(5)
대상 (공중)(지상)
인 경우, 당연히 둘은 서로 다른 대상을 공격합니다. 단, 공격 원호가 0인경우라면 둘다 자신이 보고 있는 방향에서 0도 방향,즉 직선상의 적만을 공격하지요.

하지만 그래서는 동시 공격이 힘들수 있겠죠.

여기서 포탑이 필요합니다. 포탑은 유닛이 방향을 돌아보지 않고 다른 방향을 향해 공격할 수 있게 해주는 겁니다.

골리앗의 다중 조준 시스템을 다시 한번 잘 보세요.

다중 조준 개틀링은 '골리앗 포탑'을 사용합니다.
다중 조준 대공 미사일은 '자유 회전'을 사용하지요.

골리앗 포탑의 데이터를 보신 적이 있으신지 모르지만 Z축 회전원호가 135도로 되어 있습니다.
즉, 지금 보고 있는 직선 방향을 기준으로 좌우 67.5도 각도로 포탑(골리앗의 경우 상체)가 돌아가며 적을 공격할 수 있습니다.

그리고 대공 미사일이 사용하는 '자유회전' 포탑은 Z축 회전 원호가 360도 입니다. 즉 전방위 아무쪽으로나 사용할 수 있는 거죠.즉, 대공 미사일은 상대가 뒤통수쪽에 있던 앞에 있던 왼쪽에있던 오른쪽에 있던 사거리 안으로만 들어오면 사용할 수 있습니다.

이 둘을 합쳐진 다중 조준 골리앗의 경우, 지상은 현재 보고 있는 방향에서 135도 사이의 적은 바로 공격할 수 있으며 그 각도를 넘어서는 경우는 당연히 적이 135도 안에 들어올때까지 골리앗이 회전하여 공격하며 대공 미사일은 사거리 안에서는 무조건 발사합니다.



그러나,사실...맨 처음 말한 근본적인 문제는 이게 아니죠.
제가 예전에 유닛을 만들때 실험해 봤던 경험으로는 정말 문제가 되는 것은 다음과 같은 경우입니다.


1.두 무기가 똑같은 대상을 공격할 수 있을때,
2.허용된 이동이 '없음'이어서 '제자리에 멈춰서' 공격을 할시에.
3.허용된 이동이 '감속'또는 '이동'이라서 움직이면서도 공격할 수 있지만 이동이 아닌 '공격'명령을 내려서 사거리 내에서 멈춰서서 공격할때.

1번은 필수조건입니다.
서로 다른 대상을 공격할 수 있는 골리앗의 경우는 저런 문제가 생기지 않습니다.
1번이 적용된 상태에서 2번,또는 3번에 걸리게 되면 이상하게도 하나의 무기만 사용되거나 두 무기를 번갈아 가며 사용하는 것을 볼 수 있습니다.(이건 순전히 공격 주기로 인해 벌어지는 문제입니다. 공격 주기 차이가 별 차이 안나면 하나만 사용하게 되고, 서로 안 겹치는 타이밍에 공격이 나가면 A사용->B사용->A사용 루프를 돌지요)

(2번과 3번을 증명하기 위해서는 3번에서 말한대로 '이동' 명령을 내려 보시면 됩니다. 이동중에는 문제없이 두 무기가 동시에 각자의 공격주기대로 사용됩니다.)

사실, 잘 보면 2번과 3번은 똑같은 상황입니다.
'제자리에서 무기를 사용할 시'라는 거죠.
저도 이유와 해결법은 모릅니다.

결국 이 경우 '별 꼴이야' 님과 같은 식으로 해결할 수 있지만, 좀 더 다듬을 수 있습니다.

첫째, 동작에 영역 검색을 주는데, 동작 주기를 무기 주기와 똑같이 할경우 문제가 생깁니다.
주기가 짧으면 별 문제 없겠지만 공격 주기가 아크라이트 충격포마냥 3초 인경우....사거리 안에서 2.8초간 머무르고 사라진다....라는 적은 절대 공격할 수 없게 되지요.3초마다 영역을 검색하기 때문이지요.
두번째 문제는 매번 다른 유닛을 공격할 가능성이 있습니다.대상 정렬을 한다해도 적들의 대열이 바뀌어서 가장 가까운 유닛이 바뀌거나 가장 가까운 각도의 유닛이 바뀌거나 할 경우 말입니다.
(Crave RPG의 유닛은 이 두번째 문제를 무시했습니다.)

이 두가지 문제를 모두 해결할 방법은 '거대괴수'의 지상 공격인 '촉수'에 해답이 나와 있습니다.
동작의 주기는 0.0625즉, 스타 2 최소 시간 단위입니다.검색은 그렇게 하지만, 검색해서 적이 하나 걸리면 그 적에게 '지속 효과'를 적용해줍니다. 그 지속효과의 '최초' 효과에 동작적용등을 넣어서 영역 검색 동작을 '사용안함'상태로 바꿔주는 겁니다. 그리고 지속 효과의 '주기 지속 시간'에 무기의 주기 시간을 넣어서 무기의 주기 시간 마다 적을 공격하게 하는겁니다. 그리고 주기적 유효성 검사기에는 1개만 넣을 수 있으니 '결합' 검사기를 하나 만들어야 겠지요. 그리고 그 결합될 검사기들은 총 3가지입니다. 첫째,시전자 죽지 않음.둘째,죽지않음. 이 두가지는 기본적으로 제공되어 있으며 첫번째는 공격하다가 내가 죽으면 공격을 멈추기 위해서이며, 두번째는 당연히 공격중인 대상이 죽으면 공격을 멈추기 위해서 필요합니다. 그리고 세번째는 '장소 범위' 유효성 검사기를 이용하여 무기의 사거리내에 적이 있는지를 검사해 주는 겁니다. 이 것이 없으면 공격사거리를 벗어났는데도 계속 공격이 들어가기 때문에 필수 입니다.


실제 거대괴수의 촉수 공격을 보면 주기적 유효성 검사기에 '시전자 죽지 않음'이 들어 있지 않기 때문에 거대괴수가 촉수 공격을 하다가 죽어도 촉수공격은 지속되는 문제가 있습니다.
(이건 예전에 흥했던 수정탑 RPG에 나온 거대괴수의 촉수공격에도 그대로 적용되었던 걸로 기억합니다.그뒤로 수정이 되었는지 어땠는지는 모릅니다.)

이렇게 만들어 주고 지속효과의 '최종 효과' 즉, 주기적 유효성 검사기에 의해 공격자가 죽었거나,대상이 죽었거나, 아니면 대상이 사거리 바깥으로 도망갔을경우, 지속효과를 끝내며 주게될 효과에 영역 검색 동작을 '사용안함' 상태를 다시 '사용'상태로 바꿔줄 효과를 넣는 겁니다.

블리자드까지 이렇게 만들어 놓은 걸 보면 1번의 조건,2또는 3번의 조건을 만족하여 동시에 공격이 시작되지 않는 문제는 블리자드도 해결 못했거나 고칠 생각이 없는 듯 합니다.하니, 이 방법이 제일 일 듯 싶네요.
잭슨조 (2013-07-19 03:35:14 KST) - 211.179.xxx.81
0↑ ↓0
센스 이미지를 등록해 주세요
무기 옵션에서 링크된 재사용 대기시간을 체크 해제해주면 동작이나 다른게 필요없을텐데요.
세레나스 (2013-07-19 06:08:55 KST) - 1.239.xxx.138
0↑ ↓0
센스 이미지를 등록해 주세요
여러 실험끝에 이전 덧글의 잘못된 점을 파악하여 정정글을 추가합니다.



이전글에서 말하길

'지상,공중'의 다른 대상을 공격하는 무기는 각각 자신의 공격주기대로 동시에 따로 따로 사용된다...


라고 말하며 골리앗의 개틀링과 대공 미사일을 예로 들었습니다.
하지만 이는 제 섣부른 결론이었습니다.


무기의 '재사용 대기 시간 표시'를 이용해 본 결과,
대상이 다른 무기라 해도, 지난 덧글에서 적은 '대상이 같은 무기'와 똑같이, 제자리에 서서 공격하는 경우, 똑같이 동시에 사용되지는 않고 하나의 무기만 발사됩니다.

개틀링(이하 A)과 대공 미사일(이하 B)은 주기가 0.9와 1.5입니다.
실험결과,
A가 발사되고 난 뒤, A의 발사 준비 시간이 지난 직후,
여기서 다음에 사용될 무기가 갈립니다. 무기를 사용하고 나서, 발사 준비 시간이 지난 직후에
A의 주기가 이미 돌아왔다면, 다시 A가 사용됩니다. 만약 주기가 아직 다 돌지 않았다면,
아직 사용되지 않은 B 무기가 발사됩니다.B 무기가 사용되고, 발사 준비 시간이 지난 후,
B의 주기가 돌아왔다면, 다시 B 가 사용됩니다. 만약 주기가 아직 다 돌지 않았다면,
그리고 A의 주기가 돌아왔다면,
A가 발사되고 난 뒤,........의 루프로 빠지게 되더군요.

(아직 세세히 실험을 해보지 않았기 때문에,발사 직후의 지연시간이 정확히 '발사 준비'시간인지 어떤지는 정확하게 확인 하지 못했습니다.)





여기서 부터는 추측입니다.

그리고 제자리에 서서 할경우는 저런 문제가 발생하지만,허용된 이동을 이용하여 이동하면서 두 무기를 사용할 경우에는 전의 글에서 밝힌대로 아무 이상이 없는 점을 다시 한번 잘 생각해보면, 모든 원인은 '공격' 능력에 있는 것 같습니다. 다음에는 한번 무기의 옵션 중에 '공격할 수 있는 능력 필요'를 없애고 유닛의 능력에도 공격을 없애서 공격 능력을 사용하지 않고 무기를 사용하게 될때, 어떻게 작동하는지를 실험해 봐야 겠습니다.

P.S.
오래전에 구현하려다 포기하고 동작을 이용해서 만든 무기 동시 사용을 이런 기회에 다시 한번 연구해 보게 되는군요^^계기를 만들어주신 '별 꼴이야'님께 감사를...

//잭슨조
다릅니다.그래서 무기 2개가 아닌 무기 1개와 동작으로 구현하려는 것입니다.
왜냐하면, 이전 덧글과 지금 이 덧글에서 설명했듯이 '동시 사용'과 순차사용은 다릅니다.

재사용대기시간을 없앤 무기 2개의 경우, 이 덧글에서 설명했듯이 주기가 짧은 무기와 긴 무기가 붙으면 긴무기는 아예 사용안되는 경우가 생기며,주기가 돌고 돌다가 마친 동시에 주기가 끝나 동시에 발사 할 수 있는 타이밍의 경우,제자리에 서서는 (아마도 공격 능력을 사용해서는?) 둘이 동시에 사용할 수 없습니다.
(물론 이는, 제 실험의 결과 제가 얻은 결론일 뿐, 정답은 아닐 수도 있습니다.)
아이콘 부료선 (2013-07-19 08:09:34 KST)
0↑ ↓0
센스 이미지
골리앗으로 테스트 결과 두 무기가 공중 지상만 따로 공격 가능한 경우 제대로 작동은 됩니다. 동일 대상을 공격할 경우 문제가 발생하나, 골리앗과 같이 이미 구현되있는 경우는 별 문제가 없군요. 전자는 블리자드에서 고칠 문제라 봅니다. 아니면 공속을 조절해서 그럴듯하게 포장하던지요.
아이콘 별 꼴이야 (2013-07-19 08:30:30 KST)
0↑ ↓0
센스 이미지
오미 안 본 사이에 ㄷㄷㄷㄷ
골리앗을 참고해서 했기에 링크된 재사용대기시간 당연히 체크해제 했고 포탑도 똑같이 설정했습니다.
하지만 두 무기가 같은 적을 공격하거나 두 기의 적을 공격해야 하는데,
유닛 하나만 때리는 걸로 실험했을때
세레나스님 말씀대로 아무래도 두 무기의 주기가 같아서 공격이 하나만 나갔나봅니다.
처음에 컨셉은 하나는 사거리 8 하나는 사거리 6으로 해서 가까이 가면 공격력이 늘어나는 걸로 잡았습니다만 이상해서 사거리를 같이 8로 해도 되지 않아서 다른 방법을 쓰게 된 것입니다.
유닛이 전함 유닛이고 무기가 레이저 포대처럼 공속이 매우 빠르기 때문에 영역 검색으로 해서 주기마다 다른 유닛을 공격해도 어색하지 않겠다 싶은 생각에 동작을 이용했습니다.

음... 결론은 블쟈 개객기군요
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.