분류 전체보기(294)
-
[Unreal] 28일차 - 적 공격 타이밍 수정, 적 피격 애니메이션(Animation Montage), 적 죽음 애니메이션
적이 플레이어와 만나자마자 공격하게 만들기BP_EnemyFSM의 MoveState로 간다.가장 뒤 노드에 Current Time에 Attack Delay Time을 세팅했다. 변수 Private 설정BP_EnemyFSM에서 설정했던 많은 상태는 BP_Enemy에 컴포넌트 형태로 사용하고 있다.따라서 BP_Enemy의 BP_EnemyFSM을 선택해보면 Details 창에서 만든 변수를 수정할 수 있다. Attack Delay Time을 2,0 -> 3.0으로 변경 일부 변수들은 굳이 보여지지 않아도 되기 때문에 Private 설정을 할 수 있다.BP_EnemyFSM에서, 변수 선택 후 Private 체크 필요한 값은 놔두고 나머지는 Private 처리 했다. 적 Damage(피격) 애니메이..
2024.09.04 -
[Web] glb 파일 포맷 -NodeToy 팁(Fresnel 효과, Object Scale 사용하기)
Three.js 기반에 사용될 glb포맷 모델링과 이펙트 만들어야 하는 입장에서, Blender와 NodeToy는 아주 중요한 역할을 하고 있다. 웬만한 이펙트 작업은 Blender에서 Govie Tool을 이용한 파티클 애니메이션으로 이루어지지만 블렌더에서 glb 포맷으로 지원되지 않는 제한 사항이 많이 있다. 블렌더에서 glb로 넘어가지 않는 효과는 Fresnel 효과가 있다.프레넬 효과는 여러모로 가끔씩 쓰이는데 View Direction에 따라 다른 효과를 낼 수 있다. 이전 글에서는 유니티에서 만든적이 있다. [Unity] URP 셰이더 프레넬 셰이더(Fresnel Shader)프레넬(Fresnel) 효과는 게임에서 배경과 캐릭터의 분리나 강조를 위해 또는 선택되었을 때 프레넬 효과를 과장하..
2024.08.28 -
[Unreal] 27일차 - Die State, 적 애니메이션 적용(Idle, Move, Attack)
Die State적이 죽었을 때 바닥을 뚫고 내려가지 않는 부분 수정-> 충돌체를 꺼보자 OnDamageProcess 함수에서, 적의 Capsule Component에 No Collision을 부여했다. Get Capsule Component는 검색을 getcap으로 하면 나온다. 그런데 적이 아래로 내려가도 Outliner에서 없어지는 건 아니므로 아예 어느정도 내려가면 없애야 한다.Die State 함수에서, 뒷 부분에 -200 높이 아래로 내려가면 Destory 하도록 설정했다. Die State 전체 노드 충돌이 없어진다. 적 애니메이션 적용Animation Bluprint 생성 vampire 스켈레톤 적용 ABP_Enemy로 이름지었다. 더블클릭하여 들어가서 State Mac..
2024.08.27 -
[Unreal] 26일차 - 넉백 구현 방법(이동 계산, 거리 Lerp 계산, 시간 Lerp 계산), Die State
Knockback 이어서저번 시간에 적이 2초동안 뒤로 밀려나서 어색했다. 이 부분을 수정한다.Damage State에서,넉백 이동을 할지 말지 정하는 VARIABLE을 하나 만든다. 너무 멀리까지 밀리지 않는 장치이다. 만든 변수는 앞쪽에 Branch 노드와 배치했다. 멈춤 반경을 정할 변수도 하나 만들었다. 해당 반경 안에 들어오면 더이상 밀리지 않는다. 가운데에 Set으로 받아온다. 넉백의 시작점과 끝점의 변수와 넉백 방향 변수를 생성한다. Enemy인 나의 위치와 종착지점 사이의 거리가 넉백 멈출 위치보다 작으면, True가 되어 Nuckback Playing이 체크 해제 된다. 한 가지 더 처리할 건, EndPoint 근처로 왔을 때 EndPoint에 딱 가게끔 설정한다. Damag..
2024.08.23 -
[Unreal] 25일차 - Enemy Attack State 함수, Move 전환, Damage State 함수, 넉백(Knockback)
적 Attack 함수 작성Idle 상태 함수에서 쓰인 시간이 흐르고 시간이 기준 시간을 넘었을 때 상태를 변화해주는 기능이 똑같다.해당 기능을 함수로 가져올 것이다.Idle State 함수에서 노드들을 묶어서 [Collapse to Function]으로 함수로 만들어준다. FlowTime으로 이름 붙였다. 그런데 이 함수에는 IdleDelayTime 외부 변수가 있다. 이 함수를 Attack에도 쓰려면 해당 부분에 AttackDelayTime이라는 다른 변수를 사용해야 한다. 따라서 이 부분을 바꿔줄 수 있도록 해야한다. 우측 Details에 보면 Inputs가 있다. 여기에 + 버튼을 눌러 input을 하나 추가하고 float 형의 "DelayTime"을 생성했다."get delay time" 노..
2024.08.23 -
[Unreal] 24일차 - 적 상태 설정, 열거형 생성, Idle와 Move 함수 편집, 컴포넌트화, 카메라 설정(적 뚫고 벽 못뚫게)
적 상태 설정 (Enemy FSM) 열거형을 위한 블루프린트 생성Enumeration을 생성한다. [+Add Enumerator] 버튼을 눌러서 상태를 추가한다. BP_Enemy로 간다. EventGraph에서 방금 만든 열거형을 추가한다. Event Tick과 연결하고 [Selection] 부분에 우클릭 후 Variable을 하나 생성해서 MyState로 이름을 지었다. 각 상태에 대한 Function을 생성했다. 각 상태에 맞게 배치하였다. 중간에 [Print String] 노드를 추가하여 현재 상태를 출력한다. [Print String] 노드에서 [Print to Screen] 체크 해제하면 화면상에는 나오지 않고 Output Log에만 출력된다. IdleState 함수 편집Id..
2024.08.21