기존에는 위의 그림처럼 평면 상의 소리를 측정하여 3d 시각화를 시켰다면, 이번에는 조금 업그레이드 버전으로 지형을 고려하여 시키고자 하였습니다.
단순한 과정으로 진행하였는데요, 유니티 내 지형을 만들어주고 돌아가면서 소리를 측정하면서 지형 아래에 있는 위치라면 소리를 0으로 설정해주었습니다.
지형의 높이를 재는 코드 :
float h = Terrain.activeTerrain.SampleHeight(temp[kk].transform.position);
이를 통해서 지형의 제일 바닥부터의 얼마 높은 지에 대한 길이를 알 수 있습니다.
첫 번째, 테스트입니다.
위와 같은 지형 및 환경 설정을 해주었습니다. 보시다싶이 원통 모양같은 지형(산)이 있다고 가정하였습니다. 또한 소리는 산 위에 존재하게 하였습니다. 이러한 지형에서 소리를 기존처럼 정육각형 모양으로 쭉 측정하였으며 다만 여기서 소리 값을 측정한 위치가 지형 아래에 있을 경우 임의로 소리 값을 0으로 만들어주었습니다.
그렇게 나온 결과는 아래와 같은 모습이 나타났습니다.
잘 모습이 보이지 않을 수도 있지만, 보시다싶이 첫번째 그림에서 아래쪽에 둥그랗고 네모한 모양이 들어가 있는 것을 볼 수 있습니다. 또한 두번째 그림에서는 소리가 원래는 원형으로 되어있어야 하지만 아래 쪽이 파인 것을 볼 수 있습니다. 이를 통해서 지형으로 되는 부분이 반영이 된 것을 알 수 있습니다.
두 번째, 테스트입니다.
이번에는 계단식 논을 지형과 맨 아래 지형에 바닥에 소리를 배치해주었습니다.
이번에는 위에보다 더 지형의 모습이 잘 나타난 것을 알 수 있습니다. 그 이유는 왼쪽 2개의 결과 경우 조건이 0 ~ 10 으로 해당 범위 중 거의 1에 해당되는 지형의 존재감이 오른쪽 경우 0 ~ 21 에서의 범위 내에서 지형의 존재감보다 크기 때문입니다.
이를 통해서 최종적으로 지형으로 되는 부분이 반영이 된 것을 알 수 있습니다.
댓글