분류 전체보기 (665)     블로그 내 검색 검색     글쓰기     관리자 썸네일형 리스트형 3.1-2 플레이어 생성하기 - 게임모드 설정 카메라제어및 애니메이션을 공부하기 위해 FPS보다 TPS로 제작합니다. 부모클래스를 Character로 하는 Public C++클래스를 만듭니다. 이름은 TPSPlayer 입니다. Visual Studio로 이동하면 새로운 파일이 생겼으므로 리로드 하라고 합니다. 언리얼과 Visual Studio는 서로 다른 환경이라 서로 얽혀있습니다. 이 둘을 잘 이해하셔야합니다. 언리얼의 Character 클래스는 이동과 애니메이션을 담당해주는 클래스입니다. 폰클래스를 상속받습니다. Content폴더밑에 Blueprints 폴더를 만들고 방금만들 TPSPlayer를 부모로 BP_TPSPlayer를 만들어 줍니다. 게임모드 클래스 정보 수정하기 TPSProjectGameModeBase를 부모로 블루프린트를 만들고 이름.. 3.1 프로토타입 버전 - 로그카테고리 3.1-1 TPS 프로젝트 생성하기 Create - Game - Blank - C++ - 스타터컨텐츠 (ThirdPerson템플릿은 나중에 그래픽만 임포트 할 예정) 선택하고 프로젝트명을 TPSProject로 합니다. 이대로 이름을 만들어야 예제 파일을 수정없이 사용가능합니다. Source-TPSProject폴더로 이동 Public/Private 폴더를 만들고 TPSProject.Build.cs파일만 빼고 h는 퍼블릭, cpp는 private폴더로 이동시켜줍니다. 파일 구조를 만졌으므로 Visual Studio가 재구성할수 있도록 TPSProject폴더의 프로젝트명 + .uproject위를 우클릭후 Visual Studio 프로젝트 파일을 새로 만듭니다. 만들어진 TPSProject.sin 파일을 더블클.. 델리게이트 UPROPERTY() class UABAnimInstance* ABAnim; 앞서 같은 애니메이션을 중복플레이를 방지하기 위해 플레이중임을 체크했는데 이보다는 애니메이션이 끝나면 자동으로 폰에게 알려주는 편이 더 효과적이다. 언리얼이 제공하는 델리게이션기능을 사용해서 구현할 수 있다. 델리게이션이란 보편적으로 특정 객체가 해야할 로직을 다른 객체가 대신 처리할 수 있도록 만드는 보편적인 개념이다. A가 B에게 작업명령을 내리고 자신을 등록후 끝나면 A에게 알려주는 설계방식이다. 애님 인스턴스에는 애니메이션 몽타주 재생이 끝나면 발동하는 OnMontageEnded라는 델리게이트를 제공한다. 어떤 언리얼오브젝트라도 UAnimMontage * 인자와 bool 인자를 가진 멤버함수를 가지고 있다면, 이를 OnM.. 애니메이션 시스템 활용 - 애니메이션 몽타주 캐릭터가 공격 입력을 누를때 마다 연속된 모션으로 공격하도록 애니메이션 기능을 구현해 본다. 스테이트 모신을 사용해 구현 가능하지만 설계가 복잡해 진다. 언리얼엔진은 스테이트 머신의 확장없이 특정 상황에서 원하는 애니메이션을 발동시키는 애니메이션 몽타주라는 기능을 제공한다. 이를 이용해 콤보공격을 구현하겠다. 애니메이션 폴더위를 우클릭하고 Animation Montage를 선택하고 원하는 스켈레톤을 선택하거나 만들고 싶은 스켈레톤을 열어 Create Asset 에서 선택해도 된다. 에디터가 열리면 기본으로 Default라는 이름의 섹션이 있다. Detail에서 이름을 Attack1으로 변경하 오른쪽 Asset Browser에서 WarriorAttack1 2 3 4를 끌어다 놓는다. 자동으로 엇갈리면서 배.. 점프의 구현 GrounToJump 조건 Jump to JumpIdle조건 JumpIdel to JumpEnd 조건 JumpEnd to Ground조건 트랜지션 조건이 필요없는 경우 Transition Category에서 Auto Rule Based On Sequence Player in State를 체크하면 된다. 스테이트 머신 제작 기계가 반복해야 하는 동작을 스테이트로 정의하고 지정된 스테이트의 동작을 반복 수행할 수 있다 캐릭터가 반복해서 재생해야 할 애니메이션 동작을 애니메이션 블루프린트 스테이트 머신이 처리하도록 한다. 애님 그래프의 빈 공간을 우클릭해 스테이트 머신 새로 추가 클릭 이름을 BaseAction으로 지정 스테이트 머신을 더블 클릭하고, 머신 편집 윈도우에서 우클릭->스테이트 추가 Ground로 이름 변경 시작 노드와 추가한 스테이트를 트랜지션으로 연결 트랜지션: 시작->목적 드래그 시 생성되는 단방향 화살표 서로 다른 스테이트끼리 이동이 가능하도록 연결 추가한 스테이트를 더블 클릭하고 해당 스테이트의 애님 그래프 제작. Blend Poses by bool은 조건에 따라 2가지 애니메이션을 선택해 출력해준다. 스.. [애니메이션시스템] 폰과 데이터 연동 게임을 플레이하면서 실제 폰의 속도에 따라 다른 애니메이션을 재생하기 위해서는 프레임마다 폰의 속력과 애님 인스턴스의 CurrentPawnSpeed 값이 동일해야 한다. 이를 위해 폰의 Tick함수에서 애님인스턴스의 CurrentPawnSpeed에 쓰거나 애님인스턴스의 Tick에서 폰의 속도 정보를 가져온 후 이를 CurrentPawnSpeed에 업데이트하는 방법이 있다 후자로 구현해본다 애님인스턴스 클래스는 틱마다 호출되는 NativeAnimationUpdate함수를 가상 함수로 제공한다. 그래서 ABAnimInstance에 이를 상속받은 하나의 함수를 선언한다. 폰과 애님 인스턴스 데이터 연동 폰의 Tick 함수에서 애님 인스턴스의 CurrentPawnSpeed 조정 애님 인스턴스의 Tick에서 폰의.. ThirdPersonPlayer 분석하기 ThirdPersonPlayer를 포함하고 프로젝트를 만들면 프로젝트명+Character.cpp가 만들어지고 이게 ThirdPersonCharacter 폴더의 BP_ThirdPersonCharacter의 부모 클래스 이다. 일단은 MyPlayer 클래스를 만들고 프로젝트명+Character의 내용을 복붙했다. 다음에는 프로젝트명+Character를 직접 변경가능한지 테스트 해보고 싶다. // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "GameFramework/Character.h" #include "InputActionValue.. 이득우 언리얼 참조 사이트 http://www.acornpub.co.kr/book/unreal-c#errata 이득우의 언리얼 C++ 게임 개발의 정석 언리얼 엔진 학습에 목말라하는 게임 개발자에게 단비 같은 언리얼 엔진 프로그래밍 책이다. www.acornpub.co.kr 스마 인턴 프로젝트 UNSEEN https://velog.io/@yoo06?tag=UNSEEN yoo06 (유영준) - velog velog.io UNSEEN 졸업생 https://husk321.tistory.com/category/%EC%BE%8C%EB%9D%BD%EC%97%86%EB%8A%94%20%EC%B1%85%EC%9E%84%20%28%EA%B3%B5%EB%B6%80%29/Unreal '쾌락없는 책임 (공부)/Unreal' 카테고리의 글 목록 husk.. 문열기2 문모양을 만들고 Left마우스버튼+휠버튼을 눌러 기즈모를 이동시키고 우클릭후 Pivot 옵셋을 설정한다. 또는 모델링모드에서 Transform PivotAct를 설정한다. 좀더 쉽게 설정할 수 있다. BP_Door를 블루프린트를 만든다 부모는 Actor로 하자 컴포넌트에 StaticMesh를 2개 추가해 방금만든 Left Right door를 배치하고 문이 열리기 Pivot을 양쪽에 배치되게 잘 배치한다. 문 앞뒤로 트리거할 Collision Box를 2개 배치한다. 콜리전 세팅에서 캐릭터Pawn만 오버랩 되게 한다. 안그러면 문이 열리면서 건드려서 새로운 트리거를 발생할수 있다. 아니면 Door Mesh는 콜리전을 꺼 놓으면 된다. Frontbox콜리전 박스의 Begin Overlap을 추가하고 Add.. 문열기 BP_DOOR Arrow로 축을 만들어 준다 openState 0= idel, 1=open, -1=close로 inc로도 사용한다 BP_Open으로 트리거를 만들어준다 Fracture Mode BP_Target의 Simulate Physics 을 켠다. 레벨에서 Target을 선택하고 File밑의 Generate New를 선택한다. 적당한 폴더를 선택하고 Create한다. 타깃의 색이 변화되어 있고 갈라져 있다. 아웃라이너 위치에 Fracture Hierachy팬널이 생겼고 방금생선한 액터가 선택되었다. 왼쪽 Fracture팬널에서 아래로 스크롤해 Fractrue를 2번 눌러주면 레벨이 생긴다. Fracture모드에서 Selection모드로 돌아간다 General의 Show Bone Colors를 꺼주면 노란색이 꺼지고 모습이 나타난다. 방금만든 BP_Target_GeometryCollection를 클릭해 Collision을 변경한다. 좀더 잘 부서진다. .BP_PPROJECTILE을 열어 노.. 이전 1 ··· 42 43 44 45 46 47 48 ··· 56 다음