분류 전체보기 (573)     블로그 내 검색 검색     글쓰기     관리자 썸네일형 리스트형 [2.블루프린트연습] 캐릭터 따라다니게하기 현재 우리는 삼인칭캐릭터 템플릿을 사용하고 있다. 삼인칭텔플릿은 카메라가 뒤에서 따라다니고 일인칭은 카메라가 캐릭터 눈쯤에 위치해 있다. 실제 일인칭템플릿으로 프로젝트를 만들면 몸통과 다리가 없는 캐릭터가 들어있다. 보이지 않으므로. 이러한 효과는 레벨을 찍는 카메라의 위치 설정을 캐릭터의 어떤 부분으로 할것인지에 따라 쉽게 변경이 가능하다. C를 누르면 카메라를 이동시키고 싶었는데 아직 키입력 매핑 방법을 잘 몰라 그냥 시작시 퀘스천마크가 플레이어 머리위를 따라다니는 것으로 대치하려고 한다. 우선 컨텐트드로워에서 +Add를 누르고 블루프린트클래스>Actor를 만들고 이름을 BP_QMark로 한다. 에디터가 열리면 컴포넌츠 +Add를 누르고 StaticMesh를 추가한다. 디테일에서 StaticMesh를.. [2.블루프린트연습] 액터 이동시키기 이제 BP_Cube를 움직이게 해보자. 이전 채터에서 연습했던 홀수 합구하기 노드들을 지울수도 있지만 함수를 만들어 저장해 놓겠다. MyBluePrint>Functions 옆 +를 누르고 OddSum 이라고 이름을 변경하자. 다시 이벤트 그래프로 돌아와 맨 왼쪽 Event BeginPlay만 빼고 다 선택한 다 선택후 Ctrl-X로 잘라내기 하고 OddPrint 탭을 눌러 Ctrl-V로 붙여주고 맨 왼쪽에 OddPrint 노드를 연결해준다. 이제 EventGraph로 돌아와 방금만든 함수 OddPrint를 끌어다 놓고 Event BeginPlay와 연결해주고 플레이해보면 잘된다. SaveAll해주고 연결했던 OddPrint 노드는 지워준다. 에디터 오른쪽 밑을 보면 *Unsaved를 누르면 된다. 그래프.. [2.블루프린트연습] Print "Hello" 레벨에디터의 오른쪽 Outliner에서 BP_Cube를 선택하고 오른쪽 Edit BP_Cube를 클릭해 블루프린트 에디터를 연다 블루프린트 에디터의 이벤트그래프창에 3개의 이벤트가 비활성화 되어 있다. BeginPlay : 플레이버튼을 클릭하면 발생하는 이벤트 ActorBeginOverlap : 다른 Actor와 겹치면 발생하는 이벤트 EventTick : 시계 이벤트(일정시간마다 반복적으로 발생함) 이벤트그래프 빈곳에 우클릭하면 컨텍스트메뉴창이 뜬다. 여러가지 기능을 담당하는 노드를 찾아서 추가할 수 있다. print를 입력하고 Print String를 선택한다. 그럼 Print Text노드가 삽입되고 확장화살표를 눌러 펼치후 Duration을 10초 변경후 BeginPlay의 출력핀과 연결한다. 연결.. [2.블루프린트연습] 액터 만들기, 배치 연습을 위해 기존 프로젝트에 새로운 레벨을 만들겠습니다. New Level은 Basic으로 하겠습니다. (기존 프로젝트는 삼인칭입니다.) 플레이해보면 Floor위에 아무것도 없는데 캐릭터가 나타납니다. 그냥 이대로 작업하셔도 되지만 플레이어 캐릭터를 표시해 보겠습니다. 좌측아래 ContentDrawer를 열어 ThirPerson>Blueprints폴더에서 BP_ThirdPersonCharacter를 끌어다 뷰포트에 배치합니다. 위치를 리셋하고 X위치를 -500으로 설정합니다. Detail Panel에서 Pawn 을 찾아 Auto Possess Player를 Player 0로 설정하면 앞으로 플레이시 지금의 액터가 플레이어로 시작됩니다. 좌측하단 컨텐트드로워를 열어 블루프린트 폴더를 만들고 들어갑니다. 좌.. [2.블루프린트연습] ThirdPersonCharater로 시작하기 ThirdPersonCharater로 시작하기 플레이 해보면 캐릭터가 잘 보이지만 에디터 모드에서는 보이지 않는다. 따라서 이제부터 보이게 해보겠다. 1. 컨텐트드러워의 ThirdPerson>Blueprints폴더의 BP_ThirdPersonCharacter를 끌어다 놓는다. End키를 눌러 바닥에 배치시킨다. 2. 이대로 플레이하면 컨트롤이 안되는 인형이므로 이제부터 컨트롤이 되게 해보겠다 디테일에서 Auto로 검색해서 Pawn카테고리의 Auto Possess Player를 Disble에서 Player0로 변경한다. 이제 플레이 해보면 배치된 캐릭터로 부터 시작된다. 유령처럼 나타나던 플레이어도 사라진다. 3. ALT+좌클릭후 뷰포트를 아래와 같이 회전 시키고 캐릭터 x위치를 -500으로 뒤로 배치시킨.. [2.블루프린트연습] 1 CubeGrid 생성하기 블로그를 작성하다 너무 어려워서 블루프린트 기초를 한번 정리해보려고 한다. 문제는 기초 강좌가 잘 없다 ㅠㅠ. 1. 일단 블루프린트 연습용 프로젝트를 삼인칭 템플릿으로 적당히 만들자. 2. Play해보면 안보이는 캐릭터가 갑자기 나타난다 놀라지 말자. Outliner패널에 보면 BP_ThirdPersonCharacter 블루프린트에서 만들어진 인스턴스이다. 씬뷰에 마우스를 클릭하면 WASD키로 이동할수 있고 마우스로 방향을 돌릴수 있다. 3. Block폴더 안에 Actor들을 다 지운다. 레벨의 배경을 다 지우고, PlayerStart는 남겨둔다. 4. 다음 작업을 위해 SM_SkySphere를 눈을 클릭해 눈꺼플로 만들어준다. Outliner root(ThirdPersonMap)를 클릭해 아무것도 선택.. [언리얼매뉴얼] 비헤이비어 트리 퀵 스타트 가이드 https://docs.unrealengine.com/5.2/ko/behavior-tree-in-unreal-engine---quick-start-guide/ 이 예제는 언리얼 매뉴얼 입니다. 처음에 교재가 여려워 검색하다 비슷한 예제가 있어 캡쳐해 봤습니다. 따라 해봤는데 안움직이는데 아직 이유는 모르겠습니다. ㅠㅠ 이 가이드에서는 순찰하거나 플레이어를 추격하는 AI 캐릭터를 비헤이비어 트리로 구성하는 방법을 알아봅니다. 비헤이비어 트리 퀵 스타트 가이드 에서는 플레이어를 보고 반응하여 추격하는 적 AI를 구성하는 방법을 학습합니다. 아래 예시 영상에서 볼 수 있듯이, 플레이어가 시야에서 사라지면 AI는 몇 초 후(원하는 대로 조정 가능) 추격을 포기하고 플레이어를 다시 발견할 때까지 주변을 랜덤하게 .. [09인공지능] 비헤이비어 트리에 조건추가 적에게 플레이어를 추적하게 하는 탯그크에 접속할 다른 시퀀스와 노드와 두개의 시퀀스노드중 하나를 실행하는 셀렉터 노드가 필요하다. 새로운 태스크는 적이 플레이어를 볼 때문 실행되도록 해야 한다. 이를 위해 데코레이터를 추가한다. 데코레이터는 노드 상단에 부탁돼 작업을 수행하기 전에 충족해야 하는 조건을 제공한다. 1. BT_EnemyBehavior에셋을 연다. 2. Root노드 중앙을 우클린 모든 핀 링크 끊기를 선택한다. ALT클릭으로 끊어도 된다. 3. Root에서 Selector노드를 만든다. 4. 셀렉터노드에서 기존의 MoveToPatrol노드를 연결한다. 5. 셀렉터 노드에서 왼쪽아래 시퀀스노드를 추가하고 AttackPlayer로 이름을 변경한다. 6. 이제 데코레이터를 사용 적이 플레이어를 볼.. [09인공지능] AI가 플레이어를 추적하게 하기 폰 감지라는 이름의 컴포넌트는 적에게 시각과 청각을 추가하는데 사용된다. 이 컴포넌트를 사용해 비헤이비어 트리를 확장해서 적이 플레이어에 위협을 가하도록 하겠다. 폰 감지로 적에게 시야를 주기 적에게 플레이어를 탐지할 수 있는 기능을 부여하려면, 폰감지 컴포넌트를 BP_EnemyController에 추가하고 적이 플레이어를 볼 때 플레이어캐릭터 참조를 BB_EnemyBlackboard에 저작해야 한다. 폰감지 컴포넌트를 사용하는 순서는 다음과 같다. 1. BP_EnemyController 블루프린트를 연다. 2. 내 블루프린트 패널에서 변수를 만든다. 이름을 PlayerKeyName으로 지정하고 변수 타입은 name으로 한다. 컴파일후 디폴트값을 Player character로 세팅한다. 3. 컴포넌트 .. [09인공지능] AI 컨트롤러에서의 비헤이비어 트리 실행 AIController클래스에는 Run Behavior Tree라는 기능이 있다. 비헤이비어 트리 에셋을 파라미터로 받는다. BT_EnmeyBehavior Behavior Tree를 실행하기 위한 부모 클래스로 AIController를 사용하여 BP_EnemyController블루프린트를 만들었다. 비헤이비어 트리를 실행하는 절차는 다음과 같다. 1. BP_EnemyController 블루프린트를 연다. 2. 이벤트그래프에서 BeginPlay 이벤트의 흰색 실행핀에서와이어를 끌어 실행 Run Behavior Tree를 추가한다. 3. BTAsset의 입력 파라미터로 BT_EnemyBehavior를 세팅한다. 4. 블루프린트를 컴파일해서 저장한다. 비헤이비어 트리로 인공지능이 걷도록 가르치기 비헤이비어트리.. [09.인공지능] 내비게이션(탐색) 행동 만들기 적의 첫 번째 목표는 맵에 만든 지점 사이를 이동시키는 것이다. 이를 달성하기 위해, 적이 탐색할 지점을 맵에 만든 다음, 적이 순환적으로 각 지점으로 이동하도록 하는 행동을 세팅한다. 패트롤(순찰)지점 세팅 인공지능이 순찰할 경로를 만드는 것부터 시작한다. 트리거 스피어는 오버랩이벤트를 생성하고 게임에 숨겨지기 때문에 순찰 지점을 나타내기 위해 사용할 것이다. BP_EnemyCharacter의 각 인스턴스는 두 개의 순찰 지점 사이를 탐색할 수 있기 때문에 우리는 적어도 두 개의 순찰 지점이 필요하다. 다음 단계에 따라 순찰 지점을 작성한다. 1. 레벨 에디터에서 툴바에 있는 +만들기 버튼을 클릭후 Basic>트리거 스피어를 클릭한다. 바닥 아무곳에나 배치한다. 2. 디테일 패널에서 Sphere Tri.. [09인공지능] BP_EnemyChracter블루프린트 세팅 1. BP_EnemyCharacter 블루프린트를 연다 2. 툴바에서 클래스 디폴트 버튼을 클릭한다. 3. 디테일패널에서 pawn카테고리를 찾아 마지막 AI컨트롤러 클래스에 대한 드롭다운리스트에서 BP_EnemyController클래스로 변경한다. 4. 컴포넌트 패널에서 메시를 클릭한다. 그 다음 디테일 패널에서 머터리얼 카테고리를 찾고 머터리얼의 엘리먼트 0을 우리가 만든 M_TargetRed 머티리얼로 변경한다. 새로프로젝트를 만든분들은 M_TargetRed머티리얼을 새로 만들던지 적용하시던지. 전 컴포넌트 Mesh를 선택해 디테일패널 Mesh카테고리에서 SKM_Manny_Simple로 변경해서 모양을 바꾸어 주었다. 5. 컴포넌트 패널에서 Capsule Component(CollisionCylind.. 이전 1 ··· 41 42 43 44 45 46 47 48 다음