목록전체 글 (200)
초보 코린이의 성장 일지
https://www.youtube.com/watch?v=xk9gBtQKJVQ 진행 중인 작업 - Player 스킬 - UI 진행 예정 작업 - Player 스킬 - Player 공중 콤보 - UI 진행 완료 작업 - RopeAction 완료 - Jump, DoubleJump 완료

IK는 어제 코드를 통해 마무리가 되었으며, 이제 ABP에서 처리를 해서 값들을 먹여줘야 한다. 1. 이제 True로 보내줄 링크된 애님 레이어가 하나 필요하다 생성해줄 것이다. 1. 우선은 연결을 해주고, 레이어 안에 작업을 시작해 보겠다. 1. 입력이 들어온 상태에서 IK를 섞어줘야한다. 2. IK를 먹일 왼발 가상의 본으로 시작해서 정해진 기준까지 천천히 계산을 누적해 나간다. 1. 오른발도 동일하게 값을 누적해 나간다. 1. 마지막 허리를 계산해주는데 값이 들어오는것 중에 큰값을 사용했다. 1. 최종 상태. 1. 사용할 애니메이션에 IK값을 적용 시키도록 커브값을 양발에 준 상태이다. 1. 자연스럽게 IK가 적용된 모습을 확인할 수 있다. 2. IK는 이제 끝이났다. 1. AI를 만들어주기 위해 ..

#pragma once #include "CoreMinimal.h" #include "Components/ActorComponent.h" #include "Kismet/KismetSystemLibrary.h" #include "Engine/DataTable.h" #include "CParkourComponent.generated.h" UCLASS() class U2212_06_API UCParkourComponent : public UActorComponent { GENERATED_BODY() private: void CheckTrace_Land(); // 떨어질때 밑에 추적하기 용도 private: bool Check_FallMode(); void DoParkour_Fall(); public: bool..

#pragma once #include "CoreMinimal.h" #include "Components/ActorComponent.h" #include "Kismet/KismetSystemLibrary.h" #include "Engine/DataTable.h" #include "CParkourComponent.generated.h" UENUM(BlueprintType) enum class EParkourArrowType : uint8 { // 추적할 화살표 Type Center = 0, Ceil, Floor, Left, Right, Land, Max, }; UENUM(BlueprintType) enum class EParkourType : uint8 { // 파쿠르 수행할 Type Climb = 0, ..
C++ - 객체 지향 프로그래밍 언어 (멀티패러다임 언어) - 코드를 어셈블리어로 컴파일한다. - 수동으로 관리하기 때문에 속도가 빠르다. - 동적할당으로 만든 변수 및 &를 사용하여 변수 참조이 가능하고 참조 타입으로 분류된다. - 수동적으로 New를 사용하여 동적할당, 사용이 끝나면 Delete로 수동적인 해제를 해줘야한다. - 메모리 관리 수동 처리, 대신 메모리를 직접 관리해야 하므로 메모리 누수 문제가 발생할 수 있다. - 수동적인 특성을 고려하여, 포인터를 사용할 수 있다. - 게임, 서버에 사용이 적합하다. (언리얼) C# - 컴포넌트 지향 프로그래밍 언어 - 코드를 가상 머신(.NET)를 이용해 IL(Intermidiate Language)로 중간언어로 파일생성, CLR (공용 언어 런타임..
인터프리터 - 인터프리터는 자체 실행 기능이 없기 때문에, exe를 만드는 곳만 컴파일러 언어를 사용하고, 대부분 코드를 인터프리터 언어로 결합하는 경우가 많다. - 실행이 시작되면 소스 코드를 한 줄씩 기계어로 번역하는 방식을 사용한다. - 컴파일러는 문제가 발생하면, 소스 코드를 다시 컴파일하고 문제를 하나씩 찾아가며 해결해야하지만, 인터프리터는 소스코드만을 수정해서 실행시키면 끝이나기 때문에 과정이 간편하다 - 메모리를 사용하지 않는다. - 오류 발생시마다 전체를 컴파일해 확인할 필요가 없으므로, 디버깅할때 편하며 효율적이다. - 속도는 컴파일러보다 느린 단점이 있다. - 코드 유출될 확률이 크다. 컴파일러 - 실행파일을 만들어 놓고 계속 사용하기 때문에 한번만 생성해 놓는다면, 런타임 상황일때는 ..

1. 파쿠르를 구현하기에 앞서서 맵을 늘려주고, 기물들을 배치해준다. 1. Actor Component를 상속받아 클래스를 생성해준다. 2. 테이블에 배열을 활용하여 파쿠르 동작을 구현해볼 것인데, BP에서는 불가능하고 C++에서만 가능한 방법이다. #pragma once #include "CoreMinimal.h" #include "Components/ActorComponent.h" #include "Kismet/KismetSystemLibrary.h" #include "Engine/DataTable.h" #include "CParkourComponent.generated.h" UENUM(BlueprintType) enum class EParkourArrowType : uint8 { // 추적할 화살표..

화살을 만들어서 날린 후 충돌처리까지 구현해 볼 것이다. 1. 만들어 놓은 에임 오프셋인 AO_Aim을 최종 애니메이션 전인 블렌딩하고 나서 붙여준다. 2. 그래야만 몽타주까지 포함해서 AO가 진행된다. 1. 이제 조준 후 상하로 이동해도 에임한 자세로 자연스럽게 나오는걸 확인할 수 있다. 1. Actor를 상속받아 화살을 만들기 위해 생성해준다. #pragma once #include "CoreMinimal.h" #include "GameFramework/Actor.h" #include "CArrow.generated.h" DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FProjectileHit, class AActor*, InCauser, class ACharacte..
CPU안에 연산할 수 있는 코어가 하나였었다. 그 코어는 하나의 일을 처리할 수 있지만 한계가 존재했고, 안에 구조가 복잡하기 때문에 발열을 잡기 힘들어서 속도를 높여서 이 문제를 해결하려고 했다. 이 문제를 해결하기 위해 코어들을 하나 둘씩 추가하게 되면서 병렬 프로그램이 나오게 되었다. 병행성 (Concurrency) - 여러개의 프로그램을 하나의 코어가 처리한다. - 한 순간에 한개의 프로그램만 처리된다. - 대상은 프로세스 - 프로세스 동기화라는 문제점이 존재 병렬성 (Parallelism) - 하나의 프로세스를 여러개의 코어들이 함수 단위로 구역(쓰레드)을 나눠서 처리한다. - 한 순간에 두 개 이상의 프로그램이 처리된다. - 대상은 연산 - 프로세서 동기화라는 문제점이 존재 병렬컴퓨터 - 메모..

하드웨어 - 컴퓨터 정보들의 전송 통로를 (전문 용어 Bus) 제공해 주고, 그 정보에 대한 처리가 실제 일어나게 해주는 물리적인 실체들 소프트웨어 - 정보들이 이동하는 방향과 정보 처리의 종류를 지정해주고, 동작들이 일어나는 시간을 지정해주는 명령(Command)들의 집합 시스템 소프트웨어 - OS (Win, Unix, Linux 등) 응용 소프트웨어 - 워드프로세서, 웹, MS-Excel 등 컴퓨터 하드웨어 중앙처리 장치 (Central Processing Unit : CPU) : 코어 프로세서 1. "프로그램 실행"과 "데이터 처리"라는 기능 수행을 담당하는 요소 기억장치 2가지 주기억장치 (Main Memory) : RAM, ROM, DDR SDRAM 등 - CPU 가까이 위치하며, 기억장치 칩들..