본문 바로가기

Contents Example

(12)          글쓰기    
1.2 Physics Animation Blending Hit Reaction 좌클릭하면 클릭부위가 힘을 받는다.좌클릭이벤트는 BPI_HitReaction에 정의되어 있고 HitLocation과 Bone Name을 전달한다. HitReactoin BPI는 Character의 EventHitReaction을 call하고 Bone이름을 전달한다.RootBone이 아니고 Hit된적이 없다면전달된 bone을 BoneName변수에 저장한다. 이후 타임라인이벤트를 실행하는데타임라인은 변화는 다음과 같다.타임라인이 끝나면 Weight를 0으로하고 Physics Simulate를 꺼준다 Hit변수도 꺼준다.시퀀스2는 메시에 카메라 방향으로 충격을 가한다.TimeLine에서 만들어진 weight는 EventTick에서 반영된다.실행해보면 충격이 약하다 약한 이유는 휘어질 본이 지정되기 때문이다. ..
1.1 Physics Animation Blending 플레이후 슬라이드바를 1로 놓으면 왼쪽은 왼쪽팔 가운데는 상체 오른쪽은 하체가 마비된것 처럼 보인다.블루프린트를 살펴봤는데 동일한 BP이다. 디테일을 보니 BoneName변수의 뼈이름이 달랐다.BP의 이벤트그래프는 간단하다. 슬라이더가 Null이 아니라면 슬라이더의 값을 Weight에 저장하고Physics를 시뮬레이션할 범위를 BoneName을 이용해 지정해주고 Slider의 가중치를 지정해주면 된다.
Physics Control Animation 실험을 위해서는 ThirdPersonCharacter가 필요하다.실험을 위해 PhysicsControl 폴더를 만들고ThirdpersonCharacter폴더에서 BP와Game모드를 카피해서 이름을 바꿔준다.새로만든 게임모드를 게임모드오버라이드에 지정해주고 디폴트폰을 MyTPSCharacter로 지정해주자BP_MyTPSCharacter를 열어주고 EventGraph에 EventBeginPlay에 Sequence를 삽입해주고 Then1에 Set All Bodies Below Simulate Physics를 넣어준다. InBoneNames핀을 끌어 Linteral을 검색후 pelvis를 입력해준다.컴포넌트 Mesh를 선택하고 Collision Enabled(Query and Physics)로 변경해준다.이동해..
1.2 Pixel Ship Shooting M_Space_Background 게임의 배경이 아래로 움직이는데 Outliner상에서는 Cube이고 Material이 배경애니메이션을 담당한다. Material인 M_Space_Background를 클릭해보면 생각보다 복잡하다. BaseColor와 EmissiveColor2가지 입력을 받는데 BaseColor는 수직으로 아래로 움직이는 배경이고 EmissiveColor를 밝은 dot들아 아래로 움직인다. BaseColor 부터 분석해보자. BaseColor에 T_Space Texture를 연결해주고 Panner를 TextureCoord를 넣어 UV공간을 변경해서 타일링을 해주고 Panner로 좌우로 움직여준다. 똑같은걸 복사해서 서로 더해준다. 한쪽은 BumpOffset을 추가해줬다. 빠르게 흐르는 작은별을 표현하기 위해 다음노드를 E..
1.3 Physics-driven movement example 원형 발판위에 오버랩하면 비행선을 조정할수 있는데 물리적인 효과가 있다 (미끄러진다, 관성효과) 원형 발판은 BP_Button_Dispatch이고 이전 예제와 동일하게 Call Button Pressed함수를 호출한다. 이건 레벨블루프린트에 있다. DefaultPawn을 특정위치로 옮겨주고 BP_UFO_Physics를 포제스해준다. 이후 시네마틱모드로 변경해준다. BP_UFO_Physics를 보면 construction Script를 보면 AbductionBeam Mesh의 Engine1,2는 파티클 효과이다. dynamic Material Instance를 만들어 Abduction Beam Material에 저장해주고 있다. EventTick을 이용해 UFO Top부분을 계속 돌려준다. 이후 Physi..
1.2 Pixel Ship Game Controller - Shooting Game 게임을 시작하게 하는 buttton 클래스는 같지만 인스턴스가 다르다 이예제는 분석결과 하나의 슈팅게임 예제입니다. 컨트롤러가 플레이어와 적을 만들어 냅니다. 플레이어는 인풋을 참조해 이동하고 Fire Button이벤트시 총알을 발사합니다. 총알은 충돌시 데미지를 전달하고 효과와 함께 사라집니다. 플레이어와 적은 데미지를 입고 Health가 0이 되면 효과와 함께 사라집니다. 전체를 이해하고 아래 블루프린트는 구현적인 면에서 참조하시면 될것 같습니다. 레벨의 BP_Pixel_sSHipGameController가 BP_PixeShipPlayer를 만든다. 클래스는 Pawn이다. 파티클 컴포넌트를 자식으로 붙여 화염을 표현한다. 레벨의 BP_Pixel_sSHipGameController는 플레이와 에너미의 ..
1.1 2D input example AD키를 사용 인형을 좌우로 움직이고 SpaceBar로 점프하게 하는 과제다 예제앞 버튼은 BP_Button_Dispatch이다. 트리거되면 Timeline을 이용해 위치를 아래로 내리고 머터리얼의 Emissive를 낮춘후 Button Pressed의 Dispatchers CallButtonPressed가 실행된다. CallButtonPressed은 레벨블루프린트dptj 수신해서 DefaultPawn을 BP_Pixel_Dude_Character로 변경해준다. Possess해준다. 이제 입력은 PlayerController를 통해 BP_Pixel_Dude_Character에 전달된다. 포제스되면 카메라도 변경되는데 카메라가 캐릭터와 수평으로 되어 있어 2D같은 분위기가 된다. 인형은 BP_Pixel_Dud..
Mouse Interaction 마우스 오버 클릭 입력 이벤트 처리 레벨 이름은 Blueprint_MouseInteraction이다. 바닥에 놓여있는 공위에 마우스를 놓으면 빨간색으로 변하고 클릭해서 드래그하면 위치를 변경할수 있다. 공의 블루프린트는 MI_Sphere이다. 컴포넌트는 StaticMesh이고 Sphere를 지정해준다. 아무 Sphere나 상관없다 블루프린트로 가보자 StaticMesh를 선택하고 Detail아래쪽에 가보면 이벤트들이 활성화되여져 있다. 터치도 지원하는것 같다. 각 이벤트중 우선 마우스가 오버했을때 빠져나왔을때 커서의 모양을 바꾸고 디폴트로 돌려놓는다 머터리얼을 바꿔 액터의 색상도 바꾼다. 마우스의 커서는 입력이므로 GetPlayerController의 함수이다. 클릭이 릴리스 되었을때는 마우스가 오버되는 상태가 되므로 같은곳으로 연결해준다..
Triggered Gear - AddLocalRotation, MakeRotator BP_Gears 블루프린트를 만들고 Static_Mesh3개를 컴포넌트로 추가해주고 Mesh는 SM_Gear를 지정한다. 가운데 기어가 1 양쪽이 2,3번이다. 모든기어는 기어수가 9개 이다. 3개의 기어는 같은 SM_Gear를 사용하지만 스케일이 0.85, 1, 0.9로 약간씩 다르나 기어수가 모두 9개로 똑같아 RPM은 동일하다. 이벤트그래프에서 EventTick에 AddLocalRotation함수를 이용해 가운데 기어1를 회전시켜준다. 기어1 양쪽의 2,3 기어는 반대방향으로 동시에 돌려준다. Add Local Rotation에 타겟이 2개 연결되어 있다. 반대로 돌리기 위해 -1을 곱해주었다. \
BP_TimelineBall Simulate BP_TimelineBall 이라는 블루프린트를 액터를 부모로 만들고 StaticMeshf를 추가해주고 Sphere를 지정해준다. 이벤트그래프로 가 타임라인을 추가해주고 더블클릭해준다. +Track을 클릭하고 Add EventTrack선택하고 이름을 Impact로 바꿔준다. 키프레임은 1.46,0 하나만 넣어준다 이벤트를 트리거해준다. +Track을 클릭하고 float를 선택하고 (0,1), (1.46,0), (1.54),(0 3,1) 4개의 키프레임을 추가해준다. sphere의 Z위치를 변화시켜준다 +Track을 클릭하고 float를 선택하고 Scale이라고한다 sphere가 바닥에 부딪히면 Z스케일을 변화시켜 공이 튕기는것처럼 시뮬레이션 해준다. 키프레임을 우클릭하고 시뮬레이션에 적합한 커브를 선택해..
Control Rig 1.1 IK Goals Contents Example IK Rig 레벨을 열면 1.1 IK Goals가 있다. 머리가 뱅뱅회전하는 모양이다. 캐릭터를 클릭해보면 아웃라이너에서 BP_IKGoals를 사용하고 있다. Edit BP_IKGoals를 클릭해보면 사용하고 있는 애니메이션블루프린트를 확인할수 있고 일단 EventGraph 부터 보겠다. 변수는 Position이 전부다. Get Animated Circle함수를 이용해 Position좌표를 변경해주고 있다 . 이게 끝이다. 이좌표를 스켈레탈IK에 전달해야하는데 아까봐둔 Animation블루프린트에 있는것 같다. 열어보니 IKRig만 덜렁 있다. 만들때는 IK Rig 노드를 추가하고 IK Rig를 추가해야한다. 예제에 만들어져 있지만 한번 만들어 보겠다. SKM_Manny를 ..
Contents Example 소개 언리얼 마켓플레이스에 컨텐츠 Example이라는 게 있다. 여러가지 학습자료가 들어 있는건데 문서와 예제가 다 있다. https://dev.epicgames.com/documentation/ko-kr/unreal-engine/content-examples-sample-project-for-unreal-engine?application_version=5.3 언리얼 엔진용 콘텐츠 예제 샘플 프로젝트 이 샘플 프로젝트를 통해 언리얼 엔진에서 사용하는 특정 개념 및 기법을 설명합니다. dev.epicgames.com https://www.unrealengine.com/marketplace/ko/product/content-examples