no image
챕터 1-1 : 프로그래밍 기초
챕터 1-1 : 프로그래밍 기초1. 목표변수, 배열, 함수 등 프로그래밍 기본 요소를 이해하고 활용할 수 있다.문법 구조와 데이터 처리 방식을 익힌다.입력과 출력을 포함한 간단한 프로그램을 설계하고 구현할 수 있다.2. Visual Studio 설치Visual Studio Community는 무료로 제공되는 IDE로, C++ 관련 개발 환경을 구축하기 위해 설치."C++을 사용한 데스크톱 개발" 패키지를 설치하여 준비 완료.3. 첫 번째 프로그램: Hello, World!#include using namespace std;int main() { cout 4. 변수란?데이터를 저장할 공간.변수의 타입:int: 정수float, double: 소수점이 있는 실수char: 한 글자 문자bool: 논리값 (..
2024.12.23
5일차
TIL: DAY 5 - 블렌더 스페이스와 움직이는 액터오늘 배운 내용 요약블렌드 스페이스 활용캐릭터 애니메이션의 자연스러운 전환을 위해 블렌드 스페이스를 생성.세로 축(Speed)을 기준으로 Idle과 Run 상태를 연결해 애니메이션 전환 구현.블루프린트를 활용한 액터 동작회전 액터: Event Tick을 활용해 일정 속도로 Z축 기준 회전.이동 액터: 시작 위치(StartLocation), 이동 속도(PlatformVelocity), 이동 거리(MoveDistance)를 설정하여 양방향 이동 구현.중요한 학습 포인트블렌드 스페이스 설정:Speed 변수로 캐릭터의 이동 상태에 따라 적절한 애니메이션 출력.Try Get Pawn Owner와 Get Velocity를 사용해 캐릭터 속도 추출 및 적용.블루프..
2024.12.20
TIL
no image
4일차
TIL: [Unreal 1/2기] DAY 4 - 플레이어 캐릭터와 나만의 레벨 디자인오늘의 학습 내용레벨 디자인 이해레벨 디자인은 게임에서 플레이어 경험의 핵심을 설계하는 과정으로, 시각적 배치와 함께 경로, 도전, 스토리를 통해 게임의 재미와 균형을 조화롭게 만든다.자동차 비유: 프로그래머가 엔진, 아티스트가 외관을 만들면, 레벨 디자이너는 운전 경험을 설계한다는 점이 인상적이었다.프로젝트 셋업 및 에셋 활용‘Fab’ 플랫폼에서 에셋을 다운로드하고 언리얼 프로젝트에 적용.다운로드한 에셋을 활용하여 게임 레벨에 적합한 분위기를 연출하는 방법을 익힘프로젝트 버전을 5.4로 변경해 에셋 호환 문제를 해결.플레이어 캐릭터 설정언리얼 블루프린트 시스템을 통해 플레이어 캐릭터를 설정.기본적인 캐릭터 메시(SKM_..
2024.12.19
TIL
no image
3일차
과제 1) 텍스트 슈팅 게임 버그 고치기1) 총알 발사 버그 2) 총알 재장전 버그   과제 2) 텍스트 슈팅 게임 기능 추가하기1) 총알 피격 기능 2) 체력 회복 기능 과제 3) While Loop를 이용해 구구단 구현하기  과제 4) 열거형을 이용해 가위바위보 구현하기
2024.12.18
TIL
no image
2일차
언리얼 에디터 인터페이스 복습하기뷰포트(Viewport): 레벨과 액터를 시각적으로 확인하고 편집하는 공간.아웃라이너(Outliner): 현재 레벨에 있는 모든 액터를 계층 구조로 보여주는 패널.디테일 패널(Details Panel): 선택된 액터의 속성이나 설정을 수정하는 공간.콘텐츠 브라우저(Content Browser): 에셋(소재, 메시, 텍스처 등)을 관리하고 가져오는 곳 오브젝트 트랜스폼 실습월드 좌표계: 기준축이 고정되어 움직임이 전체 월드 기준으로 적용로컬 좌표계: 개별 오브젝트의 축을 기준으로 변형이 이루어짐.   3. 머티리얼 교체 및 색상 변경하기 머티리얼 에디터를 사용해 다음과 같은 속성을 조정색상(Color): 기본 색상 변경금속성(Metallic): 금속 재질 여부를 설정해 외형..
2024.12.17
TIL
no image
내일배움캠프 언리얼 엔진 1일차
팀원 간 아이스-브레이킹언리얼 2기 14조 소개: RPG, 배틀로얄, 공포 게임 등 다양한 장르를 고루 선호하는 팀. 클라이언트 엔지니어링과 그래픽 관련 직무에 관심을 가진 팀원들이 함께하고 있음. 팀원들 간에 화목하고 서로를 존중하는 분위기가 돋보이는 조.언리얼 엔진 실행 및 환경 둘러보기기본 UI 요소상단 메뉴:언리얼 엔진의 주요 기능과 설정에 접근할 수 있는 메뉴. 프로젝트 파일 관리, 설정 변경, 빌드, 콘텐츠 추가 등의 기능을 제공.월드 아웃라이너(World Outliner):현재 월드(맵)에 배치된 모든 구성요소(Actor) 들의 계층 구조를 보여줌.각 객체를 선택하거나 그룹화하여 효율적으로 관리.디테일 패널(Details Panel): 각 구성요소 상세 설정 값선택한 구성요소의 상세 설정 값..
2024.12.16
TIL

챕터 1-1 : 프로그래밍 기초

언리얼 거토
|2024. 12. 23. 13:08

챕터 1-1 : 프로그래밍 기초


1. 목표

  • 변수, 배열, 함수 등 프로그래밍 기본 요소를 이해하고 활용할 수 있다.
  • 문법 구조와 데이터 처리 방식을 익힌다.
  • 입력과 출력을 포함한 간단한 프로그램을 설계하고 구현할 수 있다.

2. Visual Studio 설치

  • Visual Studio Community는 무료로 제공되는 IDE로, C++ 관련 개발 환경을 구축하기 위해 설치.
  • "C++을 사용한 데스크톱 개발" 패키지를 설치하여 준비 완료.

3. 첫 번째 프로그램: Hello, World!

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;  // 화면에 텍스트 출력
    return 0;  // 프로그램 정상 종료
}

4. 변수란?

  • 데이터를 저장할 공간.
  • 변수의 타입:
    • int: 정수
    • float, double: 소수점이 있는 실수
    • char: 한 글자 문자
    • bool: 논리값 (true/false)
    • string: 문자열
    • unsigned: 양수만 저장

코드 예제: 계산기 프로그램

#include <iostream>
using namespace std;

int main() {
    int num1, num2;
    cout << "첫 번째 숫자를 입력하세요: ";
    cin >> num1;
    cout << "두 번째 숫자를 입력하세요: ";
    cin >> num2;

    int sum = num1 + num2;
    cout << "두 숫자의 합: " << sum << endl;

    return 0;
}

5. 배열이란?

  • 여러 데이터를 하나의 변수로 관리할 수 있는 구조.
  • 예제: 학생 5명의 점수를 입력받아 총점과 평균 계산.
#include <iostream>
using namespace std;

int main() {
    int scores[5];
    int total = 0;

    cout << "학생 점수를 입력하세요 (5명): " << endl;
    for (int i = 0; i < 5; i++) {
        cout << i + 1 << "번째 학생 점수: ";
        cin >> scores[i];
        total += scores[i];
    }

    double average = total / 5.0;
    cout << "총점: " << total << ", 평균: " << average << endl;

    return 0;
}

6. 함수란?

  • 반복되는 작업을 효율적으로 처리하기 위해 코드 블록을 정의하고 재사용.
  • 원의 넓이 계산 함수.
#include <iostream>
#include <cmath>  // M_PI 상수 사용
using namespace std;

double calculateArea(double radius) {
    return M_PI * radius * radius;
}

int main() {
    double radius;
    cout << "원의 반지름을 입력하세요: ";
    cin >> radius;

    double area = calculateArea(radius);
    cout << "원의 넓이: " << area << endl;

    return 0;
}

7. 조건문

  • 조건에 따라 프로그램의 흐름을 제어.

코드 예제: 숫자의 홀짝 판별

#include <iostream>
using namespace std;

int main() {
    int num;
    cout << "숫자를 입력하세요: ";
    cin >> num;

    if (num % 2 == 0) {
        cout << num << "은(는) 짝수입니다." << endl;
    } else {
        cout << num << "은(는) 홀수입니다." << endl;
    }

    return 0;
}
 

8. 반복문 (for & while)

  • for문과 while문을 사용하여 반복 작업 수행.

코드 예제: 1부터 10까지 합 계산 (for문 사용)

#include <iostream>
using namespace std;

int main() {
    int sum = 0;
    for (int i = 1; i <= 10; i++) {
        sum += i;
    }
    cout << "1부터 10까지의 합: " << sum << endl;

    return 0;
}

 


오늘의 요약

  • 프로그래밍 기초는 변수, 배열, 함수, 조건문 등으로 구성됨.
  • 간단한 프로그램부터 시작하여 점차적으로 복잡한 기능을 구현할 수 있음.
  • Visual Studio를 활용해 실제 코드를 작성하고 실행하면서 실습 능력을 향상시킬 수 있음.

느낀 점:
처음엔 조금 복잡해 보였지만, 한 단계씩 따라가다 보니 프로그래밍의 기본 개념을 이해할 수 있었다. 앞으로 더 많은 실습을 통해 익숙해질 필요성을 느꼈다. 🎯

'TIL > C++' 카테고리의 다른 글

챕터 2-2 : 템플릿  (1) 2024.12.31
챕터 2-1 : 자원 관리하기  (0) 2024.12.30
C++ 추가 자료  (1) 2024.12.27
챕터 1-3 : 객체지향 프로그래밍  (1) 2024.12.26
챕터 1-2 : Class 개념  (0) 2024.12.24

5일차

언리얼 거토
|2024. 12. 20. 20:37

TIL: DAY 5 - 블렌더 스페이스와 움직이는 액터

오늘 배운 내용 요약

  1. 블렌드 스페이스 활용
    • 캐릭터 애니메이션의 자연스러운 전환을 위해 블렌드 스페이스를 생성.
    • 세로 축(Speed)을 기준으로 Idle과 Run 상태를 연결해 애니메이션 전환 구현.
  2. 블루프린트를 활용한 액터 동작
    • 회전 액터: Event Tick을 활용해 일정 속도로 Z축 기준 회전.
    • 이동 액터: 시작 위치(StartLocation), 이동 속도(PlatformVelocity), 이동 거리(MoveDistance)를 설정하여 양방향 이동 구현.

중요한 학습 포인트

  • 블렌드 스페이스 설정:
    • Speed 변수로 캐릭터의 이동 상태에 따라 적절한 애니메이션 출력.
    • Try Get Pawn Owner와 Get Velocity를 사용해 캐릭터 속도 추출 및 적용.
  • 블루프린트 논리:
    • Event Tick의 Delta Seconds를 활용해 실시간 위치 및 회전 업데이트.
    • 논리 조건(Greater Equal, Negate Vector)으로 이동 방향 반전.

느낀 점

  • 블렌드 스페이스로 애니메이션을 직관적으로 연결할 수 있어 간단하면서도 강력한 기능임을 실감.
  • 블루프린트를 통해 복잡한 수학적 계산 없이 동적인 액터 구현 가능하다는 점이 흥미로웠다.
  • 반복적인 디버깅 과정에서 블루프린트의 시각적 피드백이 작업에 큰 도움이 됐다.

다음에 도전하고 싶은 것

  • 현재 구현한 블렌드 스페이스에 다양한 애니메이션 추가.
  • 이동과 회전을 동시에 수행하는 복합 액터 제작.
  • Trigger Volume을 활용한 상호작용 이벤트 심화 학습.

 

발표 keyword: Set Timer by Event, Global Time Dilation, 

'TIL' 카테고리의 다른 글

최종 프로젝트 사전 설문 조사  (0) 2025.04.28
4일차  (1) 2024.12.19
3일차  (1) 2024.12.18
2일차  (0) 2024.12.17
내일배움캠프 언리얼 엔진 1일차  (2) 2024.12.16

4일차

언리얼 거토
|2024. 12. 19. 23:31

TIL: [Unreal 1/2기] DAY 4 - 플레이어 캐릭터와 나만의 레벨 디자인

오늘의 학습 내용

  1. 레벨 디자인 이해
    • 레벨 디자인은 게임에서 플레이어 경험의 핵심을 설계하는 과정으로, 시각적 배치와 함께 경로, 도전, 스토리를 통해 게임의 재미와 균형을 조화롭게 만든다.
    • 자동차 비유: 프로그래머가 엔진, 아티스트가 외관을 만들면, 레벨 디자이너는 운전 경험을 설계한다는 점이 인상적이었다.
  2. 프로젝트 셋업 및 에셋 활용
    • ‘Fab’ 플랫폼에서 에셋을 다운로드하고 언리얼 프로젝트에 적용.
    • 다운로드한 에셋을 활용하여 게임 레벨에 적합한 분위기를 연출하는 방법을 익힘
    • 프로젝트 버전을 5.4로 변경해 에셋 호환 문제를 해결.
  3. 플레이어 캐릭터 설정
    • 언리얼 블루프린트 시스템을 통해 플레이어 캐릭터를 설정.
    • 기본적인 캐릭터 메시(SKM_Bot)를 적용하고, 위치와 회전을 조정해 캐릭터가 자연스럽게 보이도록 설정
    • 향상된 입력 시스템으로 조작감을 개선.

Actor Blueprint 생성

  • Spring Arm, Camera
  • 빙의
  • 아래 체크/체크 해제

Spring Arm
Character Detail

 

Input Action, Input Mapping Context 생성

 

Input Action

  • Look, Move 는 Axis2D(Vector2D)
  • Jump는 Digital(bool)

 

 

Input Mapping Context

 

Event Graph

 

 

+ 캐릭터 무브먼트 -> 무브먼트 방향으로 회전 조정 체크

 

 

 

느낀 점 및 배운 점

  • 직관적인 UI의 중요성: 언리얼의 블루프린트 시스템은 코드 없이도 다양한 기능을 구현할 수 있어 접근성이 뛰어났습니다.
  • 레벨 디자인의 깊이: 단순히 시각적 요소뿐만 아니라, 플레이어 경험을 설계하는 과정이 게임 개발에서 얼마나 중요한지 느꼈습니다.
  • 버전 관리의 필요성: 에셋 호환 문제를 해결하며 소프트웨어 버전 관리의 중요성을 다시 한번 체감했습니다.

'TIL' 카테고리의 다른 글

최종 프로젝트 사전 설문 조사  (0) 2025.04.28
5일차  (2) 2024.12.20
3일차  (1) 2024.12.18
2일차  (0) 2024.12.17
내일배움캠프 언리얼 엔진 1일차  (2) 2024.12.16

3일차

언리얼 거토
|2024. 12. 18. 16:09

과제 1) 텍스트 슈팅 게임 버그 고치기

1) 총알 발사 버그

 

2) 총알 재장전 버그

 

 

과제 2) 텍스트 슈팅 게임 기능 추가하기

1) 총알 피격 기능

 

2) 체력 회복 기능

 

과제 3) While Loop를 이용해 구구단 구현하기

 

 

과제 4) 열거형을 이용해 가위바위보 구현하기

'TIL' 카테고리의 다른 글

최종 프로젝트 사전 설문 조사  (0) 2025.04.28
5일차  (2) 2024.12.20
4일차  (1) 2024.12.19
2일차  (0) 2024.12.17
내일배움캠프 언리얼 엔진 1일차  (2) 2024.12.16

2일차

언리얼 거토
|2024. 12. 17. 15:24

  1. 언리얼 에디터 인터페이스 복습하기
    • 뷰포트(Viewport): 레벨과 액터를 시각적으로 확인하고 편집하는 공간.
    • 아웃라이너(Outliner): 현재 레벨에 있는 모든 액터를 계층 구조로 보여주는 패널.
    • 디테일 패널(Details Panel): 선택된 액터의 속성이나 설정을 수정하는 공간.
    • 콘텐츠 브라우저(Content Browser): 에셋(소재, 메시, 텍스처 등)을 관리하고 가져오는 곳 <- Ctrl + SPACE
  2. 오브젝트 트랜스폼 실습

  • 월드 좌표계: 기준축이 고정되어 움직임이 전체 월드 기준으로 적용

  • 로컬 좌표계: 개별 오브젝트의 축을 기준으로 변형이 이루어짐.

 

 

 

3. 머티리얼 교체 및 색상 변경하기

 

머티리얼 에디터를 사용해 다음과 같은 속성을 조정

  • 색상(Color): 기본 색상 변경
  • 금속성(Metallic): 금속 재질 여부를 설정해 외형의 반짝임을 조절.
  • Metallic: 1
  • 거칠기(Roughness): 표면의 거칠기 정도를 조정해 반사되는 빛의 느낌을 변화시킴.

 

Roughness: 0.4

 

 

 

 

4. 간단한 월드 꾸미기

 

간단한 구조물을 주어진 기본 asset들을 활용하여 제작해보았다.

구조물 외부
구조물 내부

 

크지 않은 구조물임에도 불구하고 생각보다 많은 시간과 정성이 필요한 작업이었다. **"어느 정도의 노가다가 필요하구나"**라는 생각이 들었고, 액터를 배치할 때 시간 소모를 줄일 수 있는 단축키나 유용한 기능들을 찾아 익히고 체화해야겠다는 필요성을 느꼈다.

 

또한, 직접 캐릭터를 조종해 돌아다니는 과정에서 건물 내부에 진입했지만 2층 발코니로 나가지 못하는 문제가 발생했다. 이는 에셋을 배치하는 과정 생긴 문제로 보인다. 이러한 이유로 플레이어에게 보이지 않는 벽이 생길 수 있다는 점을 깨닫게 되었다.

'TIL' 카테고리의 다른 글

최종 프로젝트 사전 설문 조사  (0) 2025.04.28
5일차  (2) 2024.12.20
4일차  (1) 2024.12.19
3일차  (1) 2024.12.18
내일배움캠프 언리얼 엔진 1일차  (2) 2024.12.16

내일배움캠프 언리얼 엔진 1일차

언리얼 거토
|2024. 12. 16. 15:02
  1. 팀원 간 아이스-브레이킹
    • 언리얼 2기 14조 소개: RPG, 배틀로얄, 공포 게임 등 다양한 장르를 고루 선호하는 팀. 클라이언트 엔지니어링과 그래픽 관련 직무에 관심을 가진 팀원들이 함께하고 있음. 팀원들 간에 화목하고 서로를 존중하는 분위기가 돋보이는 조.
  2. 언리얼 엔진 실행 및 환경 둘러보기
    • 언리얼5.5 에디터
    • 기본 UI 요소
      • 상단 메뉴:
        • 언리얼 엔진의 주요 기능과 설정에 접근할 수 있는 메뉴. 프로젝트 파일 관리, 설정 변경, 빌드, 콘텐츠 추가 등의 기능을 제공.
      • 월드 아웃라이너(World Outliner):
        • 현재 월드(맵)에 배치된 모든 구성요소(Actor) 들의 계층 구조를 보여줌.
        • 각 객체를 선택하거나 그룹화하여 효율적으로 관리.
      • 디테일 패널(Details Panel): 각 구성요소 상세 설정 값
        • 선택한 구성요소의 상세 설정 값을 확인하고 수정할 수 있는 패널.
        • 위치, 회전, 크기, 머티리얼, 동작 등 다양한 속성을 조정.
     
  3. 공식 문서 및 커뮤니티 자료 찾아보기 
    • 언리얼 엔진 공식 문서.
      • 언리얼 엔진 공식 홈페이지에서 제공하는 가이드와 레퍼런스 문서.
      • 엔진 설치부터 프로젝트 설정, 블루프린트, C++ 스크립팅, 렌더링, AI 등 다양한 주제를 다룸.
    • 언리얼 엔진 커뮤니티(UDN)
      • 전 세계 개발자들과 교류할 수 있는 공간.
      • 질문 게시판, 팁 공유, 플러그인 및 에셋에 대한 정보를 얻을 수 있음.
     
  4. 공식 유튜브 채널 살펴보기
    • 언리얼 엔진 유튜브 채널
      • 언리얼 엔진의 공식 튜토리얼과 데모 영상을 제공하는 채널.
      • 주요 콘텐츠:
        • 초보자를 위한 기초 튜토리얼 (Blueprint, C++ 기초, UI 설정 등)
        • 고급 사용자를 위한 심화 강좌 (렌더링, 애니메이션, 최적화)
        • 다양한 샘플 프로젝트 소개와 데모

'TIL' 카테고리의 다른 글

최종 프로젝트 사전 설문 조사  (0) 2025.04.28
5일차  (2) 2024.12.20
4일차  (1) 2024.12.19
3일차  (1) 2024.12.18
2일차  (0) 2024.12.17