Programming

Programming/C++ & Unreal

언리얼 기초 용어

Class -유니티의 프리팹 처럼 쓸 수 있는 액터 클래스와, 컴포넌트로 사용 할 수 있는 컴포넌트 클래스등등이 있다. Object -구성 요소라고 할 수 있는데, 여러가지 기능들을 가지고 있는 그냥 말그대로 오브젝트! 중요하지 않다.ㄴ 클래스엔 기본적인 내용들이 담겨있음. Actor -화면에 등장하는 오브젝트로, 유니티의 GameObject라고 생각하면 될듯.ㄴ 클래스엔 위치정보나 렌더링 이벤드 등이 담겨있음. Pawn - ★체스 말의 폰 처럼, 생각하며 움직이는 액터. 나의 캐릭터, 아군 캐릭터, 적군 캐릭터등이 있으며, 빙의(Possess)하여 제어한다.ㄴ 물리적인 동작들. Brush -모델링하기 귀찮을때 쓰거나, 쉽게 모양을 만들어 트리거로 사용할때 쓰는 듯? 정확힌 잘 모르것다. Level -유..

Programming/C++ & Unreal

언리얼 디버그 로그 출력 c++

GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("Debug %f"), 123.0f)); // Debug 123.0 출력 GEngine->AddOnScreenDebugMessage(-1, 3.0f, FColor::Blue, TEXT(" Screen")); // 화면출력 UE_LOG(LogClass, Log, TEXT("Output")); // Debug 출력 참조: https://wiki.unrealengine.com/Logs,_Printing_Messages_To_Yourself_During_Runtime --- 더 편리한 방법을 아래 링크에 추가하였으니 사용바람.https://developstudy.tistory...

Programming/C++ & Unreal

언리얼 클래스 기초

유니티에서는 한 오브젝트에서 여러 컴포넌트와 소스들을 합쳐서 하나의 오브젝트를 구성할 수 있지만,언리얼에선, 하나의 오브젝트는 하나의 클래스를 가진다. (컴포넌트는 유니티와 동일하게 합칠 수 있다.) 그러므로, 오브젝트에서 다른 클래스를 가지려면 OverRide 하는 등의 방법을 써야할 것 같다.소스를 컴포넌트처럼 마구마구 조립하는 방법도 힘들 것 같다. * 언리얼은 하나의 클래스를 가지며, Override 하는등의 방법으로 다른 클래스를 사용해야한다.

Programming/C++ & Unreal

변수 언리얼 디테일창에 노출 시키기

UPROPERTY(EditAnywhere) int32 TotalDamage; // 기본형 -> 함수의 이름으로 카테고리가 생김 UPROPERTY(EditAnywhere, Category="Damage") int32 TotalDamage; // Damage라는 이름으로 카테고리가 생김 UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="Damage") int32 TotalDamage; // 블루프린터 전용자세한건 아래 링크를 참조.http://api.unrealengine.com/KOR/Programming/UnrealArchitecture/Reference/Properties/http://api.unrealengine.com/KOR/Programming/Tut..

Programming/Java

자바 기초

Java는 기본적으로 C++과 같은 컴파일 -> exe파일생성 과 같은 언어가 아닌, 클래스 파일(C++의 Obj와 비슷)을 생성한다.그래서 Java로 만든 프로그램은 윈도우, 맥, 리눅스 등 어디든 자바 가상 머신이 설치되어 있다면 실행시킬 수 있음! Super는 부모의 클래스.This는 자신 클래스의 참조값. 오버로딩 Overloading 오버라이딩 Overriding의 차이. 오버로드는 다형성, 같은 함수의 인자만 다른 함수들을 만들때 오버로딩한다고 함.오버라이드는 부모의 함수를 덮어씌워, 나만의 클래스를 만들때 오버라이드(덮어쓰기)한다고 함. 자바의 클래스와 상속 기초 예제 Bicycle.java public class Bicycle { int id; String brand; public Bicy..

Programming/C++ & Unreal

C++ 함수 포인터 추가

typedef void (*SYS_FUNC)(int); -> 리턴타입이 void이고 매개변수 타입이 (int)인 함수를 담을수있는 SYS_FUNC EX) void Test(int a); SYS_FUNC pfn = &Test; (*Test)(); typedef void (CPoint::*FP)(void); 이런식으로 클래스의 멤버함수도 접근가능 typedef void (CPoint::*FP)(void) const; FP func = &CPoint::Print; (pt.*func)(); 이런식으로..

Programming/C++ & Unreal

C++ 쓰레드

#include #include using namespace std; void Loop() { printf("1"); } void Loop2() { printf("2"); } int main() { thread l1(&Loop); thread l2(&Loop2); l1.join(); l2.join(); return 0; } 이렇게하면 Lpp2 -> Loop2가 호출됨.예전의 CreateThread 보다 엄청 쉬워진듯. !!

Programming/C++ & Unreal

함수 포인터 예제

void sayYeah(void) { printf("Yeah"); } void sayHo(void) { printf("Ho!!"); } int main() { void (*test)(void); test = sayHo; test(); test = sayYeah; test(); return 0; } // 함수들을 맵 같은곳에 넣어서 간단하게 사용하는 방법도 재미있을듯. 실제로 저 글을 작성한 후 기말고사 API 게임 때, JSP처럼 Map에다 함수를 넣어서 사용하는 미친 짓을 했었다..

Programming/C++ & Unreal

C++ 클래스에서 구조체 초기화

만약 Block이라는 클래스와, point라는 구조체가 둘다 초기화를 필요로 하고 있다면, MyPoint point; MyBlock(const float x, const float y, /* TODO LIST */) : point(x,y){ // TODO LIST } 이런식으로 초기화 해주면 된다.이렇게 구조체를 초기화 하지 않고, 생성자를 구현하면 에러가 나게 된다.

Programming/C++ & Unreal

C++ 참조형 변수 Reference

Reference(참조) 형 변수.포인터와 비슷하면서 다르다.똑같은 변수를 이름만 복제해서 사용 한다고 생각하면 편하다. void ReferTest(int& test){ test = 1; } main(){ int a; ReferTest(a); } // Main : a = 1

장형이
'Programming' 카테고리의 글 목록 (7 Page)