• [Unreal 게시판] 일정 개수 이상 파편이 떨어져 나간 뒤에 파괴하기2014.09.03 PM 01:58

게시물 주소 FONT글자 작게하기 글자 키우기

Question>

그냥 대미지 입으면 부서지는 디스트럭터블은 잘 만들던데
일정 갯수 파편(청크) 이상 떨어져 나가면 부서지는 디스트럭블을 만들고 싶은데
옵션창에서 뭘 건드려할지 잘 모르겠습니다.

예시)
벽모양의 디스트럭블 매쉬가 있는데 토탈 파편갯수(청크수) 는 10개인데
대미지를 입은 청크는 떨어져 나가고 떨어져나간 파편갯수가 5개 이상일때
와르르르 파괴되게 만들고 싶어요

관련문서 링크
https://docs.unrealengine.com/latest/KOR/Engine/Physics/Destructibles/DestructibleProperties/index.html

-------------------------------------------------------------

Answer>

제가 알고 있기로는..^^;;;;
떨어져 나간 파편(chunk)의 개수를 셀 수 있는 방법은 없다고 알고 있습니다.

하지만,
소멸된 파편(chunk)의 개수를 셀 수 있는 방법은 있습니다.^^
아래 link참고하시고요.


http://udn.epicgames.com/Three/ParticleSystemReferenceKR.html#Event 모듈
'EPT_Death'를 중심으로 보시기 바랍니다.^^


https://docs.unrealengine.com/latest/KOR/Engine/Rendering/ParticleSystems/Reference/Modules/Event/index.html
'EPET_Death'를 중심으로 보시기 바랍니다.^^


link 내용은 particle system의 event module에 대한 것이고요.
particle이 소멸할 때, event module이 event를 발생한다는 점을 활용한다면,
event가 발생할 때마다, 특정 변수를 하나씩 증가시킬 수 있는 code와 연결시킬 수 있고요.
( 여기서 말하는 code는 blue print가 될 수도 있고, C++이 될 수도 있습니다. ^^ )
결론적으로, 파편(chunk)이 소멸되는 개수를 측정할 수 있습니다.^^

정확히 말하면..^^;;;;;;;
파편(chunk)이 소멸될 때, particle system을 호출하는데,
이 particle system이 만든 effect가 소멸되는 개수를 하나 하나 더해서..^^;;;;;;
개수를 측정하는 겁니다.

하지만,
'그 방법은 소멸된 effect의 개수를 측정하는 것이지, 파편(chunk)의 개수를 측정하는 것인 아니잖아요.-_-+'라고
항의하실 수도 있는데요.^^;;;;

파편(chunk)의 개수와 effect의 개수를 1:1로 대응시킨다면,
결론적으로는 같은 효과를 얻을 수 있습니다.
( 그리고, '떨어져 나간 파편(chunk)의 개수를 셀 수 있는 방법'이 없다는 점을 고려해 주시고요. T_T )

구체적으로 접근한다면, 아래 class를 참고하시고요.

class UDestructibleMesh: public USkeletalMesh
{
(..생략..)

uint32 bUseValidBounds:1;
FBox ValidBounds;

(..생략..)
}

ValidBounds가 유효영역입니다.
질문의 예시는 '떨어져나간 파편갯수'를 세는 것이 목적이므로,
ValidBounds 최대한 좁게 해야, 정확하게 측정할 수 있습니다.^^

이 영역을 넘어 가면,
chunk가 소멸하면서, '소멸에 대한 particle system'이 발동합니다.
그리고, 소멸 효과가 끝나면, particle system의 event module이
event를 발생할테니까, 이 점을 활용해서 event가 하나씩 발생할 때마다,
'소멸된 개수를 세는 변수'의 값을 1씩 증가시키시기 바랍니다.

그러다가,
'소멸된 개수를 세는 변수'의 수치가 5가 넘었을 때,
destructible mesh를 완전히 파괴하도록 하시면 되겠습니다~ ^^


P.S.
간단하게 2줄로 요약하면 아래와 같습니다. ^^;;;;;
#1. ValidBounds 최대한 좁게 합니다.
#2. chunk 소멸시 작동되는 particle system에 event module을 박습니다.
위 2가지를 활용하시면 유사하게 접근하실 수 있습니다.^^







Tag:
안기훈, Kee Hoon Ahn, 언리얼, Unreal, UDK, iPhone, iPad, app, 앱, iOS
댓글 : 0 개
친구글 비밀글 댓글 쓰기