프로그래밍 261

xamarin 강좌 017. Custom Native Control 만들기(1) - View, Renderer, Native Control 의 차이

xamarin 17번째 강의로, xamain에서 나만의 custom native control을 만드는 방법을 4회에 걸쳐 설명합니다. native control은 platform dependent하게 해당 platform에서 제공하는 control들을 말합니다. 내가 새로운 native control을 만들면 그걸 사용하기 위해, xamarin영역에서 view를 만들고, platform 영역에서 renderer를 만들어 view와 native control을 연결해 줘야합니다. 이번 강의에서는 xamarin의 element 중, native control을 보여주는 추상 영역인 view, view와 native control을 이어주는 renderer, 그리고 native control의 차이를 설명합..

xamarin 강좌 016. data binding 2 - 내가 만든 클래스와 xaml 데이터 바인딩

xamarin 16번째 강의로, 데이터를 위해 새로 만든 데이터 클래스와 xaml 파일에서 데이터 바인딩을 하기 위해 PropertyChanged를 실행하는 것을 공부합니다. xaml 파일과 xaml.cs 파일이 사실은 하나의 클래스를 이루기 때문에 data binding이 이미 준비되어 있었지만, 내가 새로 만든 데이터를 위한 클래스(CData 클래스)와 xaml 파일은 연결점이 (당연히) 없기 때문에 직접 연결되도록(바인딩되도록) 작업해 줘야 해요. 그 과정을 공부해 봅니다.

xamarin 강좌 015. data binding 1 - xaml과 xaml.cs 파일과의 연계

xamarin 15번째 강좌로, UI를 기술하는 xaml 파일과 그 xaml 파일과 연결한 xaml.cs 파일간 서로 값이 연결되는 binding 에 대해 설명합니다. xamarin을 사용하면 거의 반드시 하나 이상의 xaml 파일과 그와 연결된 xaml.cs 파일을 사용해야 하는데요, xaml 파일은 UI를 담당하고, xaml.cs 파일은 기능을 담당합니다. 이렇게 나뉘어진 이유는 디자인과 코딩 부분을 구분하기 위해서인데, 다시 말하면 디자이너는 xaml 파일을 열어서 작업하고, 같은 시간에 프로그래머는 디자이너와 미리 약속한 대로 코딩할 수 있도록 하기 위해서 입니다. 변수명 같은 게 미리 약속만 되어 있으면 디자이너와 프로그래머가 동시에 각각의 작업을 할 수 있는 거죠. 이렇게 각자 구분되어 작업된..

언리얼엔진 강좌 64 [damage-05] 데미지입다가 에너지가 0되면 죽기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 소스코드: https://github.com/easyprogstudy/unreal_damage 이번엔 단계별로 올리지 않고 최종 버전만 올려 놓았습니다. 언리얼 엔진 강의 64번째, 총쏘고 데미지 입기 시리즈의 5번째 시간입니다. 적군이 총알에 맞을 때마다 데미지를 입게 되고, 데미지를 입을 때마다 에너지를 조금씩 줄이다가 에너지가 0이 되면 죽는 처리를 해보겠습니다. 총알에 맞아 데미지를 입으면 에너지가 줄어들게 되고, 에너지바의 정보도 업데이트해야 하는데, BP_Enemy 에 에너지바가 붙어 있기는 하지만 BP_Enemy에 Widget이 있고, 그 안에 에너지바 UI가 있는 형태라서 BP_Enemy는 에너지바를 직접 알지 못해요. 그래서 에너지바를 직접 업데..

언리얼엔진 강좌 63 [damage-04]에너지바 만들어 적군에 달아주기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 63번째, 총쏘고 데미지 입기 시리즈의 4번째 시간입니다. Enemy, 적군이 총알을 맞으면 에너지가 줄어들었다는 것을 시각적으로 보여주기 위해 거의 모든 프로그램이 에너지바를 표시해 줍니다. 이번 시간에는 우리도 그 에너지바를 만들어 적군의 머리 위에 달아주겠습니다. BP_Enemy 적군 캐릭터에 Widget 컴포넌트를 추가하고, 유저 인터페이스 - 위젯 블루프린트를 선택해서 실제 UI를 만들어 준 다음 Widget 컴퍼넌트에 실제 UI를 연결해 줍니다. 이번 시간에는 이렇게 에너지바를 만들어 적군 머리 위에 올려주는 것까지 하고 다음 시간에 실제로 총알에 맞으면 에너지가 줄어들다가 죽는 부분의 블루프린트까지 완성하겠습니다. 언리얼 엔진 버전..

언리얼엔진 강좌 62 [damage-03] 총알에 맞으면 데미지 주기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 62번째, 총쏘고 데미지 입기 시리즈의 3번째 시간입니다. 이번 시간에는 총에 맞을 객체, 적군, Enemy를 Character 타입으로 만들어 봅니다. 그리고 그 Enemy를 향해 총을 쏴서 날아가는 총알에 닿게 만들어 줍니다. 총알에 맞았으니 그 Enemy는 죽거나(소멸되거나), 혹은 에너지가 줄어들어들다가 에너지가 0이 되면 죽어야(소멸되어야) 합니다. 그리고 총알도 무언가에 닿으면 DestroyActor(Self) 함수로 소멸되어 사라져야 합니다. 이번 시간에는 총알에 닿으면 죽는 걸 한번 먼저 해본 다음, Unreal Engine의 Damage 매커니즘을 이용해 총알에 닿은 객체(여기서는 Enemy)에 applyDamage 로 dama..

언리얼엔진 강좌 61 [damage-02] 총알 움직이기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 소스코드: github.com/easyprogstudy/unreal_damage 단계별로 올리지 않고 최종 버전만 올려 놓았습니다. 언리얼 엔진 강의 61번째 시간으로 총쏘고 데미지 입기 시리즈의 2번째 시간입니다. 이번 시간에는 총알을 위한 BP_Bullet 블루프린트 클래스에 Projectile Movement (발사체 움직임) 컴포넌트를 추가해 총알을 움직이도록 만들어 줍니다. 총알 객체에 Projectile Movement를 추가해 주면 움직이게 되는데, Initial Speed 값을 10,000 정도의 값을 주면 총알처럼 움직이게 됩니다. 총알이 일직선으로 날아가도록 하기 위해 Projectile Gravity Scale의 값을 0으로 설정해 주었습니다..

언리얼엔진 강좌 60 [damage - 01] 총과 총알 제작하고 마우스 클릭하면 총알 생성하기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 소스코드: github.com/easyprogstudy/unreal_damage 단계별로 올리지 않고 최종 버전만 올려 놓았습니다. 언리얼 엔진 강의 60번째 시간으로 총쏘고 데미지 입기 시리즈의 1번째 시간입니다. 이번 시간에는 아주 간단하게 총을 위한 블루프린트 클래스를 만들고 총알을 위한 블루프린트 클래스를 만듭니다. 그리고 마우스 클릭을 하면 총에 fire 함수를 호출하도록 하고 총에서 총알을 생성합니다. 총알을 생성하는 건 총의 역할이고 총알이 발사되는 건 총알 자체의 역할입니다. 언리얼 엔진 버전: 4.25.0

언리얼엔진 강좌 59 [조명탄 - 02] 조명탄의 빛나는 재질과 빛 만들기

쌩초보를 위한 언리얼 엔진 4 강좌입니다. 언리얼 엔진 강의 59번째 시간으로 댓글로 요청하신 조명탄을 만드는 법을 설명합니다. 소스코드: github.com/easyprogstudy/unreal_flare 총 2개로 나누어 블루프린트로 조명탄을 만드는데, 이번에는 조명탄의 빛나는 재질과 빛을 만들어 봅니다. material instance를 이용해 조명탄이 하늘로 올라가는 동안에는 조금만 빛이 나고 작은 폭발이 일어나서 자유낙하하는 동안에만 강한 빛을 내도록 만들어봅니다. 그리고 조명(Point Light)을 달아 주변이 밝아지도록 합니다. 조명 역시 처음엔 끄고 하늘로 올라가고, 자유낙하하는 동안에만 켜지도록 했습니다. 언리얼 엔진 버전: 4.24.3