Destructible Mesh UE4/Practice2017. 3. 6. 14:57
Destructible Mesh (Fracture)
Mesh create or import > Fracture create or import fbx
Destructible Properties Matrix
https://docs.unrealengine.com/latest/INT/Engine/Performance/SystemSettings/index.html
https://docs.unrealengine.com/latest/INT/Videos/PLZlv_N0_O1gYeJX3xX44yzOb7_kTS7FPM/-gGiEmYj4oE/
https://forums.unrealengine.com/showthread.php?922-Destructible-Meshes-Two-Part-Tutorial
https://www.youtube.com/watch?v=sKJlB_ep3lU
to move at a constant speed you can control, you should use Velocity directly. Add Impulse basically does Velocity+=impulse. while AddForce is more like a thruster, it accelerates.
Currently the only way to have multiple fractures is to import an APB file. You can use PhysXLab for that.
- RadialimpulseActor
impulse: 충격,폭파 + 가속도
force: 원점에서 밀어내는 힘.
https://docs.unrealengine.com/latest/INT/BlueprintAPI/Physics/index.html
https://docs.unrealengine.com/latest/INT/BlueprintAPI/Physics/Components/RadialForce/index.html
https://docs.unrealengine.com/latest/KOR/Resources/ContentExamples/Physics/1_3/index.html
https://forums.unrealengine.com/showthread.php?29496-Addforce-and-addimpulse
AddForce accounts for delta time and should be used for applying force over more than one frame, AddImpulse does not account for delta time and should be used for single 'pushes', like from an explosion or being thrown by a player. The reason is that if you use AddForce for throwing or an explosion, how far the object moves depends on the framerate at the exact frame the force was applied, rather than being independent of framerate like AddImpulse is
Destructible_Troubleshooting_Guide
https://wiki.unrealengine.com/Destructible_Troubleshooting_Guide
NVIDIA Apex
https://developer.nvidia.com/apex-destruction-physxlab-tutorials
ue4 fracture 는 1depth 가능
apex 는 5depth 가능
Demolition Master
http://www.andvfx.com/demolition-master/
# ue4에서는 메쉬 애니메이션 bake하지 않고 fbx 애니메이션 익스포트만으로도 애니 데이타가 넘어감.(rootbone 설정은 해줘야 하나의 오브젝트로 됨)
QuickBone Tool 1.0 - mesh animation baking script
http://www.michalorzelek.com/blog/maxscript-quick-bone-tool-1-0/
https://www.youtube.com/watch?v=iQ6HFdP8_C4
Physics Body Reference
https://docs.unrealengine.com/latest/KOR/Engine/Physics/PhysicsBodies/Reference/index.html
Collision Response Reference
https://docs.unrealengine.com/latest/INT/Engine/Physics/Collision/Reference/index.html
Using the OnHit Event in Blueprints
https://docs.unrealengine.com/latest/KOR/Gameplay/HowTo/UseOnHit/Blueprints/index.html
properties
Destructible Settings
>Damage
Damage Threshold : 메쉬 HP 값
Damage Spread : Damage Radius = 데미지 x Damage Spread
Enable Impact Damage : 부딪치는 오브젝트,프렉쳐등에 충격 데미지 / 무너지는 효과
Impact Damage : Damage = Impact Force x Impact Damage
Default Impact Damage Depth : Damage Depth
Custom Impact Resistance : 오브젝트와 충동시 밀어내는 값
Impact Resistance : chunks가 물리적 데미지를 입을때 저항값, 낮게 설정하면 관통될수 있다.
충돌 오브젝트 collision preset : PhysicsActor / weight 값 설정.
-------------------
Damage Cap : 최대 데미지 총합. 이값 이상의 데미지는 적용되지 않게 되고 파괴되지 않는다.
Impact Velocity Threshold : 최저 속도 한계치, 한계치 속도 이상이 되어야 파괴.
Max Chuck Speed : 최대 chunk속도, 낮은값이면 slomotion 처럼 보인다.
Fracture Impulse Scale :파괴시 chunk 노멀 방향으로 조각난 것을 밀어내는 크기 인수.
>Debris
잔해 life time min/max , 원점에서 멀어지면 사라지는 거리, valid bounds 크기 설정
>Flags
Accumulate Damage : 데미지 누산, 여러번 타격 가능.
Asset Defined Support : support chunk 설정된 fracture에 nxscene 적용 ?
World Support : 스태틱 메쉬와 겹치는 부분에 레벨 환경적용. 바닥에 붙거나 벽에 붙는 역할
Debris Timeout : 잔해 timeout 설정
Debris Max Seperation : 잔해 원점에서의 최대 거리 설정
Crumble smallest Chunks : 가장 작은 chunk도 분해 or 삭제
Accumulate Raycasts : 정확한 collision 검사
Use Valid Bounds : Valid bounds 사용.
Form Extended Structures : 겹치는 오브젝트와 하나가 된다.
>Hierarchy Depth
chunk depth 설정. depth level에 따라 "stick"형태로 된다.
>Effects
이펙트 추가
>Skeletal Mesh
재질 설정
>Thumbnail
Fracture Settings
>Voronoi
Cell Site Count : cell chunk 수
보로노이 다이아그램
http://terms.naver.com/entry.nhn?docId=3533967&cid=58541&categoryId=58541&expCategoryId=58541
3dsmax rayfire voronoi
https://www.youtube.com/watch?v=Uu2PYfK3HdY
# fracture import 시 Material 통합문제 현재 해결되지 않았음 -> APEX는 가능.
https://issues.unrealengine.com/issue/UE-8566
>General
fracture 재질 uv 설정, random 생성.
Chunk Parameters
>Chunks
Chunk Params
Is Support Chunk : 레벨 환경에 지원
Do Not Fracture : fracture되지 않음
Do Not Damage : 데미지 입지 않음
Do Not Crumble : 부서지지 않음 , 자식이 있는 청크는 자식쪽에서 부서질수 있음.
Destructible Actor Component
Linear Damping : 높을수록 느려짐
Large Chunk Threshold : Fracture 충돌 사이즈. 수치를 높이면 그이하의 덩어리는 플레이어와 충돌하지 않음.
~ console command : pxvis collision
Destructible Troubleshooting Guide
https://wiki.unrealengine.com/Destructible_Troubleshooting_Guide
UE4 Learning Resource Content Creator Tim Hobson
http://timhobsonue4.snappages.com/
ue4 Apex,rayfire Destructibla mesh tut
https://www.youtube.com/watch?v=HSGCr-xqit0&index=2&list=PLm2aqn-LqKX6VJfACurmJEK7YSwerMIa6
Fracturemesh Chunks location (code)
'UE4 > Practice' 카테고리의 다른 글
Materials (0) | 2017.04.12 |
---|---|
[BP] Flow control node (0) | 2017.04.03 |
Vertex Animation (0) | 2017.03.13 |
Particle (0) | 2017.03.10 |
Unreal Engine practice (0) | 2017.02.13 |