본문 바로가기

전체 글339

11. Compute Shader 구현 Compute Shader 구현 - Compute Shader도 기존에 dx12 강의에서 봤던 내용들을 참고했다. - Shader 클래스에서 CreateComputeShader 멤버함수를 구현해서 사용할 수 있게 했으며, PushData로 값을 넘겨주는 부분을 이제 PushGraphicData, PushComputeData로 구분해서 사용할 수 있게 했다. - 겸사겸사 숙제까지 완료 (Compute Shader와 Noise Texture를 이용해서 알록달록하게 그리기) 내일 할 일 - 충돌 디테일 (충돌 방향에 따른 처리 등) 2023. 3. 25.
5. UE LOG(문자열, int) UE_LOG란 프로그래머가 코드 실행 중에 언리얼 엔진에서 상태를 로깅하는 방법이다. void AShooterCharacter::BeginPlay() { Super::BeginPlay(); UE_LOG(LogTemp, Warning, TEXT("BeginPlay() called!")); int myInt = 42; UE_LOG(LogTemp, Warning, TEXT("int myInt: %d"), myInt); } - 이런 식으로 활용이 되며, Warning으로 LOG를 입력하자 아래와 같이 노란 색으로 로깅된다. - 포트폴리오 제작할 때에도 디버깅할 수 있는 콘솔 창이 있었으면 좋겠다고 생각했었는데, 콘솔 창을 띄워서 비슷한 기능을 구현해봐야겠다. 2023. 3. 24.
4. Character 만들기 이번 강의에서는 캐릭터 클래스를 만들고, 만든 캐릭터 클래스를 기반으로 Blueprint 클래스를 생성하는 실습을 했음 // Fill out your copyright notice in the Description page of Project Settings. #pragma once #include "CoreMinimal.h" #include "GameFramework/Character.h" #include "ShooterCharacter.generated.h" UCLASS() class SHOOTER_API AShooterCharacter : public ACharacter { GENERATED_BODY() public: // Sets default values for this character's p.. 2023. 3. 23.
10. Trigger Callback & RigidBody 구현 Trigger Callback - Trigger Callback은 PhysX에서 물체끼리 충돌했을 때, 물리 작용이 일어나는 대신 알림만 보내는 용도로 사용한다. - 캐릭터의 경우 몬스터의 총탄이 맞고 날아가거나, 회전하는 등의 물리효과가 일어나는 일은 흔치 않기 때문에, 보통 이런 물리 시뮬레이션이 일어나서는 안된다. - PhysX에는 이런 기능을 지원하는데, Kinematic 객체의 경우 이런 물리 시뮬레이션에서 제외되는 대신, 키보드로 움직일 수 있다. - Kinematic 객체가 충돌이 발생했을 때, OnTriggerEnter 함수가 호출되도록 구현했다. (이 함수 내부에서는 타일과 충돌했는지를 확인하고, 캐릭터가 중력이 해제되고 속도를 0으로 만들어서 바닥에 서는 등의 작업을 수행한다) Rigi.. 2023. 3. 23.