【UE4】アセットのセーブができない?

こんにちは、なんかアセットのセーブができなかったので対処方の紹介です。

環境:
Windows10
UE4.20.3

アウトプットログにはこんなエラーメッセージが出ていました。

Cmd: OBJ SAVEPACKAGE PACKAGE="アセットのパス" FILE="アセットのパス.uasset" SILENT=true
LogSavePackage: Moving 'アセットのパス.uasset+英数字.tmp' to 'アセットのパス'
LogFileManager: Warning: DeleteFile was unable to delete 'アセットのパス.uasset', retrying in .5s...
LogFileManager: Error: Error deleting file 'アセットのパス.uasset'.
LogSavePackage: Error: Error saving 'アセットのパス.uasset'
LogSlate: Window 'Message' being destroyed
EditorErrors: New page: Save Output
EditorErrors: Warning: Error saving 'アセットのパス.uasset'

続きを読む 【UE4】アセットのセーブができない?

【UE4C++】BPのコンストラクションスクリプトが呼ばれる前にメンバー変数を変える方法

こんにちは!タカオです。

今回は
C++でアクターをスポーンするとき、引数を指定して生成するということができないようなので、
それをある程度対処する方法です。

開発環境:
UE4.20.3
Windows10

ふつうにスポーンする場合は、

FActorSpawnParameters spawnParameters;
spawnParameters.Owner = this;
auto myActorClass = TSubclassOf<AMyActor>();

auto spawnLocation = FVector::ZeroVector;
auto spawnRotation = FRotator::ZeroRotator;

SpawnActorの引数に使う変数を用意して、

auto actor = GetWorld()->SpawnActor<AMyActor>(myActorClass, spawnLocation, spawnRotation, spawnParameters);
こんな感じ。
これだとコンストラクタに引数を指定できません。

続きを読む 【UE4C++】BPのコンストラクションスクリプトが呼ばれる前にメンバー変数を変える方法

【UE4】構造体じゃなくてデータを持っているだけのクラスを作りたいとき

はいこんにちは タカオです。

構造体だと関数をBPで使うことができないので、クラスでデータを持ちたい
とかいうことがたまにあります。

そこで今回はオブジェクトクラスBPの作り方です。

開発環境:
UE4.20.3
Windows10

続きを読む 【UE4】構造体じゃなくてデータを持っているだけのクラスを作りたいとき

【UE4C++】UE4.20.3でC++プロジェクトのパッケージングができない場合

私がUE4でC++を使うと、よくこのようなことが起こります。

環境は
Windows10
Visual Studio 2017
UE4.20.3
です。

プラグインをパッケージ化しようとしたら、GetReferenceNearestTargetFrameworkTaskという文がでてパッケージングができないという事態に遭いました。

そんなときは、Visual Studio 2017のインストーラを開いて、
Visual Studio Build Tools 2017と書かれている部分の「変更」ボタンを押して(「更新」になっている場合は まずそれを押して更新します)、

個別のコンポーネントタブを開きます。

NuGet パッケージマネージャーというのがスクロールしていると見つかるので、それをチェックします。

右下の「変更」ボタンを押して待ちます。

そしたら、パッケージングが成功するかもしれません。

参考:
https://answers.unrealengine.com/questions/741965/cannot-generate-project-file-after-vs2017-update.html

【UE4】Androidアプリのアプリ名をローカライズする

こんにちは

今日はローカライズの話です

今作っているゲームの名前が日本語なので、英語と日本語で別々にしたいと思ったのですが、
エディタではローカライズ設定ができないみたいなので調べてみました。

開発環境は、
Windows10
UE4.19.2
です。

続きを読む 【UE4】Androidアプリのアプリ名をローカライズする

UE4のメモ(UnrealC++)

UnrealEngine4(のUnrealC++)で忘れそうなことをメモしておくページ。

開発環境は

Windows10
Visual Studio 2017
UE4エディタはランチャー版

BPと連携

ActorComponentを継承しているクラスをBPで継承させたい

ActorComponentを継承しているクラスをBPで継承させたい場合はUCLASSの部分にBlueprintableを付ける

UCLASS( ClassGroup=(Custom), Blueprintable, meta=(BlueprintSpawnableComponent))

変数(IntegerとかFloat)の範囲を指定したい

変数(IntegerとかFloat)の範囲を指定したいときは

UPROPERTY(EditAnywhere, BlueprintReadWrite, meta = (ClampMin = "1", ClampMax = "100"))

変数をエディタ上では見えるだけで、編集できないようにしたい場合

UPROPERTY(VisibleAnywhere, BlueprintReadOnly)
int 変数名;
って書くと、レベルエディタ上とかでは見えるけど編集できなくなる。

構造体

  • 構造体を作るときは#include “ヘッダーファイルの名前.generated.h”を追記しなければいけない
  • 構造体の変数で、Object ReferenceではなくてClass Reference(4つの内で紫のやつ)を使いたい場合は
  • UPROPERTY(EditAnywhere, BlueprintReadWrite)
    TSubclassOf 変数名;

    参考:https://answers.unrealengine.com/questions/259160/c-equivalent-of-blueprint-class-reference.html

    その他

    uprojectのバージョンを変えたら

    uprojectのバージョンを変えたら、Visual Studioのソリューションエクスプローラで、ソリューションを右クリックして「スタートアッププロジェクトに設定」をクリックしておく。
    参考:https://answers.unrealengine.com/questions/509141/unereal-editor-dont-start-cant-find-unusedue4exe.html?sort=oldest

    デバッグポイントをセットしたのに止まらない?

    ソリューション構成をDebugGame Editorに変更したら止まるようになった。(Visual Studio 2017)

    Visual Studioでソリューション構成をShippingにしたら、ビルドしてもエディタに反映されなくなった

    エディタでコンパイルボタン押したら反映された

    【UE4.18】csvファイルをデータテーブルにインポートする(構造体が構造体の中に入っていない場合)

    今日はcsvをデータテーブルにインポートしてみます。

    まずはデータテーブルを作るための構造体を作ります(名前はS_TestDataにしました)

    続きを読む 【UE4.18】csvファイルをデータテーブルにインポートする(構造体が構造体の中に入っていない場合)