분류 전체보기639 언리얼엔진5 51장 [Visual Studio 설치 및 설정] ▣ 설치 시 설치 세부 정보에서 Unreal Engine 설치관리자 체크 https://docs.unrealengine.com/5.1/ko/setting-up-visual-studio-development-environment-for-cplusplus-projects-in-unreal-engine/ Visual Studio 구성하기 언리얼 엔진에서 Visual Studio 사용을 위해 구성하기 위한 팁, 트릭, 기술을 소개합니다. docs.unrealengine.com ▣ 위에 API에서 나온 것처럼 설치, 언리얼엔진 설치 위치가 다 영어로 되어 있는지 확인 ▣ 설치완료 후 에디터에서 Ediltor Preferences에서 Source Code 설정 Visual Studio 구성하기 언리얼 엔진에서 Vi.. 2023. 6. 9. 언리얼엔진5 50장 [Level Open, Get Level] ▣ Open Level : Level Name에 레벨 열기 ▣ Delay : Duration 초만큼 딜레이 ▣ Get Current Level Name : 현재 있는 레벨 이름을 반환 2023. 6. 9. 언리얼엔진5 49장 [Self, Target] ▣ 블루프린트로 생성 시 BP_ 이름을 붙여서 생성 ▣ Self : 자기 자신에 대한 인스턴스 레퍼런스(주소)를 의미 ▣ Get Display Name : 인스턴스에 이름을 가져오고 반환한다. ▣ SpawnActor BP_Cube : 어떤 Class 객체를 생성할지, Location 위치를 어디로 할지 지정 ▣ Return Value : 생성된 오브젝트 주소 반환 ▣ Target 입력핀에는 객체를 연결 ▣ 시작버튼을 클릭하고 스페이스키를 누르면 큐브가 생성되면서 생성된 큐브 오브젝트 이름 출력 2023. 6. 9. 언리얼엔진5 48장 [Pure Function] ▣ 함수를 생성한 상태하고 클릭한상태에서 디테일에 Pure를 활성화를 하게 되면 Pure Function 된다. ▣ Pure Function는 실행핀이 없다. ▣ Pure Function 함수에서 inputs, output을 추가하게 되면 Get변수와 동일한 노드가 된다. 2023. 6. 8. 언리얼엔진5 47장 [Collapse to Function] ▣ 블루프린트에서 여러 블록을 클릭한 다음에 오른쪽 마우스를 누르면 Collapse to Function라는 메뉴가 있습니다. ▣ 클릭하면 이렇게 여러블록이 하나의 함수로 묶이게 된다. ▣ 만든 함수를 더블 클릭하면 이렇게 함수에 내부를 편집할 수 있습니다. 2023. 6. 8. 언리얼엔진5 46장 [Collision] ▣ 씬메뉴에서 Wireframe, Collision 등 여러 모드로 화면을 설정해서 볼 수 있다. ▣ Mesh에 들어가서 보면 Collision을 설정하는 메뉴가 있고 여러 형태로 자동으로 지정해 줄 수 있다. 2023. 6. 7. 언리얼엔진5 45장 [Actor에 자식추가] ▣ 언리얼 마켓플레이스에서 Pack6을 다운로드합니다. 매달 무료로 제공하는 에셋 체크 ▣ 다운로드하고 프로젝트에 import 합니다. 그리고 프로젝트에 Content에 Meshes 폴더를 찾습니다. ▣ SM_Rack01를 레벨에 드래그하여 불러온 후 SM_Rack02를 레벨에 있는 SM_Rack01 컴포넌트에 StaticMesh에 드래그합니다. 그럼 SM_Rack02가 SM_Rack01 엑터에 자식으로 추가된다. ▣ 그리고 SM_Rock01 엑터에서 Physic를 활성화하여 하늘에서 떨어뜨리게 되면 SM_Rock01과 SM_Rock02가 같이 붙어서 떨어지게 된다. 2023. 6. 6. 언리얼엔진5 44장 [Geometry brush] ▣ Place Actor Panel버튼 == Window에서 Place Actors 버튼을 누를 때와 동일 ▣ Geometry를 클릭해서 Geometry brush 도형 생성 https://docs.unrealengine.com/4.27/ko/Basics/Actors/Brushes/ 지오메트리 브러시 액터 언리얼 에디터에서 브러시를 사용하여 레벨 지오메트리를 만드는 방법 안내서입니다. docs.unrealengine.com ▣ 브러시를 세팅할 때에는 브러시세팅에서 x, y, z 값으로 변경 ▣ 복제할 Box Bruch를 클릭하고 CTRL + D 버튼을 클릭하면 복제가 된다. 복제한 Box에 X, Y, Z 값을 수정하고 Brush Type에서 Subtractive를 설정하면 해당 모양으로 빼기 효과 ▣ 묶.. 2023. 6. 2. 언리얼엔진5 43장 [Get Control Rotation, Get Forward Vector] ▣ Get Control Rotation : Target에 회전값을 반환하는 블록 ▣ 스페이스키를 누르면 BP_Shere가 플레이어가 바라보는 방향 회전하게 하기 위함 https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Pawn/GetControlRotation/ Get Control Rotation Get Control Rotation docs.unrealengine.com ▣ Get Forward Vector : Target에 정면 방향을 반환해 주는 블록 ▣ 방향으로 이동하기 위해 곱하기 진행, Add Impulse에 넣으면 그 해당 정면 방향으로 힘을 가한다. https://docs.unrealengine.com/4.26/en-US/BlueprintAP.. 2023. 5. 26. 언리얼엔진5 42장 [Get Player Pawn] ▣ 플레이버튼을 클릭하고 F8키를 클릭하면 일시정지가 됩니다. 이 상태에서 왼쪽마우스 버튼을 클릭하고 이동하면 Pawn이라는 오브젝트가 생성되어 있는 걸 확인할 수 있습니다. 이건 기본 플레이어를 의미합니다. ▣ 블루프린트에서 Get Player Pawn블록이 있는 이건 Player Pawn에 레퍼런스를 의미하고 Player Index는 몇 번째 플레이어인지를 나타냅니다. 멀티플레이 게임이 아닌 이상 싱글플레이 같은 경우 Player 0입니다. Player Index 또한 설정할 수 있습니다. ▣ Get Actor Location : 엑터의 위치값을 가져오는 블록입니다. ▣ Get 블록을 통해서 우리가 원하는 플레이어 Pawn에 데이터를 가져올 수 있습니다. 2023. 5. 24. 언리얼엔진5 41장 [SpawnActor] ▣ SpawnActor : 원하는 Actor(오브젝트)를 조절하기 위한 블록 Class에 아까 생성했던 BP 블루프린트 지정하고, Transform Location 위치 수정 컴파일 저장 후 ▣ 플레이버튼 클릭 후에 스페이스키를 누르면 우리가 설정한 Location에 블루프린트 생성 ▣ Add Impulse 노드 추가하여 연결 컴파일 저장 후 ▣ SpawnActor에 Return값을 Static Mesh Componet Value에 Target을 연결 그럼 생성한 BP(블루프린트)에 대한 값 반환하여 적용 ▣ 플레이버튼 클릭 후 스페이스키를 누르면 위로 올라가면서 생성 2023. 5. 24. 언리얼엔진5 40장 [class, Blueprint, Materials] ▣ Shapes에서 기본 모양 제작가능 ▣ 생성한 Shapes를 선택하고 디테일 메뉴에서 블루프린트 모양 선택 -> New Subclass를 선택하고 생성 ▣ 블루프린트 클래스이름 앞에는 BP_를 붙여준다. 블루프린트 구분하기 위함 ▣ Static Mesh Component를 선택하고 디테일 탭에서 Materials 클릭하여 색이나 외부 모양 질감 변경가능 ▣ 블루프린트에서 Physics도 변경가능 2023. 5. 24. 언리얼엔진5 39장 [Impulse, Add Force] ▣ Create a Reference Cube가 나오기 위해서는 꼭 해당 엑터를 선택하고 오른쪽 마우스를 클릭해야 한다. ▣ Space Bar 이벤트 : 스페이스에 대한 이벤트 ▣ Pressed 키를 누르면 호출, Released 키를 누르면 떼면 호출 ▣ Add Impulse : 순간적인 힘으로 밀어낸다, 순간적으로 힘을 주기 때문에 계속 힘을 주더라도 힘을 축척하지 않는다. https://docs.unrealengine.com/4.26/en-US/BlueprintAPI/Pawn/Components/CharacterMovement/AddImpulse/ Add Impulse Add Impulse docs.unrealengine.com ▣ 좌표를 확인해서 어디로 올라갈지 지정 ▣ 플레이버튼을 클릭 후 스페.. 2023. 5. 22. 언리얼엔진5 38장 [Create a Reference] ▣ 오브젝트 : 데이터 및 기능들의 집합 ▣ 엑터 : 레벨에 있는 오브젝트를 의미 ▣ 큐브를 클릭하고 레벨블루프린트에서 오른쪽마우스를 클릭하면 클릭한 엑터에 레퍼런스 주소를 접근하여 생성 Create Reference to Cube가 목록에 나오게 된다. ▣ Reference : 주소(참조)를 의미 ▣ 파랑색원 : 데이터핀 ▣ Get Static mesh Component : Target에 있는 컴포넌트에 있는 값을 불러온다. ▣ Get Mass : 무게에 값을 받아온다. ▣ Print String : string에 값을 출력 ▣ 블루프린트 완성 시 컴파일버튼 클릭 후 저장을 한다. ▣ 플레이버튼을 클릭하면 Mass 값 출력 2023. 5. 19. 언리얼엔진5 37장 [물리, Physics, Gravity] https://docs.unrealengine.com/5.0/ko/physics-in-unreal-engine/ 피직스 콜리전을 계산하고 물리 액터를 시뮬레이션하는 서브시스템입니다. docs.unrealengine.com ▣ 수정할 엑터를 클릭 후 Details메뉴 -> Search메뉴에서 Physics 키워드를 선택하면 Physics에 대한 디테일 메뉴로 이동 ▣ Simulate Physics : 체크 시 물리 효과 적용 ▣ Enable Gravity : 체크 시 중력에 효과 적용 ▣ Mass(kg) : 체크 시 kg단위로 무게 적용 ▣ Enable Gravity : 해제 시 중력에 효과 비활성화 ▣ 플레이버튼을 클릭하면 큐브는 Enable Gravity가 체크가 되어 있기 때문에 충돌 후 땅에 떨어지.. 2023. 5. 19. 언리얼엔진5 36장 [뷰포트, 퀄리티설정] ▣ 오른쪽마우스 클릭 후 w키, s키, d키, a키를 누르면 뷰 시점을 자유롭게 조절하고 이동할 수 있습니다. ▣ 왼쪽마우스 클릭 후 w키, s키, d키, a키를 눌러 뷰 시점을 조절할 수 있지만 오른쪽마우스 클릭할 때와 다르게 위아래로 시점을 바꿀 수 없고 왼쪽마우스를 클릭한 상태에서 앞뒤 드래그를 하면 앞 뒤로 이동합니다. ▣ 오른쪽마우스나 왼쪽마우스를 클릭한 상태에서 q키나 e키를 누르면 위 아래로 이동합니다. ▣ Settings에서 Engine Scalablility Settings에 들어가면 언리얼엔진 뷰에 대한 퀄리티를 설정할 수 있습니다. 본인 컴퓨터 CPU, GPU 사양에 따라 설정해주시면 됩니다. 2023. 5. 17. C++ 29 [스마트 포인터] https://learn.microsoft.com/ko-kr/cpp/cpp/smart-pointers-modern-cpp?view=msvc-170 스마트 포인터(최신 C++) 자세한 정보: 스마트 포인터(최신 C++) learn.microsoft.com ▣ 스마트포인터 : C++11 버전 이후부터 새로운 스마트포인터 제공 ▣ 스마트포인터 : 메모리 할당 시 따로 delete를 사용하지 않아도 메모리 자동해제 ▣ 스마트포인터 종류 ▣ unique_ptr : 하나의 객체에 하나의 포인터만 소유권을 가질 수 있는 스마트포인터 ▣ shared_ptr : 하나의 객체가 참조하는 스마트 포인터가 총 몇 개인지를 참조하는 스마트포인터 ▣ weak_ptr : shared_ptr 객체에 대한 접근은 가능하지만 메모리 소.. 2023. 5. 16. C++ 28 [예외처리] https://learn.microsoft.com/ko-kr/cpp/cpp/exception-handling-in-visual-cpp?view=msvc-170 MSVC의 예외 처리 C++ 언어 참조 예외 처리 개요입니다. learn.microsoft.com ▣ 예외처리 : 예외 발생 시 대처하는 코드 ▣ try : 예외를 감지하고, main() 함수 전체를 포함할 수 있다. ▣ throw : 예외가 발행했을 때 예외 발생을 알리고 던지는 코드 ▣ catch : 예외를 받아 처리하는 블록 코드 ▣ catch (const char *s) : 문자열을 받아서 처리 가능 ▣ throw : 던지는 예외 값의 타입과 일치하는 catch() 블록 실행 ▣ try {} 블록에는 반드시 1개 이상의 catch() 블록이.. 2023. 5. 12. 유니티 - [2D 오브젝트 따라다니는 AI] ▣ 2D 스프라이트를 생성해 주세요. Square로 Player이름으로 , Circle를 Zombie로 생성합니다. ▣ Zombie 오브젝트에 ZombieManager라는 스크립트를 생성하고 코드처럼 작성합니다. ▣ Vector2.MoveTowards(자신에 위치, 타깃위치, 이동스피드 * 경과시간); ▣ 저장하고 시작버튼을 클릭하면 Zombie 오브젝트가 Player오브젝트 방향으로 이동합니다. https://assetstore.unity.com/top-assets/top-new?aid=1101lvILc 2023. 5. 9. C++ 27 [파일입출력] ▣ 파일입출력 : ifstream : 파일입력(파일 읽기), ofstream : 파일출력(파일 쓰기), fstream : 입출력(파일 읽기, 쓰기) ▣ ofstream f("C:\\C++\\test.txt", ios::out); : ofstream 변수이름("파일경로 및 파일이름", 모드); ▣ ofstream f("C:\\C++\\test.txt"); : 매개변수에 모드를 넣지 않아도 ofstream이기 때문에 out으로 처리 ▣ f 2023. 5. 9. C++ 26 [포맷플래그 입출력] ▣ 형식상태는 비트 형태로 표현되는 형식 플래그 값에 의해 그 의미가 지정 ▣ long setf(long n) : 형식 플래그를 인수로 받아서 이 플래그 값에 해당하는 비트의 필드를 세팅하는 함수 ▣ long unsetf(n) : setf() 함수와 반대의 기능을 수행하는 함수, 해당 비트를 끝내는 함수 ▣ long flags() : 현재 플래그의 상태를 반환하는 함수 ▣ long flags(long n) : 플래그를 인수 n의 비트 패턴으로 세팅시키고 변경되기 이전의 플래그 값으로 반환 ▣ ios::skipws : 입력 시 공백문자 무시한다. ▣ ios::left : 폭 안에 출력을 왼쪽 정렬 ▣ iost::right : 폭 안에 출력을 오른쪽 정렬 ▣ ios::scientific : 과학산술용 표기로.. 2023. 5. 3. 이전 1 ··· 15 16 17 18 19 20 21 ··· 31 다음