[UE5]UE5.0.0のThirdPersonTemplateの自分的な整理

/Game/ThirdPerson/Blueprints/
には
BP_ThirdPersonCharacter 1つしか入ってないわりに女かい。ってなる
(オーバーライドしてるのが女だから)
複製してBP_ThirdPersonCharacter_Quinn としておく
複製してBP_ThirdPersonCharacter_Manny としておく

メッシュは SKM_Manny_Simple
アニメーションBPは ABP_Manny

にしたものを
BP_ThirdPersonCharacter_Manny としておく。

これだけ、したら親のアニムBPのABP_Mannyをみていこう。

https://lunanelis.hatenablog.com/entry/2022/04/07/034505
イベントグラフは
ネリスさんの書いた通り

  1. 初期化時に親のCharacterとMovementComponentを取得する
  2. 更新時、使用者がCharacterであれば処理を実行。Sequenceにより3種の処理を行う。
    これにより、キャラクター以外で利用されている場合には何もしないようになる。(Idleモーションするだけ)
  3. Sequenceの上段:MovementComponentから移動量であるVelocityを取得。
    合わせて移動速度を取得
  4. Sequenceの中段:平たく言うと、歩いているかのフラグ
    加速度があり、移動速度が一定以上であれば「歩いている」と判断する
  5. Sequenceの下段:空中にいるかどうかのフラグ

他にアニメ用フラグを追加したければここのSequenceにピン追加して書く。

クリックで拡大

AnimGraphは
上のLocomotionのっステートを=でつないでアニメーションをキャッシュしている。
(新規アニメーションのcacheで出せるノード)

IdleとWalk/Runをキャッシュしているってこと。

MainStateのLocomotionの中に入ってみるとキャッシュを使ってる。

あとはMainStateの説明だけどわかりやすく上のノードたち回した。
ToFallingとToLandの2つが新しくできたステーツエイリアスノード
このノードにくっついてる条件(⇔みたいなヤツ)を、設定したステート中に満たすとワープしてこれるというノード

To Fallingは LocomotionとLandのときにワープしてこれるみたい。

ToLandは JumpとFall Loop のときにワープしてこれるみたい。

で実際入ってくる条件はいつもどおり矢印に設定する感じ

コントロールリグの説明は 
UE備忘録本舗さんの動画を見たほうが分かりやすかったよ

[UE5]UE5をクリーンインストールしたら出た警告

インストールされた NVIDIA グラフィックスドライバのバージョンに既知の問題があります。最新または推奨バージョンのドライバをインストールしてください。

http://www.nvidia.com/en-us/geforce/drivers/
NVIDIA GeForce RTX 2060 with Max-Q Design

インストール済み: 496.49
推奨: 511.79

GPUがクラッシュしているか、D3Dデバイスが削除されています。
D3Dデバッグデバイスを有効にするには -d3ddebugを使用します。
GPUの状態についてはログを確認してください。

このリンクも勝手に開いた。

https://www.nvidia.com/ja-jp/geforce/release-notes/GFE/3_25_0/Web/gfe-v3_25_0-web-release-highlights/?jso=eyUyMmNObSUyMjolMjJnZmUlMjIsJTIyY21JRCUyMjolMjIlMjIsJTIyZ2NWJTIyOiUyMjMuMjUuMS4yNyUyMiwlMjJsZyUyMjolMjIxMDQxJTIyLCUyMmdMZyUyMjolMjJqYS1KUCUyMiwlMjJnbyUyMjolMjJKUCUyMiwlMjJjSUQlMjI6JTIyQU1EJTIwUnl6ZW4lMjA5JTIwNDkwMEhTJTIwd2l0aCUyMFJhZGVvbiUyMEdyYXBoaWNzJTIyLCUyMmRJRGElMjI6WyUyMjFmMTJfMTBkZV8xZjExXzEwNDNfMSUyMl0sJTIyc00lMjI6JTIyMjNHQiUyMiwlMjJvc0MlMjI6JTIyMTAuMCUyMiwlMjJvc0IlMjI6JTIyMjIwMDAlMjIsJTIyaXM2JTIyOiUyMjElMjIsJTIyR0ZQViUyMjolMjI0OTYuNDklMjIsJTIyZ0lzQiUyMjolMjIwJTIyLCUyMmlMcCUyMjolMjIxJTIyLCUyMmlzTyUyMjolMjIxJTIyLCUyMmlzU0xJJTIyOiUyMjAlMjIsJTIyY1NSJTIyOiUyMjI1NjB4MTQ0MEA2MCUyMiwlMjJ1Q3N0JTIyOlslMjIxJTIyLCUyMjElMjIsJTIyMSUyMl0sJTIyalRLJTIyOiUyMmV5SmhiR2NpT2lKSVV6STFOaUo5LmV5SjBaQ0k2SWprME1qRXhOVFEzTlRJNE5qa3hOekV6SWl3aWMyTWlPbHNpYzJWemMybHZibDkwYjJ0bGJpSmRMQ0pqWkNJNklqRXpOVE16TXpFd056WTRORE0wTkRFd09TSXNJbk5sSWpvaVdFcG5OVW90UTJOcE5YbERla0l3V2xoTk5VY3dRbVp4UlU5b2RpMURXbVlpTENKdmRDSTZJamt5TWpNek56SXdNelk0TlRRM056VTRNRGNpTENKcFpDSTZJakk1T0RrME5qZ3hOVFEyT1RneE5ERTNNU0lzSW1WNGNDSTZNVFkwT1RRd05qZzJOaXdpYW5ScElqb2laRE16TURKa05qVXRPR1F6TlMwME4yWTJMVGhtWTJJdFl6QTVObU0wTkRKbE9EUXdJaXdpYzNJaU9pSjFJaXdpZFhRaU9pSXlPVGc1TkRZNE16ZzJPVFEzTWpNM01UY2lmUS53U21aVXAxN1RGVUY2akVtZmIxaERwRmpqUndjbVdySGMzdEMzU1NhN3FJJTIyfQ==

PC再起動したら大丈夫でしたちゃんちゃん

[ue5] ue4ぷちコンに出したゲームをアップしました。「だから寒冷地ではVISAがないとダメって言っただろ!」#UE4ぷちコン #UE4ぷちスタ 応募作品 #UE5Study #UE5 #UnrealEngine5

できたパッケージはこちらにアップしました。できたら遊んでみてください。

2.83GBあります。
download は以下

DevelopmentBuild  チェックポイント(レベル内セーブ機能)があるEasyバージョン

V7 VoicePeak版
https://drive.google.com/file/d/1brxO2bYWV4GZfw9vMK6O_L6ReHHHTFow/view?usp=sharing

V4
https://drive.google.com/file/d/1S25uUMd1k9umFNJ8HRiXHf0QvtRGCTNR/view?usp=sharing

Shipping チェックポイント(レベル内セーブ機能)がないHardバージョン

V6 VoicePeak版
https://drive.google.com/file/d/1khzi3AEROpcaJhmpsGoMqxYDtxVVFj9U/view?usp=sharing

V2
https://drive.google.com/file/d/10s3s-XBcIw3ezOFC3qbgvrI82PXvzn2W/view?usp=sharing

操作方法
キーボードでの操作は以下
 Jump スペースバー
 スライディング C
 弓構え 1
 弓発射 マウス左クリック
 このレ ベルをやり直し H
 キャラクター変更 C
 移動 WASD 後ろから敵に近づくと、はがいじめ
 カメラ方向 マウス左クリックドラッグ
 アイテム回収/構え時は投げ マウス左クリック
 アイテム投げ構え マウス右クリック

ゲームパッドでの操作は以下

感想、コメントなどくれると泣いて喜びます。笑

[UE5]UE5パッケージ化のまとめ 

UE5ってこと以外は、ほとんど以下と一緒です。ごめんなさい。
CGとかさん ありがとうございました。
https://twitter.com/O_Y_G

https://qiita.com/O_Y_G/items/8bc60efe54f9aefafd38

基本画像キャプチャです。

圧縮およびクック済みのパッケージを作成  オン
ビルドコンフィギュレーション Shipping
完全に再ビルド オン
前提条件のインストーラを含む オン

ゲームのデフォルトマップを設定

説明はしなくても大丈夫

フレームレートを30に固定したらめっちゃ遅くて失敗した。
フレームレートをスムージングでできるなら60フレを許容しないとモーションが変になる。

プラットフォームWindowsはとくにめんどうならしないくてOK

VRプラグインをOFF なってる

ビルドに時間がかかりすぎた場合は。。。。4時間かかったのが1時間でおわったマジか!!

以上です。

ウンロードはこちら

[UE5]パッケージ化 Unknown structure.エラーの解決方法/[UE5] Packaged Unknown structure. Error Answer

今回出たエラーはこれでした

アンリアルクエストのランキング機能のなかのBP_SaveDataのRankingDataがおかしくなっていました。

UATHelper: パッケージ化 (Windows (64-bit)): LogInit: Display: LogProperty: Error: FStructProperty::Serialize Loading: Property ‘StructProperty /Game/UnrealQuest/Blueprints/BP_SaveData.BP_SaveData_C:RankingData.RankingData’. Unknown structure.

構造体関係ありそうだけど関係あんまりなかった。みたい。

解決策は簡単。変数の名前を変更するだけ
今回の場合はBP_SaveDataのRankingDataをRankingDateにしたらOKです。


変数の名前を変更するだけでクックエラーを修正できました
(修正するよりもはるかに簡単です)すべての参照)。


参考URL

https://forums.unrealengine.com/t/unknown-structure/420946

[UE5]パッケージ化 Windows SDKエラーの解決方法/[UE5] Packaged Windows SDK Error Answer

こんなエラーが出ていた。。

フォーラムにのっていなかったので自分でPOSTした。

英語フォーラム
https://forums.unrealengine.com/t/ue5-preview2-cannot-be-packaged-in-ue5-previrew-2/512643

英語フォーラムに日本語で間違えて投稿
https://forums.unrealengine.com/t/ue5-preview2-ue5-previrew2/512640

日本語フォーラムに投稿
https://forums.unrealengine.com/t/ue5-preview2-ue5-previrew2/512660

サチナシさんに聞いてみました。

サチナシさんに感謝!おかげで大変助かりました!!ありがとうございます!!!!

ちなみに今のVisual Studio 2019 Installerの状態 赤以外のは関係ないです。

#UE5 #UE5Study アニメーションリターゲットのメモ (なんかちょっと工程長くなったけど論理的で安心感ある)

ソースとターゲット両方のスケルタルメッシュを開いて

スケルトンツリー>リターゲットオプションを表示する

ソースもターゲットも以下をやる

マネキンの場所でアニメーション>IKリグを作成する。

どのスケルタルメッシュにするか表示されるのでマネキンを選択

名前を
IKRig_SK_Mannequinとした。

IKRig_NierA2_MayaV2とした

それぞれ開いて

階層から
Pelvisを右クリックして
リターゲティングルートの設定をクリック

IKリターゲティングの>新しいチェーンを追加するを6回おす。

ソースもターゲットも以下をやる。

head spine leftarm rightarm leftleg rightleg を入力 開始ボーン終了ボーンを設定する。

でーがっちゃんこようにアニメーションリターゲッターを作ります。

アニメーションをコピーする元のリグを選択するので今回はマネキン用のあにめを他のスケルタルメッシュにつけたいのでこうなりました

ダブルクリックして開いて

ターゲットが未選択なので選びます

アセットブラウザから選択したア二メーションをエクスポートボタンで出力できます。

参考

#UnrealEngine #UE5 #UE4 #Python .uassetを強引にバイナリファイルとして開いてテキストファイルとして保存してエンコーディングエラーやbytesからストリング変換エラーをうやむやにして文字列としてロード

    def assetPath_to_HDpath(self,assetPath):
        get_project_file_path=unreal.Paths.get_project_file_path()
        HD_get_project_file_path=os.path.abspath(get_project_file_path)
        project_file_dir=os.path.dirname(HD_get_project_file_path)
        project_file_dir=project_file_dir.replace("\\","/")
        unreal.log_warning("project_file_dir= "+project_file_dir)
        # /Game/
        assetHDPath=project_file_dir+"/Content"+assetPath[5:]
        assetHDPath_without_ext = os.path.splitext(assetHDPath)[0]
        assetHDPath_uasset=assetHDPath_without_ext+".uasset"
        unreal.log_warning("assetHDPath_uasset= "+assetHDPath_uasset)
        
        #print("")
        return assetHDPath_uasset
    
    def uasset_textFile_read(self,path):
        file = open(path, 'rb')
        #file = open(path, encoding="utf8", errors='ignore')
        print("1 binary open!!")
        BytesDataBox=b""
        BytesDataStr=u""
        #BytesDataStr = file.read()
        #print("BytesDataStr="+BytesDataStr)
        bytes = file.read(1)
        #print("2 binary valiabled!!")
        while bytes:
            #print(bytes)
            #print("2 printed!!")
            BytesDataBox = BytesDataBox+bytes
            #print("2 BytesDataBox added !!")
            #decoded=bytes.decode("utf-8") 
            #print("2 decoded!!")
            #print(decoded)
            #print("2 decoded printed!!")
            #ByteDataBox=ByteDataBox+decoded
            #print("2 ByteDataBox insert!!")
            bytes = file.read(1)
            #print("2 byte = file.read(1)!!")
        
        print("3 while byte end!!")
        print("BytesDataBox= ")
        #print(BytesDataBox)
        print("4 printed!!")
        print(type(BytesDataBox))
        print("4 class printed!!")
        BytesDataBox=BytesDataBox.strip()
        print("4 striped!!")
        file.close() 
        #BytesDataStr = str(BytesDataBox, 'utf-8')
        #BytesDataStr=BytesDataBox.decode(encoding ='utf-8', errors='ignore')
        self.fileWrite_byte(BytesDataBox)
        BytesDataStr=self.fileRead_byte_()
        print("4 decoded!!")
        

        pattern = r'/Game/.*?\\'

        # findall 
        results = re.findall(pattern, BytesDataStr, re.S)
        results_len=len(results)
        print("results_len= "+str(results_len))
        # Type:list
        print(type(results))
        print("4 all hit list printed!!")
        # 抽出
        for result in results:
            result_len=len(result)
            good_result=result[0:result_len-1]
            print("result_len= "+str(result_len)+"     good_result= "+ good_result)
        
        print("4 for printed!!")
        
    def fileWrite_byte(self,s):
        ReportFolderPath=self.getMyDir()+"Report"
        self.my_makedirs(ReportFolderPath)
        path_cp=ReportFolderPath+"/bytes_"+".txt"
        
        fout_utf = codecs.open(path_cp, 'w', encoding='cp932')
        fout_utf.write(s)
    def fileRead_byte_(self):
        ReportFolderPath=self.getMyDir()+"Report"
        self.my_makedirs(ReportFolderPath)
        path_cp=ReportFolderPath+"/bytes_"+".txt"
        
        fout_utf = codecs.open(path_cp, 'r', encoding='cp932')
        data=fout_utf.read()
        print("4 data!!="+data)
        return data

#UE4 #UE4Study #UE5 #UE5Study #UnrealEngineのPythonScriptPluginのpython3へのPyside2のインストール方法

Pyside2はpipを使ってインストールするのが基本です。

https://forums.unrealengine.com/t/fyi-ue4-switching-to-python-3-7-7-by-default-4-26/151803

より

C:\Program Files\Epic Games\UE_4.26\Engine\Plugins\Experimental\PythonScriptPlugin\Source\PythonScriptPluginPreload\PythonScriptPluginPreload.Build.csで

// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;

namespace UnrealBuildTool.Rules
{
	public class PythonScriptPluginPreload : ModuleRules
	{
		public PythonScriptPluginPreload(ReadOnlyTargetRules Target) : base(Target)
		{
			PublicDependencyModuleNames.AddRange(
				new string[] {
					"Core",
				}
			);

			if (Target.bBuildEditor)
			{
				PrivateIncludePathModuleNames.AddRange(
					new string[] {
						"Python3",
					}
				);
			}
			else
			{
				PrivateDefinitions.Add("WITH_PYTHON=0");
			}
		}
	}
}

となっているのでPython3を参照しているので

::python.exeへ移動して
cd C:\Program Files\Epic Games\UE_4.26\Engine\Binaries\ThirdParty\Python3\Win64
::pip install Pyside2というかんじで詳細はこのようにインストール
python -m pip install --target="C:\Program Files\Epic Games\UE_4.26\Engine\Binaries\ThirdParty\Python3\Win64\Lib\site-packages" Pyside2


するとローカルではうまく起動しました。

参考URL
https://qiita.com/7CIT/items/a480a84bb9d249544f5f

プラグインを有効にする感じのやり方もあります。
Python Editor¥3,177 これをインストールしてしまえば使えるようです。
https://www.unrealengine.com/marketplace/ja/product/python-editor?sessionInvalidated=true

参照

#UE4 #UE4Study https://github.com/EpicGames/UnrealEngine.git をクローンしようとしたら出たエラー 「remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.」を解決

SourceTreeでクローンしようとしたらこんなエラーが出たのでメモ

コマンド: git -c diff.mnemonicprefix=false -c core.quotepath=false --no-optional-locks ls-remote https://github.com/EpicGames/UnrealEngine.git
出力: 
エラー: remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/EpicGames/UnrealEngine.git/'

翻訳すると

コマンド:git -c diff.mnemonicprefix = false -c core.quotepath = false --no-optional-locks ls-remote https://github.com/EpicGames/UnrealEngine.git
段:
エラー:リモート:パスワード認証のサポートは2021年8月13日に削除されました。代わりに、個人用アクセストークンを使用してください。
リモート:詳細については、https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/を参照してください。
致命的:「https://github.com/EpicGames/UnrealEngine.git/」の認証に失敗しました

調べてみると

GitHubのリポジトリにアクセス時に「remote: Support for password authentication was removed on August 13, 2021.」エラー さんがこんな感じで書いてた

https://note.kiriukun.com/entry/20210904-github-password-authentication-was-removed

GitHubにログインして、右上の自分のアイコンをクリック → 「Settings」をクリック

→ 左メニュー下部の「Developer settings」をクリック

→ 左メニューの「Personal access tokens」をクリック

→ 右上の「Generate new token」をクリックしてアクセストークンを作成する。

アクセストークンを作成する時、「Select scopes」は少なくとも「repo」をチェックONにすること。

また、作成したトークンの値を後でもう一度確認することはできないので、作成後はその場ですぐにコピーしてどこかにとっておくこと。

こうして作成したアクセストークンをパスワードの代わりに入力することで、GitHubのリポジトリにアクセスできるようになる。

URLに付与する方法

パスワードの代わりに入力する他では、以下のようにGitリポジトリのURLに付与して使うこともできる。

git clone https://${アクセストークン}@${ユーザー名}/${リポジトリ名}.git

具体例

https://ghp_ooooooooooooooooooooooo@github.com/EpicGames/UnrealEngine.git

クローンできた!!!