개인 자료란 (JE)

  서버 커뮤니티

Profile TITAN_Leon 대표칭호 없음
Profile

질문하기 스크립트

right의 버그, y값이 커지면서 x, z값이 감소되기 때문

2020.08.27 조회 수 110 추천 수 0
이해도 1.12 
게임버전 (JE) 스피곳 
게임버전 (BE) 애드온과 관련 없을듯 
스크립트 애드온 2.2 -dev37 

저번 글 쓴 이후로

pitch에 따른 공간 구겨짐에 관해서 연구 계속 해봤습니다.


특히 right에 버그 났죠 버그가 아니라 원래 그럴 수 밖에 없었다 라는걸 단정지었습니다.


fd7b641047e6179e37c992e1c13a42c7.png

벡터는 이런 값을 내기 때문이죠

pitch값은 빨간색으로 표시하고 right에 찍힌 점은 노란색 선 끝에 점으로 표시했습니다.


pitch가 높아질수록, 즉 y의 벡터값이 높아질수록 x와 z의 벡터값이 감소될 수 밖에 없습니다. 저 위의 그림처럼 원이 감소되는걸 눈으로

확인할 수 있죠.


그렇다면 pitch를 올려도 x와 z의 벡터 값이 맨 처음 원의 크기처럼 감소되지 않게만 하면 되지 않을까 계속 생각을 해보지만

마땅한 아이디어가 없어서 글을 올려봅니다.


추가로 적습니다. 제가 최종목표로 하는 건
1. 처음 좌표 값(점으로 표시함)
f4568f2482572f3f9a52498b4582fffd.png

2.pitch에 따른 좌표값(여기까진 가능함)

f712dee02c2185b9a33900e51b2de246.png

3. 여기에서 yaw에 따른 좌표값(지금 겪고 있는 문제)

4abf6bba4ddd00d57c4449e23ee9ae9b.png


아마 2번까지 구한 다음에 중심의 값을 1번 그림에서 2번 그림으로 더해진 y값만큼 더해서 중심을 이동 시킨 뒤
중심의 값에서 2번에 찍힌 점과의 벡터를 계산한 뒤 그 벡터를 pitch에 따른 값을 출력하면 되지 않을까 예상중입니다만...

98ca6f88dd32d0206b29820ad2b80701.png


이런 방법 말고 다른 기막힌 아이디어 있으신분 있나요?


그리고 질문 한가지 더는 브혼님의 활동시간 알고 싶네요 어느 시간대이면 답을 받을 수 있는지 궁금합니다.

5개의 댓글

스크립터브혼
2020.08.27

좌우 회전을 yaw라고 하고, 위아래 회전을 pitch라고 합니다.
그리고 화면이 돌아가는 회전을 roll이라고하는데 마인크래프트에는 없습니다.

플레이어 화면은 좌우 회전(yaw), 위아래 회전(pitch)만 있기때문에

플레이어의 윗쪽방향은 바라보는 방향에서 pitch를 90만큼 위로 움직이면 됩니다.

플레이어의 오른쪽방향은 바라보는 방향에서 yaw를 90만큼 오른쪽으로 움직이는데,
roll이 없기때문에 플레이어의 오른쪽방향은 위아래로 회전하지 않습니다. 그래서 pitch는 항상 0이 됩니다.

set {_v.front} to vector with yaw (yaw of player) and pitch (pitch of player)
set {_v.up} to vector with yaw (yaw of player) and pitch (pitch of player) - 90
set {_v.right} to vector with yaw (yaw of player) + 90 and pitch 0
TITAN_Leon
2020.08.27
@스크립터브혼

이 방법도 pitch 90되면 yaw 값들이 0이 되니까 일단 새벽 즈음에 제가 생각한대로 한번 만들고 결과 내보겠슴다

TITAN_Leon
2020.08.27
@스크립터브혼

이때까지의 문제는 yaw값과 pitch의 값을 혼합적으로 써서 문제가 되는 거였습니다. 지금 생각해보면 동시에 값을 넣는게 아니라 한쪽에서 값을 출력한 뒤 중심을 이동시킨 뒤 다른 한쪽의 값을 맞추면 되겠더군요.

TITAN_Leon
2020.08.28
@스크립터브혼

그 없다는거 완성했슴다. 쪽지로 영상 보냈어요 감사했습니다.

스크립터브혼
2020.08.28
@TITAN_Leon

roll을 구현하셨다는건가요...? 아 아니군요.