본문 바로가기

C언어100

유니티 - [AddForce 종류] https://docs.unity3d.com/kr/530/ScriptReference/Rigidbody.AddRelativeForce.html Rigidbody-AddRelativeForce - Unity 스크립팅 API Adds a force to the rigidbody relative to its coordinate system. docs.unity3d.com ▣ AddRelativeForce() : 로컬좌표 기준으로 힘을준다. ▣ AddForce() : 월드좌표 기준으로 힘을 준다. 2023. 7. 1.
언리얼엔진5 66장 [C++ 회전] ▣ .h 헤더파일에서 FRotator 선언, 어느 방향으로 회전할지를 지정하기 위한 변수 ▣ FRotator : F는 블루프린트를 의미, Rotator는 회전값 https://docs.unrealengine.com/4.26/en-US/API/Runtime/Core/Math/FRotator/ FRotator Implements a container for rotation information. All rotation values are stored in degrees. docs.unrealengine.com ▣ AddActorLocalRotation() : 로컬회전값을 기준으로 회전, 괄호 안에 회전할 FRotator값 * DeltaTime https://docs.unrealengine.com/4.26/e.. 2023. 6. 23.
언리얼엔진5 65장 [C++ 함수] ▣ .h 헤더파일에서 void Moveing() const로 함수 선언 ▣ 함수 선언 방법 : void(반환형) Moveing(함수이름) (매개변수) const 정적설정, 순으로 선언 ▣ 함수 끝에 const를 붙이면 함수 안에서 값 수정 불가 ▣ ATestActor : A는 엑터를 의미 ▣ ::는 멤버함수로 정의하기 위함 ▣ BeginPlay() 함수 안에 Moveing(); 함수 호출 ▣ 컴파일 저장 후 확인 2023. 6. 23.
언리얼엔진5 64장 [C++ 출력로그] ▣ UE_LOG(로그유형, 로그 수준, 출력해야 할 텍스트) : 로그출력 함수 ▣ UE_LOG(LogTemp, Display, TEXT("%f"), 변수); : 이런 식으로 변수도 출력가능 ▣ 컴파일 저장 후 Content Drawer옆에 Output Log 클릭하면 확인 ▣ Display, Error, Warning : 같이 각각 경고 문구 색이 다르다. https://docs.unrealengine.com/5.0/en-US/API/Plugins/NeuralNetworkInference/UE_LOG/1/ UE_LOG docs.unrealengine.com ▣ FString : 스트링 클래스 ▣ TEXT("Name : %s"), *name) : *name는 포인터로 접근한다고 생각하시고 붙이시면 됩니다... 2023. 6. 23.
언리얼엔진5 63장 [C++ 블루프린트 생성 및 매쉬생성] ▣ C++ 클래스에서 오른쪽마우스를 클릭 -> Create Blueprint 선택하여 블루프린트로 생성 ▣ 이름 및 저장 위치 지정 후 생성 ▣ 블루프린트에서 Viewport에 내가 원하는 Mesh를 드래그하여 지정 ▣ 원이 엑터의 중심축입니다. 중심축을 맞춰서 매쉬를 배치 후 디테일탭에 값 조절 후 컴파일 ▣ 완성한 블루프린트를 두 개를 놓고 각각 다른 값을 적용한 다음에 플레이 2023. 6. 22.
언리얼엔진5 62장 [C++ 오브젝트좌우이동] ▣ GetSafeNormal() : 벡터의 값을 정규화, 예로 복잡한 벡터값은 필요 없기 때문에 우리 방향을 지정하기 위해 값을 1, -1, 0 이런 식으로 정규화 ▣ 이동거리보다 크면 이동한 위치가 시작위치로 변경돼야 하기 때문에 정규화를 곱하여 StartLocation에 더해서 대입 ▣ BoxVeloctiy = -BoxVeloctiy : 변수에 -변수를 대입하면 -변수로 되고 -변수에 -변수를 대입하면 +가 된다. https://docs.unrealengine.com/4.26/en-US/API/Runtime/Core/Math/FVector/GetSafeNormal/ FVector::GetSafeNormal Gets a normalized copy of the vector, checking it is .. 2023. 6. 22.
언리얼엔진5 61장 [C++ 벡터사이 거리 Distance, VisibleAnywhere] ▣ UPROPERTY(VisibleAnywhere) : 편집할 수 없고 에디터에서 데이터를 보기만 하게 하는 기능 ▣ DistanceNumber = FVector::Distance(StartLocation, CurrentLocation); : 벡터 1과 벡터 2 사이의 거리를 반환하는 함수 ▣ FVector::Dist(StartLocation, CurrentLocation) : 벡터 1과 벡터 2 사이의 거리를 반환하는 함수 위에 함수와 동일 ▣ :: 콜론 두 개는 범위지정 연산자, 클래스에 접근 ▣ 컴파일 저장 후 확인 2023. 6. 21.
언리얼엔진5 60장 [C++ DetaTime, 플랫폼지정] ▣ UPROPERTY(EditAnywhere, Category = "Player Moving") : Category 플랫폼 이름 추가 ▣ FVector에 값을 + 더하기 하여 위치 변경가능 ▣ DetaTime : 마지막 프레임 업데이트 이후 경과된 시간, 다시 말해서 각 렌더링 프레임 사이의 시간 ▣ DetaTime을 곱해야지 컴퓨터 사양별로 다르게 보이는 게 아닌 프레임을 맞춰서 작동 ▣ 컴파일 저장 후 플랫폼 추가 및 이동 확인 https://www.parallelcube.com/2017/10/25/why-do-we-need-to-use-delta-time/ Why do we need to use Delta Time? – Parallelcube You’ve probably seen an old gam.. 2023. 6. 20.
유니티 - [충돌시 tag 변경] ▣ gameObject.tag = "Hit" , collision.gameObject.tag = "Hit" ▣ 충돌 시 나의 tag 뿐만 아니라 상대방에 tag도 변경가능 2023. 6. 20.
유니티 - [GetComponent 비활성화] ▣ GetComponent().enabled = false; ▣ GetComponent().useGravity = false; 로 해당 컴포넌트 비활성화 ▣ MeshRenderer m_renderer, Rigidbody rb : 참조 캐싱, 원하는 기능을 메모리에 저장해서 사용 ▣.으로 접근하여 해당 컴포넌트에 다양한 기능 사용가능 2023. 6. 20.
유니티 - [Time] ▣ Time.time : 프로젝트 재생 시작 후 경과한 시간 초 단위로 반환합니다. ▣ Time.detaTime : 마지막 프레임이 완료된 후 경과한 시간을 초 단위로 반환합니다. 이 값은 게임이나 앱이 실행될 때 초당 프레임(FPS) 속도에 따라 다릅니다. https://docs.unity3d.com/kr/2021.3/Manual/TimeFrameManagement.html 중요 클래스 - Time - Unity 매뉴얼 Unity의 Time 클래스가 제공하는 중요한 기본 프로퍼티를 사용하여 프로젝트에서 시간과 관련된 값으로 작업할 수 있습니다. docs.unity3d.com 2023. 6. 20.
유니티 - [오브젝트 색 변경] ▣ GetComponent().material.color = Color.red; 로 Mesh Renderer컴포넌트에 Material를 접근하여 색 변경, Color. 로 접근하게 되면 여러 색으로 변경 가능 ▣ 컴파일 저장후 플레이버튼을 누르고 닿게 되면 색 변경 2023. 6. 20.
언리얼엔진5 58장 [C++ Tick함수] ▣ Tick : 액터나 컴포넌트에 일정 간격, 한 프레임에 한 번 코드 또는 블루프린트 스크립트를 실행시키는 것 ▣ MyVector.Z +=1을 하여 프레임마다 Z값이 1씩 증가하고 SetActorLocation(MyVector)으로 넣어주어 Z값이 계속 바뀌는 코드 https://docs.unrealengine.com/4.27/ko/ProgrammingAndScripting/ProgrammingWithCPP/UnrealArchitecture/Actors/Ticking/ 액터 틱 매 프레임 액터를 업데이트하는 데 사용되는 Tick, 틱 시스템에 대한 설명입니다. docs.unrealengine.com ▣ 컴파일 후 시작버튼을 클릭하면 MyVector.Z에 값이 1씩 증가하면서 매프레임마다 큐브에 Z위치가.. 2023. 6. 16.
언리얼엔진5 57장 [C++ 엑터위치함수] ▣ SetActorLocation() : 엑터의 위치는 변경하는 함수, 매개변수 안에 FVector에 값을 넣어야 한다. ▣ +Add 버튼을 클릭하고 컴포넌트 추가 및 모양 추가도 가능 ▣ 컴파일 후 시작버튼을 클릭하면 지정한 Location으로 위치 이동 ▣ 매개변수에 FVector 변수로도 지정 가능 ▣ 컴파일 후 시작하면 MyVector 위치로 이동 2023. 6. 16.
언리얼엔진5 56장 [C++ Vector] ▣ FVector : 자료형이름 앞에 F가 붙으면 블루프린트를 의미, 블루프린트 Vector자료형, 블루프린트 Vector데이터타입 ▣ FVector 초기화 방법 : Fvector 변수이름 = FVector(x, y, z) ▣ ATestActor : 자료형이름에 A가 앞에 붙으면 엑터를 의미 ▣ FVector : FVector에 x, y, z 값 각각 접근하여 대입 가능 ▣ 레벨에 배치 후 컴파일 ▣ 컴파일 완료 후 C++엑터를 확인하면 Vector와 변수 생성 확인 ▣ 플레이를 클릭하고 확인하면 num 변수에 대입 확인 2023. 6. 16.
언리얼엔진5 54장 [C++ Class, uproperty] ▣ 생성한 C++ Class를 확인하고 더블클릭하여 실행 ▣ .h 헤더파일을 클릭하여 UPROPERTY(EditAnywhere) : 에디터에서 접근가능하게 하는 코드 int32 MyInt = 10; float MyFloat = 3.14; bool MyBool = true; 변수 정의 ▣ CTRL + S 키를 눌러 저장 ▣ 언리얼 에디터에서 컴파일 및 리로드 버튼 클릭 ▣ 이런 식으로 Live coding succeeded 나오면 완료 ▣ 만약 실패할 경우 3가지 확인 ▣ 비주얼스튜디오 저장 경로에 한글이 있는지 확인 ▣ 프로젝트 위치가 한글이 있는지 확인 ▣ 코드에 오타가 있는지 확인 2023. 6. 14.
언리얼엔진5 52장 [씬 뷰 미리보기 카메라 사이즈 조절] ▣ 3인칭으로 카메라를 넣을 경우 위에 이미지처럼 컴퓨터 해상도에 따라서 레벨씬에 미리 보기 카메라가 너무 크게 보이는 경우가 있다. 이럴 때 미리 보기 카메라 사이즈를 줄이는 방법이 있다. ▣ Camera Preview Size를 조절하면 위에 이미지처럼 미리 보기 뷰 카메라 사이즈를 줄일 수 있다. 2023. 6. 10.
언리얼엔진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.