할거많은커맨드유저
대표칭호 없음
이해도 | 중급자 |
---|---|
게임버전 (JE) | 1.19.4, 1.20, 1.20.1 |
게임버전 (BE) | 관련없음 |
디스플레이 하다가 모르겠어서 질문합니다
rotaition에서 angle이랑 axis 역할과 작성법
angle, axis를 사용한 rotaition 작성 방법
left_rotaition과 right_rotaition의 차이
left랑 right에서 angle axis의 차이가 있는지
에 대해 알려줄시수 있나요
yusin12
2023.06.18디스플레이의 nbt값이나 data값은 /data명령어로 전부 알아 보실 수 있음다!
할거많은커맨드유저
2023.06.18그걸로는 값을 보는거고 전 저거 활용법을 알고 싶은거라...ㅋㅋ
아무리 검색하고 찾아봐도 알려주는 사람도 없고 알 수있는 곳도 없어보여서..
yusin12
2023.06.18ㅎ..활용...!!..........ㅁ..매우 ㅇ..엄청난 도전이시군요!!
먼저 마크에서는 angle과 axis을 설정하는 것이 없기 때문에
transformation:{left_rotation:[0f0f,0f,0f],right_rotation:[0f,0f,0f,0f]}
형식으로 되어있습니다!
헉 분명 angle과 axis를 대신하는 값들인데 헉!! 4개나 되..네요?
백터를 배우셨는진 모르시겠지만!
좌표를 4개를 씁니다! (4차원)
(x,y,z,w)
3d에서는 xyz좌표만 쓰지만 w를 쓰면 복잡한 계산 없이 원하는 형태를 내보낼 수 있으니 새로 추가한 좌표입니다!
예를 들어 평면좌표에서 A(-1,-1)이 있고 w를 0과 1로 가정했을 때(단 좌표!평면!이므로 z는 자동적으로 0)
두 점이 시각에서 점점 멀어지면 원근으로 인하여 점점 가운데 쪽으로 쏠리는 느낌이 있을 것입니다! 이 느낌을 살려주는것이 w!
이해 안되시면 이 그림을 보면 됌다! 아까 말했던 A(-1,-1)이 멀어지면 가운데로 쏠리는 시작을 표현해주는게 w!
left,right,roration,.scale 모두3D 백터를 기반으로 하기 때문에 이러한 x y z w좌표라는 레전드좌표가 나온검다!
마크에서 기본적으론
transformation:{left_rotation:[0f0f,0f,1f],right_rotation:[0f,0f,0f,1f]}
으로 w만 1f로 되어있어요! 왜냐하면
일단! 4차원에서 w는 xyz의 원점을 대각선으로 지나가기 때문입니다!
ㅇ..이렇게!! ㄴ..네? 이딴 그지같은게 존재 하냐구요..? 백터로 도형을 그려보면
그림이 되는 개 레전드 상황이 펼쳐집니다!
그리고 여기서 xyz값이 바뀌면..
세상에 본적도 없는 그림이 나와버립니다!
즉! 말로 설명하기에는 한계가 있어 직접 data merge로 값을 바꿔가면서 하는게 제일 좋은 방법임다
yusin12
2023.06.18이래도 자세히 배우고 싶다면
https://www.minecraft.net/en-us/article/minecraft-snapshot-23w06a
공식 홈폐이지
https://gpgstudy.com/forum/viewtopic.php?t=18559
여기서 힌트들을 얻을 수 있음다..
할거많은커맨드유저
2023.06.19그... 원리가 아니라 제가 궁금한건 저 명령어들의 용도라...ㅋㅋ
yusin12
2023.06.19원리를 알아야 ㅅ..사용을..하죠..?
윈초
2023.06.18angle에는 float값,
axis에는 [float, float, float]이 들어가면 됩니다.
https://minecraft.fandom.com/wiki/Display#Data_values
여기서 Tags common to all display entities에 Show 누르시고 보시면 될듯합니다
할거많은커맨드유저
2023.06.18그 float 값에 어떤게 들어가야되나요....
그리고 각각 역할도 알려주실수 있나요
김형원
2023.06.20rotation:{axis:[회전축 벡터의 x좌표, y좌표, z좌표],angle:돌아갈각도}
axis, angle의 형식은 위와 같고 left, right에 따른 작성 방식 차이는 없습니다
회전축 벡터는 디스플레이가 회전할 때 어떤 방향을 축으로 사용할지를 결정하는 것입니다
예를들어 1f,0f,0f라면 x축으로 1만큼, y,z축으론 0만큼 이동한 벡터(x축)를 회전축으로 하는거죠.
0.6f,0.8f,0f가 회전축이라면 약간 비스듬한 벡터가 회전축이 될겁니다
이때 주의하셔야 하는 것이 x²+y²+z²=1, 그러니까 회전축의 길이가 1이 되도록 값을 입력해야 합니다
1²+0²+0²=1
0.6²+0.8²+0²=1
angle은 돌아갈 각도입니다. 다만 단위가 °가 아니라 rad를 사용하기 때문에 조심해야 합니다
하지만 3.14=180°라는 것을 알고 계시다면 간단한 계산을 통해 값을 구하실 수 있습니다
rotation에서 left와 roght의 차이는 크기를 변경하고 돌릴 것이냐, 돌리고 크기를 변경할 것이냐의 차이입니다
{left_rotation:{axis:[1f,0f,0f],angle:0.785},scale:[1f,1f,2f]}
{right_rotation:{axis:[1f,0f,0f],angle:0.785},scale:[1f,1f,2f]}
위의 예시 2개를 적용해보시면 바로 아실거에요