이번 편에서 탄환이 유도하는 원리(17:38)를 다시 한 번 글로 정리하면 다음과 같습니다. 1) 탄환이 표적을 바라보는 방향은 시점 좌표(rx, ry)로 주어진다. 2) 모션 Motion은 벡터이기 때문에 시점 좌표(rx, ry)를 방향 벡터(x, y, z)로 변환해야 한다. 3) 더미(갑옷 거치대)를 원점으로부터 시점 방향으로 R만큼 이동시킨다. (여기서 R = 0.3.) 4) 그러면 더미의 위치 벡터 Pos가 방향 벡터(x, y, z)가 된다. 5) 더미의 위치 벡터 Pos를 탄환의 모션 벡터 Motion에 저장한다. 요약하면 구면 좌표계의 시점 좌표(rx, ry)를 직교 좌표계의 방향 벡터(x, y, z)로 변환하기 위해 갑옷 거치대를 이용하는 것입니다. 이런 식으로 좌표를 변환하는 것은 유도탄뿐만 아니라 다양한 곳에 활용될 수 있습니다.
제가 positioned 명령어를 잘 몰라서 여쭤보는데, 눈덩이가 명령어를 실행하는 위치를 0 0 0 으로 하고 아머스탠드를 0.3 앞에 tp시키는거죠?(명령어 실행 좌표가 0 0 0 인 상태에서) 그런데 그러면 아머스탠드의 y좌표는 0 언저리일텐데 어떻게 현재 플레이어와 미사일의 벡터와 미사일과 아머스탠드의 벡터가 어떻게 방향이 같게 되나요? 플레이어는 y좌표가 0 보다 훨씬 위에 있을텐데 어떻게 미사일이 아래로 향하지 않고 플레이어를 따라오죠? 제가 positioned를 잘 알지 못하다 보니 의문점이 생겼네요... 아니면 혹시 아마스탠드를 0 0 0 좌표에서 tp시키는 것이 아닌 현재 미사일 0.3 앞에 소환하는 건가요? 일단 커맨드 강의 exexute 편 보고 이해가 됐으면 답글로 알리겠습니다.
"제가 positioned 명령어를 잘 몰라서 여쭤보는데" → 제 명령어 강의 15강 명령어 조작하기 편 참고하시면 좋을 것 같습니다. "눈덩이가 명령어를 실행하는 위치를 0 0 0으로 하고 아머 스탠드를 0.3 앞에 tp 시키는 거죠?" → 네 맞습니다. 아머 스탠드는 0 0 0을 중심으로 하고 반지름이 0.3인 구 위에 있습니다. "그런데 그러면 아머 스탠드의 y 좌표는 0 언저리일 텐데 어떻게 현재 플레이어와 미사일의 벡터와 미사일과 아머 스탠드의 벡터가 어떻게 방향이 같게 되나요?" → "미사일로부터 플레이어를 향하는 벡터"와 "0 0 0으로부터 아머 스탠드를 향하는 벡터"가 방향이 같게 됩니다. "플레이어는 y 좌표가 0보다 훨씬 위에 있을 텐데 어떻게 미사일이 아래로 향하지 않고 플레이어를 따라오죠?" → 플레이어의 절대 좌표는 중요하지 않고, 미사일을 기준으로 한 플레이어의 상대 좌표가 중요합니다. 요컨대, 다음 벡터들의 방향이 모두 같습니다. (1) 미사일로부터 플레이어를 향하는 벡터. (2) 미사일을 기준으로 한 플레이어의 상대 좌표. (3) 0 0 0으로부터 아머 스탠드를 향하는 벡터. (4) 0 0 0을 기준으로 한 아머 스탠드의 상대 좌표. (5) 아머 스탠드의 절대 좌표. (6) 미사일의 모션 벡터. (1) = (2)이고, (3) = (4) = (5)입니다. 기본적인 원리는, (1)을 (3)에 저장하고, (3)을 (6)에 저장하는 것입니다. 답글이 도움이 되었길 바랍니다.
/execute as @e[tag=m] at @s run execute facing entity @p[tag=t] eyes positioned 0.0 0.0 0.0 run teleport @e[tag=d] ^ ^ ^0.3 에서 positioned 0.0 0.0 0.0을 넣는 이유가 뭔가요..? 아무리 봐도 이해가 안됩니다 ㅠㅠ
이번 편에서 탄환이 유도하는 원리(17:38)를 다시 한 번 글로 정리하면 다음과 같습니다.
1) 탄환이 표적을 바라보는 방향은 시점 좌표(rx, ry)로 주어진다.
2) 모션 Motion은 벡터이기 때문에 시점 좌표(rx, ry)를 방향 벡터(x, y, z)로 변환해야 한다.
3) 더미(갑옷 거치대)를 원점으로부터 시점 방향으로 R만큼 이동시킨다. (여기서 R = 0.3.)
4) 그러면 더미의 위치 벡터 Pos가 방향 벡터(x, y, z)가 된다.
5) 더미의 위치 벡터 Pos를 탄환의 모션 벡터 Motion에 저장한다.
요약하면 구면 좌표계의 시점 좌표(rx, ry)를 직교 좌표계의 방향 벡터(x, y, z)로 변환하기 위해 갑옷 거치대를 이용하는 것입니다.
이런 식으로 좌표를 변환하는 것은 유도탄뿐만 아니라 다양한 곳에 활용될 수 있습니다.
명령어 하나를 위해 전 벡터를 검색하러 갑니다
모바일됌?
0:09 하지말라는거 하는거 국룰 +젠장!이것도 모바일은 안되잖아!
지금 버전으로 더 간단하게 만들수 있는 방법을 알아 냈는데 예전에 지금 방법만 알았어도 ㅋㅋ
갑옷 거치대가 눈덩이를 따라가야 정상인가요? 자꾸 0 0 0 으로 이동해서ㅜㅜ
어떤 갑옷 거치대 말씀인가요?
이게 눈덩이가 사라지면 죽는거라서 눈덩이가 벽에 부딧혀도 그냥 죽는데 다른방법은 없나요?
글쎄요. 유도하는 명령어가 핵심이라 저는 그 부분을 깊게 고민해보지 않았는데, 한번 고민해보시고 더 좋은 방법 있으면 저한테도 알려주세요.
너무 이해 잘 되고
커맨드도 좋아서 구독 했습니다!
감사합니다!
이번 영상 썸네일에는 누군가의 희생이 담겨있습니다
ㅎㅎ
혹시 지금 1.18.2 버전은 눈덩이를 firework_star 모양으로 안바꾸어 지나요?
1.18.2 버전은 아직 출시 안 한 것 같은데요.
1.18.1이요 ;;
실수했네요ㅠ
답글을 달아주실지는 모르겠지만, 한번에 많은 유도탄이 움직이는 과정을 효율적으로 하는 방법이 있을까요?
효율적으로 한다는 건, 적은 성능을 요구하는 걸 뜻하나요, 아니면 명령어 수를 적게 쓰는 걸 뜻하나요?
오 이런거 좋아하는데
나중에 보야겠다
이거 블레이즈막대기로선그은거어떻게만들어요?
투명한 아이템 액자를 이용했습니다.
@@RiverBoy_ 아이템 액자위치를 바닥으로 붙이는 방법이 뭔가요? 또 아이템 액자가 어느정도 시간이 지나면 아이템화 되는데 왜 그런가요?
잘 보았습니다... 경고등이 좀 안 보이긴하지만 좋은 자료 감사합니다... 제가 좀 연구하고자 하는 것에 도움이 되었네요.
00:00 오늘도 빛나는 그의 연기력
감사합니다
제가 positioned 명령어를 잘 몰라서 여쭤보는데, 눈덩이가 명령어를 실행하는 위치를 0 0 0 으로 하고 아머스탠드를 0.3 앞에 tp시키는거죠?(명령어 실행 좌표가 0 0 0 인 상태에서) 그런데 그러면 아머스탠드의 y좌표는 0 언저리일텐데 어떻게 현재 플레이어와 미사일의 벡터와 미사일과 아머스탠드의 벡터가 어떻게 방향이 같게 되나요? 플레이어는 y좌표가 0 보다 훨씬 위에 있을텐데 어떻게 미사일이 아래로 향하지 않고 플레이어를 따라오죠? 제가 positioned를 잘 알지 못하다 보니 의문점이 생겼네요... 아니면 혹시 아마스탠드를 0 0 0 좌표에서 tp시키는 것이 아닌 현재 미사일 0.3 앞에 소환하는 건가요? 일단 커맨드 강의 exexute 편 보고 이해가 됐으면 답글로 알리겠습니다.
"제가 positioned 명령어를 잘 몰라서 여쭤보는데"
→ 제 명령어 강의 15강 명령어 조작하기 편 참고하시면 좋을 것 같습니다.
"눈덩이가 명령어를 실행하는 위치를 0 0 0으로 하고 아머 스탠드를 0.3 앞에 tp 시키는 거죠?"
→ 네 맞습니다. 아머 스탠드는 0 0 0을 중심으로 하고 반지름이 0.3인 구 위에 있습니다.
"그런데 그러면 아머 스탠드의 y 좌표는 0 언저리일 텐데 어떻게 현재 플레이어와 미사일의 벡터와 미사일과 아머 스탠드의 벡터가 어떻게 방향이 같게 되나요?"
→ "미사일로부터 플레이어를 향하는 벡터"와 "0 0 0으로부터 아머 스탠드를 향하는 벡터"가 방향이 같게 됩니다.
"플레이어는 y 좌표가 0보다 훨씬 위에 있을 텐데 어떻게 미사일이 아래로 향하지 않고 플레이어를 따라오죠?"
→ 플레이어의 절대 좌표는 중요하지 않고, 미사일을 기준으로 한 플레이어의 상대 좌표가 중요합니다.
요컨대, 다음 벡터들의 방향이 모두 같습니다.
(1) 미사일로부터 플레이어를 향하는 벡터.
(2) 미사일을 기준으로 한 플레이어의 상대 좌표.
(3) 0 0 0으로부터 아머 스탠드를 향하는 벡터.
(4) 0 0 0을 기준으로 한 아머 스탠드의 상대 좌표.
(5) 아머 스탠드의 절대 좌표.
(6) 미사일의 모션 벡터.
(1) = (2)이고, (3) = (4) = (5)입니다. 기본적인 원리는, (1)을 (3)에 저장하고, (3)을 (6)에 저장하는 것입니다.
답글이 도움이 되었길 바랍니다.
@@RiverBoy_ 아아 아머스탠드랑 0 0 0 좌표의 벡터였군요! 답변 감사합니다 덕분에 이해됬네욥:)
블럭을 설치후에 설치된 좌표를 어떻게 바로 알아내시나요? 그리고 명령어블록을 복사해서 설치 하시던데 플러그인이나 모드인가요?
좌표 관련해서는 제 명령어 강의 3강 좌표 이해하기 편 참고하시면 도움이 될 것 같습니다.
ruclips.net/video/Pze-gPhO0FQ/видео.html
명령 블록 복사는 Ctrl 키를 누른 채로 마우스 가운데 클릭을 하시면 됩니다.
탄환이 유도 되지 않는데 명령어는 똑같이 쳤습니다만 이유가 있을까요?
다시 확인해보세요.
/execute as @e[tag=m] at @s run execute facing entity @p[tag=t] eyes positioned 0.0 0.0 0.0 run teleport @e[tag=d] ^ ^ ^0.3 에서 positioned 0.0 0.0 0.0을 넣는 이유가 뭔가요..? 아무리 봐도 이해가 안됩니다 ㅠㅠ
아마도 positioned를 안 써주면 @e[tag=d] 좌표 기준이 아니라 @e[tag=m] 좌표 기준으로 teleport 될 것 같은데요?
이해됐습니다 감사합니다.
???: 탄환은 돌에 맞았는데 내가 죽음 ??
리버보이님 화염구 던지는명령어 1.18버젼 알려주세요
제발요
투사체가 플레이어의 시점을 바라보는 것은 유지하되, 플레이어에게서 멀어지며 주위의 적들에게 데미지를 주는 방식으로 커맨드를 짜려면 벡터를 ^ ^ ^-0.3으로 수정해야 하나요? 아니면 처음 설정한 태그 t를 주위 적들에게로 설정해야 하나요?
^ ^ ^-0.3으로 설정하면 플레이어로부터 멀어지는 방향으로 될 것 같습니다. 원하는 바가 플레이어 방향 반대로 향하는 게 아니라 주변 적을 향하게 하는 것이라면 목표를 주변 적으로 설정해주고 명령어를 설계해야 할 것 같습니다.
execute as @p[x=212, y=232, z=250, dx=201, dy=201, dz=249] at @s run tag @s add t 라고 썼는데 dx,dy,dz 좌표에 가야지만 실해이 되는데 해결할 방법이 있나요?
그렇게 입력하면 x, y, z 좌표가 각각 212~413, 232~433, 250~499 범위에 있는 플레이어를 감지하게 됩니다. 이게 원하는 것이 맞나요?
네, 덕분에 해결 됬습니다. 감사합니다
이것을 원했다!
execute as @p[x=-18,y=55,z=82,dx=-2,dy=2,dz=13] at @s run tag @s add t
라고 썼는데 실행이 안되요 ㅠㅠ
좌표는 -18 55 82 -20 57 69 입니다
dz=-13이어야 할 것 같습니다.
감사합니다! 해결됬어요 ㅎㅎ
혹시 pe도 되나요
저는 JE만 해서 잘 모르겠습니다.
이거모바일도되나요?
저는 모바일 마인크래프트를 안 해서 잘 모르겠습니다.
이거 눈덩이 소환과정에서 명령어를 똒같이 쓰고 눈덩이 소환까지는 되는데 눈덩이만 소환되고 폭죽 탄약? 그건 소환이 안되는데 이거 어케하죠
/summon minecraft:snowball 222.5 14.5 -425.5 {NoGravity:1b, tags:["m"], Item:{id:"minecraft:firewark_charge",count:1b}}
명령어이빈다.
대소문자까지 정확하게 쓰셔야 합니다.
@@RiverBoy_ 아하! 감사합니당
@@RiverBoy_ kill @a[tag=m] 했는데도 눈ㄴ덩이가 안죽ㄹ어요
/summon minecraft:snowball 84.5 81.5 199.5 {NoGravity:1b, Invulnerable:1b,Tags:[m], Item:{id:"minecraft:firework_star",Count:1b}}
소환까지는잘되는데,,,
@@hanbyeol31 오타가 있네요. Tags:["m"]으로 수정해보세요. 참고로 명령어가 안 되면 컴퓨터가 틀릴 수는 없으니까 오타가 있는 거라고 생각하면 됩니다.
@@RiverBoy_ 흐어...일단알겠습니다ㅠ
크킄
않되요 답글에 명령어 써주세요
어느 부분이 안 되나요?
감지 가 않돼요
@@준현아빠-w9m 앞선 댓글들도 보면서 추측하건대, 계속 안 된다고만 하는 걸로 봐서, 명령어에 대한 이해가 좀 부족한 것 같습니다. 제 명령어 응용 강의를 보기 전에 제 명령어 강의 열다섯 편부터 먼저 보고 기초를 이해하는 게 좋을 것 같습니다.