double Test::GetGpuTime()
{
uint32 GPUCycles = RHIGetGPUFrameCycles(0);
// ミリ秒に変換
double GPUMs = FPlatformTime::ToMilliseconds(GPUCycles);
return GPUMs;
}
【UE】コンソール変数が変更されるときに実行される処理
コンソール変数が変更するときはFConsoleManager::ProcessUserConsoleInputが呼ばれますのでここにブレークポイントを設定すればコンソール変数が変更されときの状況を確認することが出来ます
【UE】5.7からパッケージするための項目の場所が変わってる
5.6以前
5.7以降 メニューから選択するようになってる

【UE】c++でUNiagaraParameterCollectionの値を設定する
ParameterCollectionInstance->SetVectorParameterなどで値を設定することが出来ます
#pragma once #include "CoreMinimal.h" #include "NiagaraComponent.h" #include "NiagaraParameterCollection.h" #include "EffectControlActor.generated.h" UCLASS(Blueprintable) class AEffectControlActor : public AActor { GENERATED_BODY() public: AEffectControlActor(); protected: virtual void Tick(float DeltaTime) override final; virtual void BeginPlay() override final; private: UPROPERTY(EditAnywhere, Category = "Effect", meta = (DisplayName = "エフェクトパラメータ")) TSoftObjectPtr<UNiagaraParameterCollection> mpParameterCollection = nullptr; UPROPERTY(EditAnywhere) TObjectPtr<UNiagaraParameterCollectionInstance> mpParameterCollectionInstance = nullptr; };
#include "EffectControlActor.h" #include "NiagaraFunctionLibrary.h" #include "NiagaraWorldManager.h" AEffectControlActor::AEffectControlActor() : ::ALFActor() { PrimaryActorTick.bCanEverTick = true; } void AEffectControlActor::BeginPlay() { Super::BeginPlayApp(); if (!mpParameterCollection.IsValid()) { return; } if (UWorld* World = GetWorld()) { TObjectPtr<UNiagaraParameterCollection> ParameterCollection = mpParameterCollection.LoadSynchronous(); if (IsValid(ParameterCollection)) { //ParameterCollectionInstanceを取得 mpParameterCollectionInstance = UNiagaraFunctionLibrary::GetNiagaraParameterCollection(World, ParameterCollection); } else { ensure(false); } } } void AEffectControlActor::Tick(float DeltaTime) { if (IsValid(mpParameterCollectionInstance)) { //値を設定 mpParameterCollectionInstance->SetVectorParameter("Test", FVector(0)); } }
【C++】デバックした際変数の中身が見えないときは最適化をオフにすれば見える
pragma optimizeで囲むことで最適化をオフにすることができ変数の中身が見えるようになります
#pragma optimize("", off) int myFunc() {...} #pragma optimize("", on)