프로그래밍 공부

서울게임아카데미 교육과정 6개월 국비과정 113

카테고리 설명
  • 언리얼 의 RaytoCollision을 사용해서 케릭터의 머티리얼을 변환시켜보자. Line을 그리는 객체에 위의 블루프린트를 BeginPlay에 연결해준다. 시작할 때, Player객체를 확인하고, 해당 객체의 Mesh데이터를 참고하여 Material을 변수로 받아온 다음, 해당 캐릭터의 Mesh데이터를 참조하여 Mesh데이터를 새로만드는 DynmaicMaterial instance로 변환해준다. 그렇게 하면, BodyMaterial에 Player의 Material데이터를 받아올 수 있다. 이제 이 정보를 수정해보자. TickRate에 대해 충돌검사 판별하는 코드부분을 수정하자. 충돌시를 판별하여, 충돌했을 경우, 해당Actor를 Break하여, HitActor를 받아온다음, 이 데이터를 BP_Playe..

  • 언리얼 충돌처리를 더 깊게 알아보자. 전에 만들었던 것은 충돌했을 시, String이 출력되게 만들었다. 이번에는 충돌 시 Light가 켜지고, 충돌상태가 아닐 시 Light가 꺼지게 할 것 이다. 객체 생성 위와같이 ToggleLIght를 생성하고, 객체를 정의해보자. 객체는 위와같이 PointLight와 String을 가지고, BoxCollider로 동작할 것 이다. 이밴트 그래프 이밴트 그래프는, 전과 유사하게, 생성된 PointLight를 타깃으로 지정하고, 처음에 꺼준뒤, Color값을 정의 해준다. 그리고, OnComponent Begin Overlap을 통해, 임의의 Overlap객체가 내부에 들어왔을 때, 충돌된 객체의 이름을 출력하게 하였다. 그리고, ActorBeginOverlap 이벤..

  • 상태머신을 통해 점프 애니메이션을 적용해보자. ABP에 들어가서 AnimGraph를 수정하자. 상태머신 내부로 들어가면 위와같은 창에서 에니메이션을 수정할 수 있게 되는데, 애니메이션을 드래그해서 블럭을 만들고,블럭의 외부에 드래그해서 위와같이 연결한다. 위의 좌우 교차된 화살표는 IF문이다. 어떠한 조건에 해당되면 화살표 방향으로 애니메이션을 전환해준다. 점프에 사용될 데이터는 InAir인지 아닌지 확인하는 bool타입 변수를 사용한다. Bool타입 변수 제작 위와같이 현재 담당된 Player에 대해 InAir를 가져올 수 있다. 만약, 떨어지고 있다면, 현재 객채가 공중에 있다는 의미 임으로, InAir를 True로 전환하고, 아니라면 False로 변환해준다. 해당 Valid는 블루프린트가 업데이트 ..

  • 이번에는 객체의 회전을 애니메이션에 반영하고 카메라를 상하도 같이 회전시키게 해보자. 카메라 회전 전에 만들어 놓았던 BP_Player에 들어가서, Character Movement를 누른다음, 디테일 창으로 가보자. 그곳에서, 캐릭터 무브먼트를 확인하면 다음과 같은 부분을 확인할 수 있다. 무브먼트의 회전방향에 대해 Orient 의 Rotation을 참고하여, 그 방향쪽으로 Animation을 회전시킬수 있게 설정할 수 있다. 해당 박스를 체크한다. 만약, 에니메이션 회전을 적용하지 않고, 카메라를 회전시키고 싶다면, BP_Player의 Self를 클릭하고, 그곳에서 폰->UseController Rotation부분에서 회전을 원하는 부분을 체크하면 된다. 카메라 줌 조정 이번에는 카메라의 줌을 조정할..

  • BP를 사용해서 CubeObject를 생성하기. BP를 사용해서 Cube를 생성해보자. 좌측의 엑터창을 사용해서 Cube를 생성해도 무방하지만, 일단 우리는 블루프린트를 적용 가능한 엑터를 생성하는것 이 목표이기 때문에, 블루프린트를 이용해서 Cube를 만들 것 이다. 블루프린트 클래스를 생성한다. 만들어야 하는것 은 엑터 임으로, 엑터로 생성한다. 컴포넌트 추가 에서 Cube를 생성한다. 생성하게 되면, 지정된 구 대신 Cube가 생성된다. 중앙에 있는 구체는 엑터가 생성되면 해당 위치에 생성된다고 알려주는 것 임으로, 무시해도 무방하다. 어차피 컴포넌트가 추가되면 볼 일이 없다. 같은 느낌으로 TextRender또한 생성해서 Cube에 드래그 하여 상속시켜준다. 위와같이 텍스트를 배치하면 성공. 텍스..

  • 언리얼에서 블렌드 스페이스를 활용하여, 케릭터 애니메이션을 적용해보자. 우선 블루프린터 Player와 애니메이션 블루프린터의 차이점을 알아야 한다. 각각 Class형태로 운영되는 한개의 코드뭉치인건 같으나, 블루프린트는 object의 움직임, 행동, 연산처리 자체에 관여하는 코드뭉치이고 Animation BluePrint는 메쉬에 해당되는 본 데이터를 DeltaTime에 연관하여 일정 규칙을 가지고 움직이게 하는것 이다. 여기에서 우리는 언리얼의 강력한 기능중 하나인 블렌드 스페이스를 활용하여 애니메이션 셋을 구축할 것 이다. 블렌드 스페이스 만들기 콘텐츠 브라우저에, 블렌드 스페이스를 저장할 폴더를 만들고, 해당 폴더의 빈공간에 오른쪽 마우스 클릭을 하여 에니메이션-> 블렌드 스페이스 로 들어간다. 해..