[Blender] Unity용 glb/gltf export 매뉴얼
2024. 6. 4. 14:49ㆍBlender
728x90
반응형
https://docs.blender.org/manual/en/4.0/addons/import_export/scene_gltf2.html#
https://github.com/KhronosGroup/glTF-Sample-Models/tree/main/2.0
glTF
glTF 파일 포맷은 주로 웹에서 사용되는 3D 모델링 포맷이다. 3D 모델 사이즈는 물론이고 압축을 풀고 렌더링하는 시간을 줄인다. Blender I/O은 다음과 같은 피쳐를 지원한다.
- Meshes
- Materials (Principled BSDF) and Shadeless (Unlit)
- Textures
- Cameras
- Punctual lights (point, spot, and directional)
- Extensions (listed below)
- Extras (custom properties)
- Animation (keyframe, shape key, and skinning)
Mesh
- 사각형이나 n각형은 삼각형 메쉬로 컨버트 된다.
- UV나 엣지에 따라서 블렌더보다 glTF에서 버텍스 수가 더 높을 수 있다.
- 커브나 메쉬가 아닌 데이터는 보존되지 않으므로 꼭 필요하다면 export 시에 메쉬로 변환되어야 한다. Bezier와 Nurbs 커브로만 이루어진 glb 모델은 아무것도 보여지지 않는다.
GPU Instances
- 블렌더 export - glb를 선택하면 우측 export 옵션에서 [GPU Instances]를 볼 수 있다.
- 인스턴스는 메쉬여야 하며, 자식 오브젝트가 없어야 한다. 인스턴스는 같은 오브젝트의 자식이어야 한다.
- 다양한 재질을 관리하지 않으며 생성된 파일은 같은 재질의 모든 인스턴스를 포함할 수 있다.
- import 할 때, 동일한 메쉬 데이터를 공유하는 객체를 생성하여 인스턴스가 생성된다.
Materials
- metal/rough PBR을 지원한다.
- Base Color
- Metallic
- Roughness
- Baked Ambient Occlusion
- Normal Map (tangent space, +Y up)
- Emissive
- spec/gloss PBR을 지원한다. (KHR_materials_pbrSpecularGlossiness)
- Base Color
- Principled BSDF의 Base Color 노드에 연결된 텍스쳐가 있다면 그 텍스쳐가, 연결된 노드가 없다면 해당 컬러가 glTF의 컬러가 된다.
- Metallic/Roughness
- Metallic과 Roughness 노드가 둘 다 연결되어있지 않다면, 해당 값 그대로 전달된다.
- Roughness/Metallic 텍스쳐가 있다면, Metallic 값은 Blue 채널에, Roughness 값은 Green 채널에 연결된다. 이 경우 텍스쳐의 [Color Space]를 [Non-Color]로 설정해야 한다.
여기서, 대부분의 텍스쳐는 Metallic과 Roughness를 따로 가지고 있기 때문에 하나의 텍스쳐로 묶어서 Green과 Blue 채널로 나눠주는 작업을 해야 한다.
해당 작업은 포토샵에서 할 수 있으며 G, B 채널을 합치면 위와 같은 텍스쳐가 만들어 진다.
- Baked Ambient Occlusion
- 현재 블렌더에서 glTF로 AO 텍스쳐를 바로 연결할 수는 없지만, Custom Node를 "glTF Material Output"으로 이름 짓고 input 이름을 "Occlusion"이라고 명명하면 AO 맵을 사용할 수 있다.
- Custom Node는 매뉴얼로 직접 만들 수도 있고, (링크)의 물병 gltf 모델을 불러와서 직접 Custom Node를 살펴볼 수 있다. 해당 노드는 Occlusion과 Thickness의 Input으로 이루어져 있는 것을 볼 수 있었다.
- 블렌더에서 glTF Add-on을 설치한 후 [Shader Editor Add-ons]를 활성화 하면 [Shading] 패널에서 "Shift+A" 단축키로 [glTF Material Output] 노드를 사용할 수 있다.
- AO 텍스쳐를 커스텀 노드의 Occlusion 부분에 연결한다. 혹시 특정 컬러 채널에 들어있다면 Red 채널을 커스텀 노드의 Occlusion 부분에 연결하면 된다.
- 유니티에 AO 텍스쳐가 성공적으로 들어온 것을 볼 수 있다. 아쉽게도 Occlusion Strength 값을 조절할 수 있는 기능은 없는 것으로 보인다.
- 실시간 그림자를 계산하기 힘든 환경에서 AO 맵은 유용하다.
- Cycles 렌더러로 만든 AO 맵 또한 커스텀 노드에 연결하여 사용할 수 있다.
- Normal Map
- 노말맵을 사용하기 위해서는 노말맵으로 사용할 텍스쳐 노드를 [Normal Map] 노드에 연결한 후 BSDF의 [Normal] 부분에 연결한다. 보통 [Normal Map] 노드는 디폴트로 있기 때문에 일반적인 방식으로 잇기만 하면 된다.
- 텍스쳐 [Color Space]를 [Non-Color]로 설정한다.
- [Normal Map] 노드는 반드시 [Tangent Space]로 설정되어 있어야 한다. (glTF에서 유일하게 지원)
- Normal Strength도 적용되지만 최대 1.0 까지만 적용된다.
- Cycles Render의 [Bake] - [Normal]로 구운 노말 텍스쳐 또한 동일한 방법으로 사용할 수 있다.
- Emissive
- Principled BSDF의 [Emission] - [Color] 노드와 Emissive Texture를 연결하면 적용이 된다.
- 테스트 결과, [Emission]의 [Strenght]는 0~1까지의 값이 전달된다. 1 이상은 1과 같게 보여진다.
- Emission 셰이더를 사용하는 방법으로는, 아래와 같이 사용할 수 있다.
- Emissive 텍스쳐만 사용하는 메테리얼에서는 다른 채널과의 영향을 최소화하기 위해서 [Base Color]를 블랙, [Roughness]를 1.0으로 설정하기를 권장한다.
- Emission 셰이더를 사용한 [Strength]도 0~1 사이의 값을 사용할 수 있었다. 1 보다 크면 " KHR_materials_emissive_strength" 확장자를 사용한다고는 되어있지만 엄청 밝은 값이 적용되지는 않는다.
- 여기서, 1 이상의 Emission 값을 주려면, glb가 아닌 glTF 파일을 수정하면 된다.
glTF 스크립트 파일에서 materials를 검색하여 "materials" 배열을 찾고 해당하는 이름의 메테리얼에서 "emissiveFactor" 배열의 값을 높인다.
- Clearcoat
- 만약 CoatRoughness 텍스쳐를 사용한다면, [Color Space]는 [Non-Color]로 설정하고, R 채널에는 Clearcoat 값이, G 채널에는 Clearcoat Roughness 값이 저장된다. 만약 흑백 이미지라면 remap 된다.
- ClearcoatNormal은 마찬가지로 [Color Space]는 [Non-Color]로 설정하고, Base Normal과 같은 방법으로 아래 사진처럼 연결하면 된다.
- 간단하게 사용하기 위해서는 텍스쳐를 바로 [Coat] - [Weight]에 연결해도 된다고 한다.
Sheen- Sheen은 미세한 섬유, 옷의 벨벳과 같은 느낌의 반사를 주는 효과이다.
- [Sheen] - [Roughness]에 SheenRoughness 텍스쳐를 연결한다. A(알파) 채널의 값을 사용한다.
- 매뉴얼에 있는 [sheenRoughness Factor] 노드를 찾지는 못했다. 직접적으로 [Sheen] - [Weight]에 연결하면 glTF 파일 상에서 "KHR_materials_sheen" 확장을 사용하게 되지만 Unity에서는 다른 적용점은 없어 보인다.
[Sheen] - [Roughness]에 연결하면 확장자도 추가되지 않았다. - Blender의 렌더러를 Cycles로 바꾸고 [Sheen BSDF]를 추가했지만 확장자가 추가되지 않았다.
Specular- [Principled BSDF] 노드의 [Specular] 부분에 default 값이 아닌 다른 값이 들어가면 " KHR_materials_specular" 확장자를 사용하게 된다.
- 따로 Unity에 값이 들어가지 않기 때문에 필요해 보이지는 않는다.
Transmission- Transmission이 Alpha Blending과 다른 점은, Alpha Blending은 투명으로 물체 자체를 없애지만 Transmission은 고체이면서 정반사가 아닌 유리와 같은 물체의 물리적 성질을 표현한다.
- default 값이 아닌 다른 값을 부여하면 "KHR_materials_transmission" 확장자가 사용된다.
- Roughness와 같이 사용하면 서리 낀 유리 느낌도 줄 수 있다.
- 굴절을 표현하기 위해서는 "KHR_materials_volume" 확장자도 같이 사용되어야 한다.
- 따로 Unity에 값이 들어가지 않기 때문에 필요해 보이지는 않는다.
IOR- [Principled BSDF]에서 값이 1.5이면 defualt 이기 때문에 "KHR_materials_ior" 확장자를 사용하지 않는다. 값을 변경하면 확장자를 사용한다.
- transmission, volume, specular 확장자가 같이 export 된다면 ior 확장자도 같이 export 된다.
- 따로 Unity에 값이 들어가지 않기 때문에 필요해보이지는 않는다.
Volume- [Volume Absorption] 노드를 Output의 [Volume]에 연결해야 export 할 수 있다. "KHR_materials_volume" 확장자를 사용한다.
- [Transmission] 값을 일정 부분 부여해야 export 할 수 있다.
- [Volume Absorption] 노드는 glTF의 감쇠 색상으로 사용된다. 텍스쳐는 필요하지 않다.
- [Volume Absorption] - [Density] 값은 감쇠 거리의 역수로 사용된다.
- [Thickness]를 사용하기 위해서는 커스텀 [glTF Material Output] 노드를 사용해야 하며 텍스쳐의 G 채널을 사용한다.
- 따로 Unity에 값이 들어가지 않기 때문에 필요해보이지는 않는다.
glTF Variants- glTF Variants를 사용하기 위해서 Blender Add-on을 설치해야 한다.
- 설치하면 [Add Material Variant]와 [+] 버튼을 이용해서 메테리얼 베리언트를 생성할 수 있다.
- [Display Variant]는 해당 메테리얼을 보는 버튼
- [Assign To Variant]는 해당 메테리얼에 현재 메테리얼을 적용하는 버튼
- [Rest To Original]은 Original로 설정된 메테리얼을 표시하는 버튼
- [Assign as Original]은 해당 메테리얼 베리언트를 Original로 설정하는 버튼이다.
- 정작 Unity에 import 해보니 지원되지 않는 확장자라는 오류와 함께 아예 glb가 로드되지 않았다.
- Double-Sided/Backface Culling
- Backface Culling 여부는 Blender Material 설정에서 바꿀 수 있다.
- 유니티 메테리얼 설정에서 [Render Face]가 [Both]에서 [Front]로 바뀐 것을 볼 수 있다.
- Blend Modes
- Blender에서 사용할 수 있는 [Blender Mode] 중, [Opaque], [Alpha Blend], [Alpha Clip]을 지원한다.
- [Opaque] 설정
- [Alpha Blend] 또는 [Alpha Hashed] 설정
- [Alpha Clip] 설정
- UV Mapping
- [UV Map] 노드와 [Mapping] 노드를 이용해서 어떤 이미지 텍스쳐든 컨트롤할 수 있다.
- [Mapping] 노드를 이용하면 "KHR_texture_transform" 확장자를 사용하게 된다.
- [Mapping] 노드의 [Type]은 [Point]로 설정하기를 추천한다.
- 아래의 축에 대한 변경을 지원한다.
- Location X / Y
- Rotation Z
- Scale X / Y - Default 설정
- Location 변경 (X:0.2/ Y:0.2)
- Rotation 변경 (Z:10)
- Scale 변경 (X:1.5/Y:1.2)
- [Mapping] 노드의 [Type]이 [Texture]로 설정되어 있다면 Scale의 X, Y 값이 동일해야 한다. 테스트 결과 상관은 없어 보인다.
- Factors
- 수학적 계산이 들어가야 한다면 Factor값을 조절해야 한다.
- [Mix Color] 노드를 이용해서 컬러 Factor를 계산한다.
- A 컬러에 노드를 연결하고 B 컬러를 컬러 Factor로 사용한다.
- 이렇게 설정하면 A 컬러에 Base Color 텍스쳐를 사용할 수 있고 B 컬러에 Blend 될 색상까지 Unity에 가져갈 수 있다.
- [Math] 노드를 이용해서 스칼라 Factor를 계산한다.
- [Multiply] 노드의 위쪽 [Value]에는 스칼라 값을 넣고 아래쪽 [Value]에는 Factor 값을 입력하여 최종적으로 계산된 값이 [Roughness]에 전달되었다.
- [Multiply] 노드의 위쪽 [Value]에는 스칼라 값을 넣고 아래쪽 [Value]에는 Factor 값을 입력하여 최종적으로 계산된 값이 [Roughness]에 전달되었다.
- Unlit Material
- 매뉴얼에 나와있는 대로 이미지 텍스쳐와 [Transparent BSDF]를 [Mix Shader]로 묶어서 [Factor] 부분에는 [Light Path] - [Is Camera Ray]를 연결하면 Unity에 "glTF-unlit" 셰이더가 로드되는 것을 볼 수 있다.
- [Transparent BSDF]의 색상을 바꿔도 따로 Unity에서 [Base Color]가 바뀌지는 않는다.
- [Principled BSDF] 셰이더를 사용하지 않고 이미지 텍스쳐를 바로 Output에 연결해도 unlit 메테리얼을 사용할 수 있다.
Third-party glTF Extensions
- 기존의 glTF add-on을 변경하지 않고 Python으로 glTF extension을 만들 수 있다. 아래 링크 참고'
- 외부 extension prefix에 unity도 있다.
Animations
- glTF의 애니메이션은 Transform 또는 Pose Bone 또는 Shape Key를 바꾼다.
- 하나의 애니메이션이 여러 오브젝트에 영향을 주거나 여러 애니메이션이 하나의 glTF에 포함될 수 있다.
- Import
- 애니메이션 중 첫 번째 애니메이션은 자동으로 플레이된다.
- 파일에 다중 애니메이션이 있다면 나머지는 NLA(NonLinear Animation) 에디터에서 구성된다.
- 다중 애니메이션이 있는 여우 샘플(링크)을 살펴보면, 총 3개의 애니메이션이 포함되어 있고 가장 첫 번째 애니메이션인 Survey 애니메이션이 Unity에서 자동으로 실행되는 것을 볼 수 있다.
- 다른 애니메이션을 보고 싶다면 Walk 또는 Run 애니메이션 옆에 별 모양을 누르면 된다. 이 경우 Unity에서 Run 애니메이션이 실행된다. 어떤 애니메이션의 별 모양을 누른 상태로 export해도 마찬가지. 이유는 모르겠다.
- 현재 애니메이션을 가지고 있는 이 모델의 멈춰있는 모습은 볼 수 없다.
- Plug-in의 [Animation UI]를 활성화하여 애니메이션 스위쳐를 볼 수 있다. 라고 했지만 어디서 이 부분을 확인할 수 있는지 찾지 못했다.
- Export
- [Export] - [Animation Mode] 옵션들을 보면 여러 선택지가 있다.
- Actions
- 오브젝트에 활성화된 action 또는 NLA 트랙에 저장된 action은 export 될 수 있다. 연결되어 있지 않은 action은 export 되지 않는다.
- 여러 애니메이션을 export 하고 싶다면 NLA 트랙에 저장해야 한다.
- 만약 두 오브젝트에 같은 이름의 Track이 설정되어 있다면, 같이 실행된다. - Active Actions merged
- NLA를 사용하지 않고 활성화된 하나의 애니메이션만 export 된다.
- NLA Tracks
- 각각의 NLA 트랙은 독립되어 glTF 애니메이션으로 export 된다.
- Strip modifier 또는 같은 트랙에 여러 액션을 사용하는 상황에 유용하다.
- 다른 두 오브젝트의 각각의 트랙을 같은 이름으로 설정하면 애니메이션이 같이 실행된다. - Scene
- Blender viewport에서 보는 것처럼 export 된다.
- 하나의 애니메이션 또는 각각의 오브젝트를 export 할 수 있다. - 주의 사항
- Bone Transformation을 이용하여 key animation을 샘플링하기 위해서는 뼈의 아마추어 바로 아래 메쉬에 children으로 있어야 한다.
- Actions와 Active Actions merged만이 샘플 되지 않은 애니메이션을 처리할 수 있다.
- Actions
- Animation Export 지원되는 부분
- 오브젝트 Transform (Location, Rotation, Scale)
- Pose Bones
- Shape Key Values - Animation Export 지원되지 않는 부분
- Other Properties
- Physics
- Lights
- Materials
- [Export] - [Animation Mode] 옵션들을 보면 여러 선택지가 있다.
- Animation에 대해 내가 내린 결론
- 하나의 glb 파일 안에 여러 애니메이션이 있을 때 유니티 스크립트를 통해서 각각의 애니메이션을 제어할 수 있는 지를 연구해보아야 한다. (three.js 웹에서는 코드를 통해서 다중 애니메이션 각각의 컨트롤이 가능.)
- 지금으로서는 Unity에서 애니메이션이 자동 실행되며 하나의 애니메이션만 사용 가능하다. 만약 다중 glb 파일이 있을 경우 같은 애니메이션을 사용하고 싶을 때는 NLA에서 그룹 이름을 같게 만들어주면 된다.
Export Settings
- Keep Original
- 가능한 오리지널 텍스쳐 파일을 유지한다. 2개 이상의 텍스쳐를 사용한다면 PBR 표준에 의해 하나의 텍스쳐만 사용된다. - Textures
- 텍스쳐 파일을 위치하는 파일 경로. - Copyright
- 모델에 대한 법적인 권리 또는 조건 - Remember Export Settings
- .blend 파일에 export setting을 저장한다.
- Custom Properties
- 커스텀 설정을 export - Cameras
- 카메라를 export - Punctual Lights
- Directional, Point, Spot Light를 export. "KHR_lights_punctual" 확장자를 사용한다.
- Y Up
- glTF 규칙을 사용하여 Y축 방향을 위쪽으로 설정
- GPU Instances
- "EXT_mesh_gpu_instancing" 확장자를 사용하여 export 한다. - Apply Modifiers
- 모든 Modifier가 계산된 후의 결과를 export 한다. - Attributes
- Attribute는 메쉬 요소 별로 저장 데이터이다. Data 패널에서 확인할 수 있으며 사용자 정의 속성이 나열된다.
- Underscore로 시작하는 Attribute가 export 된다. - Loose Edges
- loose edge를 라인으로 export 한다. 첫 번째 메테리얼 슬롯을 이용한다.
- Loose Edge는 평면을 이루지 않는 직선을 말한다. - Loose Points
- loose point를 glTF 포인트로 export 한다. 첫 번째 메테리얼 슬롯을 이용한다.
- Loose Point는 평면을 이루지 않는 점을 말한다.
- Materials
- Export : 모든 메테리얼을 export 한다.
- Placeholder : 메테리얼의 자리는 남아있되 메테리얼 자체가 export 되지는 않는다. - No Export : 메테리얼 export도 되지 않고 Unity Hierarchy 창에서 한 메쉬 안에 메테리얼 단위로 메쉬가 나눠지지도 않는다. - Images
- PNG는 손실 없이, JPEG는 작은 파일로 내보낼 때 사용. WebP는 png/jpg fallback 없이. - Image Quality
- jpeg 또는 WebP 파일 export 시에 퀄리티를 설정한다. - Create WebP
- WebP 텍스쳐를 생성한다. 이미 WebP 텍스쳐라면 아무 일도 일어나지 않는다. - WebP fallback
- 모든 WebP 텍스쳐에 대해 png fallback 텍스쳐를 생성한다.
- Use Sparse Accessor if better
- 공간을 절약할 수 있다면 Sparse Accessor를 사용한다. - Omitting Sparse Accessor if data is empty
- 데이터가 비어있다면, Sparse Accessor를 생략한다. 모든 뷰어가 정확하게 관리하지 않기 때문에 default 값은 off. - Sparse Accessor란
- 데이터를 효율적으로 저장하고 접근하는 데에 사용되는 glTF 개념으로, 많은 zero 값이나 default 값을 저장하지 않는다. 특히 많은 요소나 중복되는 요소가 있을 때 데이터를 줄일 수 있다.
- Use Rest Position Armature
- rest 포즈로 아마추어 뼈대 내보내기. 체크 해제 되어있다면, 현재 프레임 포즈가 rest 포즈가 된다. - Export Deformation Bones Only
- 다른 뼈대 말고 Deformation 뼈대만 export 한다. Deformation 뼈대 애니메이션이 bake 된다.
*Deformation Bone이란 (링크)
- 뼈대가 직접적으로 주변의 메쉬를 변형시키는 것을 말한다. [Envleope] 설정으로 주변의 메쉬에 주는 영향력 범위를 조절할 수 있다. - Flatten Bone Hierarchy
- 분해 불가능한 TRS(Translation/Rotation/Scale) matrix인 경우 유용하다.
*TRS Matirx란
- Translation, Rotation, Scale 값을 가진 4x4 행렬로 복잡한 오브젝트 조작을 효율적으로 나타낼 수 있다. 분해 불가능한 TRS 행렬의 경우는 다음과 같다.
- Shear(전단) Transformation일 때 쉽게 표시될 수 없다.
- Non-uniform인 Scaling과 Rotation일 때 확실하게 표시될 수 없다.
- 소수점의 한계로 인해 작은 에러가 쌓여 행렬에 수치적으로 정확하게 표시될 수 없다.
- Bone Influences
- joint vertex가 얼마나 많은 영향을 주는지를 결정한다. - Include All Bone Influences
- 모든 joint vertex를 export 한다. 많은 viewer에서 모델이 다르게 보여진다.
- Lighting Mode
- Standard : 물리적 기반의 glTF 라이트를 사용(cd, lx, nt)
- Unitless : 비물리적 기반의 단위 없는 라이트 사용. 노출 제어가 없는 경우 유용하다.
- Compression
- Google Draco를 사용한 메쉬 압축
*Google Draco (링크)
- 3D 메쉬와 포인트 클라우드를 압축하고 해제하는 라이브러리로, 3D 그래픽의 저장 및 전송을 개선한다.
- 더 빠른 앱 다운로드, 더 빠른 브라우저를 통한 3D 그래픽 로드, AR 및 VR에서 적은 대역폭으로 전송하고 빠르게 렌더할 수 있다. - Compression level
- 큰 값일수록 많은 압축이 된다. 큰 압축은 encoding과 decoding 시간을 느려지게 한다.
- 이하 모든 값은 높을수록 높은 압축률로 적용된다.
*해당 압축 기능으로 Unity에 모델을 올려보았지만 Draco를 지원하지 않는다고 에러 메시지를 볼 수 있었다.
Draco Unity github에서 패키지를 다운 받을 수 있다. 런타임에서도 decoding 될 수 있다고 매뉴얼에 쓰여있다. (링크)
해당 패키지를 사용하기 위해서 Package Manager에서 설치를 해보았다.
https://github.com/atteneder/DracoUnity.git
Draco for Unity 패키지를 통해서 compressed 된 glb를 불러오는 데에 성공했다. glb 차제의 용량은 3407KB에서 639KB까지 줄었다.
- Animation mode
- 위쪽 Animations - Export 항목 참고
- Bake All Objects Animations
- 강제로 모든 오브젝트의 애니메이션을 export 한다. 일부 애니메이션이 제한될 때 유용하다.
- Use Current Frame as Object Rest Transformations
- 현재 애니메이션 프레임으로 씬을 Export 한다. 체크 해제 되어있다면 0 프레임이 기준이 된다. - Limit to Playback Range
- 선택한 재생 범위에 맞게 애니메이션을 자른다. - Negative Frames
- 일부 프레임이 음수 프레임에 있으면 애니메이션을 슬라이드 하거나 자른다.
- Export all Armature Actions
- 싱글 아마추어에 바운드된 모든 액션 export. 다중 아마추어 export를 지원하지 않는다. - Reset pose bones between actions
- 각 액션 사이의 pose bone을 리셋한다. 일부 애니메이션에서 몇몇 뼈대의 키가 설정되지 않은 경우 필요하다.
- Sampling Animations
- 모든 애니메이션을 샘플링한다. 애니메이션을 샘플링하지 않으면 잘못된 애니메이션 내보내기가 발생할 수 있다. - Sampling Rate
- 애니메이션 값을 평가하는 빈도 (프레임 단위)
- Optimize Animation Size
- 동일한 키프레임일 경우 중복된 부분을 지워 파일 크기를 줄인다. - Force keeping channels for bones
- rig의 모든 키프레임이 동일할 경우 최소한의 애니메이션을 강제로 남긴다. - Force keeping channel for objects
- 오브젝트의 transformation 키프레임 값이 동일할 경우 최소한의 애니메이션을 강제로 남긴다.
728x90
반응형
'Blender' 카테고리의 다른 글
[Blender] Volumetric Fluid (유체 볼륨) glb/gltf에서 사용하기 (0) | 2024.06.13 |
---|---|
[Blender] 블렌더 파티클 충돌 구현하기 (블렌더 4.0버전 업데이트) (0) | 2024.06.12 |
[Blender] 파티클을 glb/gltf로 export 하기 (0) | 2024.05.28 |
[Blender] Blender에서 Blend Shape 적용 (1) | 2024.03.27 |
[Blender] Monster Mash 그림으로 동물 만들기 (1) | 2023.12.07 |