홈>
읽어 주셔서 감사합니다!
마지막 질문에서 다음으로, 나는 완전히 작동하는 isosurface 터 레인을 가지게되었습니다. 이제 나무와 풀 등을 세상에 추가 할 시간입니다.
이전의 오래된 방법은 지형을 아래로 향한 그리드에 광선을 투사하는 것입니다. 그런 다음 광선이 히트에서 법선을 읽고 법선이<값인 경우 물건을 배치합니다.
각 식물 \ 트리 \ 잔디 시간에 대해 다른 그리드 해상도로이 작업을 수행하고 x, z를 오프셋하고 임의의 값으로 배율을 조정 한 다음 높이 맵 지형으로 만 작업했기 때문에 객체를 2d BV 트리에 추가합니다. 트리에 대해 한 행의 경계 볼륨 만있었습니다.
여전히 위의 방법을 사용할 수 있지만 아시다시피 하늘을 볼 수있는 지형의 일부에만 개체를 배치합니다
새로운 지형 시스템을 구축하는 과정에서 실제 옥트리를 만드는 것이 포함되었으므로 객체를 저장하는 데는 사용하지 않지만 객체 위치를 생성하는 가장 좋은 방법은 없습니다
내가 읽은 내용에서 어떻게 든 내가 구축 한 복셀을 사용해야하지만 어떻게해야할지 잘 모르겠습니다.
-
답변 # 1
관련 질문
- textures - Texture2D에 깊이를 인쇄하고 DirectX11의 쉐이더에서 다음 패스에서 읽는 방법
- directx - id3d11devicecontext - : map을 사용하여 동적 텍스처를 업데이트하면 오프셋 또는 불완전한 데이터가 발생합니다
- c# - Directwrite에서 특정 글꼴에 대해 OpenType 기능을 어떻게 사용할 수 있습니까?
- c# - Helix3d 모델에서 스케일링/포지셔닝 문제를 해결하는 방법은 무엇입니까?
- java - 절차 상 생성 된 방 (Isa의 바인딩처럼)
- c# - SharpDX를 사용하여 Hololens에서 글꼴 그리기
- directx11 - 지연 렌더러 구현 (기본 이해)
- D3D11을 통한 SharpDX 인스 턴싱
- c# - 3D 모델에서이 이상한 투명 영역을 수정하는 방법은 무엇입니까?
지형의 정점 위치와 삼각형을 구성하는 방법 (인덱스 등)에 대한 정보가 있어야하며 각 삼각형의 법선도 알고 있어야합니다.
이 데이터를 사용하면 메쉬에서 임의의 삼각형을 선택할 수 있고 법선이 주로 위를 가리키는 지 확인하십시오 (이 점에 도트 제품을 사용해야 함). 그런 경우 삼각형이 위를 향하고 있으므로 무언가를 배치 할 수 있습니다 그것에.이제 삼각형 안의 임의의 점을 선택하여 개체를 배치하십시오.
(삼각형의 크기에 따라 작은 다각형에는 영향을주지 않으므로 다음 부분은 건너 뛸 수 있습니다.)
객체가 실제로 땅에 붙어있는 것처럼 보이게하려면 각 정점의 높이를 얻을 수 있으며 가중 평균을 사용하면 삼각형에서 해당 위치의 y 위치를 얻을 수 있습니다.
각 정점 (여기서 d1, d2 abd d3)까지의 임의의 점의 거리를 취하고 (y1, y2 및 y3은 3 정점의 높이입니다.
(원하는 경우 임의의 값을 추가 할 수 있음)
이 옵션을 사용하면 객체의 경우 x, y 및 z 좌표가 나타납니다.