int WhichIsUp()
{
var maxY = float.NegativeInfinity;
var result = -1;
for (var i = 0; i < 3; i++)
{
// Transform the vector to world-space:
var worldSpace = transform.TransformDirection(sides[i]);
if (worldSpace.y > maxY)
{
result = i + 1; // index 0 is 1
maxY = worldSpace.y;
}
if (-worldSpace.y > maxY)
{ // also check opposite side
result = 6 - i; // sum of opposite sides = 7
maxY = -worldSpace.y;
}
}
return result;
}
연습으로 야추만들고 있는데 이걸로 주사위의 눈을 알수 있거든?
근데 설명하는게 영어라서 모르겠어
그러니까 설명좀
sides[i]가 뭔진 모르지만 아마 축과 평행한 벡터일거같아서 그거라고 가정하고 글씀 maxY가 네거티브 인피니티인 이유는 첫 for문에서 무조건 if문을 최소 한번 통과시키기 위해서다 if문이 통과되면 월드 스페이스 Y가 양수일경우 1, 2, 3 음수일 경우 4, 5, 6을 결과값으로 가르키게 되어있음 이건 주사위의 특성때문에 이렇게 코딩한거라고 생각 이후 maxY에 월드스페이스Y를 넣음으로써 파이 혹은 -파이와 더 가까운 값을 찾아서 지면에 가장 가까운 면을 찾는 함수라고 생각한다
주사위 가로 세로 높이 방향 벡터 구한 다음 그 중 y방향 값이 제일 큰거 구하는 코드네