강좌 8

언리얼엔진 강좌 70 [쥐를잡자-06] 내 순서가 되면 잡았다 혹은 놓쳤다 결정하기

MC가 이번엔 몇 번쨰 플레이어가 할 차례다 라고 하면 그게 내 순서인지 확인한 다음 내 순서가 아니면 그냥 무시하고 가만 있고, 내 순서면 잡았다 혹은 놓쳤다 둘 중 하나를 선택합니다. 이 때 블루프린트의 Random Integer In Range 함수를 이용합니다. 0-1 사이의 숫자를 랜덤으로 만들고, 0이면 잡았다이고, 1이면 놓쳤다로 생각합니다. 실제로 사람이 이 게임을 하면 플레이어간 약 1초 정도 사이를 두고 진행됩니다. 세마리! - 1초 - 잡았다 - 1초 - 놓쳤다 - 1초 - 잡았다 - 1초 - 잡았다 - 1초 - 만세 이렇게 각 플레이어마다 1초 정도 사이가 있는거죠. 그래서 이 게임에서도 이용해 1초 뒤에 행동을 하도록 타이머를 둡니다. https://www.youtube.com/w..

언리얼엔진 4 C++강좌 004 [actor-04] 가까이 다가가면 자동으로 불이 켜지는 램프 액터 만들기

가까이 다가가면 자동으로 불이 켜지는 램프 액터를 만들어 봅니다. C++로 램프 액터를 만든 다음 box component를 추가하고 그 box에 뭔가 overlap 되는 이벤트가 발생하면, 그 이벤트를 처리해 램프에 불을 켜는 처리를 해 봅니다. 또한 overlapEnd 이벤트도 처리해 멀어지면 자동으로 불이 꺼지게 만들어 봅니다. 먼저 박스 컴퍼넌트를 추가해 봅니다. // LampActor.h UPROPERTY() UBoxComponent* m_pBox; 그리고 박스에서 발생하는 이벤트를 받기 위해, OnOverlapBegin 이벤트와 OnOverlapEnd 이벤트를 아래와 같이 정의합니다. // LampActor.h UFUNCTION() void OnOverlapBegin(UPrimitiveComp..

언리얼엔진 4 C++강좌 005 [actor-05] C++ 클래스의 재사용성 - 다른 프로젝트에서도 사용 가능할까?

cpp01 프로젝트에서 LampActor 클래스를 만들어 동작하는 것까지 확인했는데, 이 클래스 헤더 파일과 cpp 파일을 복사해서 다른 프로젝트에 추가해 놓으면 똑같이 동작하도록 만들 수 있을까요? 답은 물론 당연하다 입니다. 클래스를 만들어 쓰는 이유 중 하나가 재사용성 때문인데, 클래스 파일 복사해 놓으면 당연히 똑같이 동작해야지요. LampActor 클래스의 재사용성을 확인하기 위해 새로운 프로젝트를 만들고 그 프로젝트에서 LampActor 클래스를 재사용하는 방법을 보여줍니다. 사실 한가지만 신경쓰면 되는데, 헤더 파일에 //LampActor.h UCLASS() class CPP01_API ALampActor : public AActor { "class" 예약어 뒤에 CPP01_API 처럼 기존..

언리얼엔진 4 C++강좌 006 [actor-06] 에디터에서 설정하면 실시간으로 액터에 반영되도록 하기

에디터에서 빛의 세기를 바꾸면 실시간으로 그 값이 클래스의 인스턴스에서 반영되도록 수정해 봅니다. 위 그림과 같이 우리가 만든 클래스에 빛의 세기를 조절하는 변수를 둘 수 있고, 에디터에서 보여줄 수도 있는데, 에디터에서 "빛의 세기" 값을 조절해도 에디트 중에는 그 값이 실시간으로 보여지질 않습니다. 그러니까, "빛의 세기" 값을 바꾸면 에디트 타임에도 반영이 되었으면 하는 것이죠. 이게 언리얼엔진과 c++에서 가능합니다. // LampActor.h virtual void PostEditChangeProperty(FPropertyChangedEvent& PropertyChangedEvent) override; 위와 같이 헤더 파일에 PostEditChangeProperty 함수를 선언하고, // Lam..

언리얼엔진 4 C++강좌 001 [actor-01] Actor 클래스 생성해 보기

언리얼엔진 4 c++ 강좌입니다. 첫 번째 시간으로 c++로 Actor 클래스를 만들고 static mesh component를 추가합니다. 그리고 에디터에서 mesh를 바꿔보기도 하고 material도 설정해 봅니다. 그리고 항상 에디터에서 mesh를 바꿔줄 수는 없기 때문에 Actor 클래스 내에서 static mesh를 결정해 주는 방법도 배워봅니다. 먼저 static mesh를 위해 UStaticMeshComponent 컴포넌트를 추가해 줍니다. // MyActor.h파일 UPROPERTY(EditAnywhere) UStaticMeshComponent* pMeshComp; 생성자에 아래와 같이 컴퍼넌트를 생성하고, UStaticMesh를 생성해서 컴퍼넌트에 그 UStaticMesh를 추가해 준다...

xamarin 강좌 001. xamarin의 시작

visual studio 2017을 이용한 xamarin 무료 강좌의 시작입니다. visual studio 2017 community 버전은 마이크로소프트에서 무료로 배포하고 있기 때문에 무료로 이 엄청난 일들을 해 볼 수 있습니다. 첫번째 시간으로 xamarin을 이용해 android, iOS(아이폰), UWP(Universal Windows Platform)으로 빌드하고 에뮬레이터에서 돌아가는 모습을 보여드리겠습니다. 첫날이라 대단한 건 없네요. 그냥 잘 돌아가는구나.. 정도로만 봐주세요. ^^; 만약 비주얼 스튜디오 2017을 설치하신지 오래 되셨다면 지우고 다시 설치하시길 권해 드립니다. 비주얼 스튜디오 2017이 워낙 업그레이드를 자주 해서 예전 버전이면 그동안 바뀐 부분을 하나하나 업그레이드 ..

초등학생을 위한 스크래치 쉽게 배우기 004. 점프 게임만들기(2) - 장애물 만들고 나에게 오게 하기

초등학생도 배울 수 있을 만큼 쉬운 스크래치(scratch) 동영상 강의에요. 이번 강의에서는 장애물을 만들고 그 장애물이 고양이 쪽으로 움직이도록 만들어요. 이런 고양이, 장애물 같은 등장인물들을 스프라이트 라고 불러요. 이렇게 스크래치의 모양 탭으로 들어가서 장애물 스프라이트를 만들어 추가할 수 있어요. 여기서는 다른 파일을 이용하지 않고 마우스로 쓱쓱 그려서 장애물을 만들 거에요. 그리고 1초 동안 고양이 앞으로 굴러오도록 만들어요. 아래 동영상 강의로 전체 과정을 배우세요.