FoliMesh

Bevy용 사실적 스타일 3D 에셋 팩

Bevy에서는 이 팩들을 glTF 씬으로 불러옵니다. asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb"))로 가져와 SceneRoot로 배치하는 방식이며, FBX와 OBJ는 서드파티 크레이트가 필요하므로 GLB가 실용적인 선택입니다. 무료 샘플러, 온대림, 침엽수림, 바위와 절벽 등 7개 팩이 모두 이 형식이고 피벗은 모델 바닥에 있습니다.

모든 모델에 LOD0–LOD3가 있어 엔티티에 VisibilityRange를 붙이면 거리 전환은 Bevy의 디더 크로스페이드가 처리합니다. 나무껍질은 PBR 베이스 컬러·노멀·러프니스 맵을 쓰고, 잎은 알파 테스트 카드로 AlphaMode::Mask(cutoff)가 되어 깊이를 기록하고 정확한 그림자를 드리웁니다. 공유 메시와 머티리얼은 자동으로 인스턴싱되어 생존·오픈 월드 씬의 부담을 줄여 줍니다. Bevy에는 물리가 내장되어 있지 않으므로 콜라이더는 콜리전 메시에서 Avian이나 bevy_rapier로 만듭니다.

사실적 스타일 소개

사실적인 모델은 glTF 2.0, Unity, Unreal, Godot, three.js가 그대로 읽는 PBR metal/roughness 워크플로를 사용합니다.

  • 나무껍질: 줄기와 가지에 베이스 컬러, 노멀, 러프니스 맵.
  • 잎: 잎 뭉치 텍스처를 쓴 알파 테스트(Masked) 카드로, 알파 블렌딩이 아니어서 깊이를 기록하고 정렬이 필요 없으며 그림자도 정확합니다.
  • 나무껍질과 잎은 별도 머티리얼이라 드로우 콜 수를 예측하기 쉽고 GPU 인스턴싱과 잘 맞습니다.
  • LOD0은 근경용이고, LOD1–LOD3은 가지와 잎 카드를 줄여 마지막 단계는 원경에 충분히 가볍습니다.

PC·콘솔의 1인칭/3인칭 게임, 서바이벌, 오픈 월드, 시뮬레이터에 가장 잘 맞습니다. 모바일에서는 LOD1 또는 LOD2를 가장 가까운 단계로 쓰고 잎의 오버드로를 확인하세요.

Bevy에서 사용하기

Bevy는 AssetServer로 glTF/GLB를 불러옵니다. asset_server.load(GltfAssetLabel::Scene(0).from_asset("tree.glb"))를 SceneRoot로 스폰하며, 개별 메시와 머티리얼은 레이블로 접근할 수 있습니다. FBX와 OBJ는 서드파티 크레이트가 필요하므로 GLB를 쓰는 것이 좋습니다.

  • LOD: LOD0–LOD3 엔티티에 VisibilityRange(시작·끝 마진)를 지정하면 거리에 따라 디더링 크로스페이드로 전환됩니다. 이것이 Bevy의 HLOD 방식입니다.
  • 잎: glTF alphaMode MASK는 StandardMaterial의 AlphaMode::Mask(cutoff)가 되고, 양면 머티리얼은 뒷면 컬링을 끕니다.
  • 같은 메시와 머티리얼을 공유하는 엔티티는 자동으로 배칭·인스턴싱되어 나무 복제본이 많아도 가볍습니다.
  • 콜리전: Bevy에는 내장 물리가 없으므로 Avian이나 bevy_rapier로 콜리전 메시에서 콜라이더를 만드세요.

팩

다른 스타일로 보기

다른 엔진용으로 보기