UNREAL ENGINE 4 のマーケットプレイスでコンテンツ出品者になる Epic Marketplaceに登録するまでの方法がなかなか大変な件 2020/3/11

まず、Epic Account をPaypalアカウントを持ったメールアドレスで作り直さないといけない
現在はこれnobolu.ootsuka.technicalartist@gmail.com

PayPal送金方法に使用する電子メールアドレスは、プロファイルの電子メールアドレスと同一でなければなりません。

PayPalアカウント作らされるハメになった。。。

Paypalはというと申し訳ありませんが、この銀行はすでにPayPalアカウントに登録済みで、登録可能な上限数に達しています。積んだ。

https://publish.unrealengine.com/v3/welcome

最初の画面は翻訳可能

つぎの画面も翻訳される

ここで出てくる面接とかいうのがめんどくさい。

はい長いページきたー

何を期待します

この短い税務面接では、必要な税務情報を提出するための段階的なプロセスをご案内します。始める前に、次の重要な注意事項を確認してください。

•ナビゲーションのヒント:ナビゲートするには、常に[続行]ボタンと[前へ]ボタンを使用してください

    インタビュー。また、面接を終える前に面接を終了すると、回答が失われます。



•ヘルプを取得する:質問への回答についてサポートが必要な場合は、左下のヘルプガイドを参照してください

    インタビューページの隅。さらに、マウス操作時にポップオーバーヘルプが利用できる場合があります

    フィールド上。



•正確である:赤いアスタリスクが付いたアイテムを含む、すべての必須フィールドに入力します。

    は必須であり、入力された情報が正確であることを確認してください。一部のフィールドは

    以前に入力した情報が入力されます。



•電子同意の提供:電子署名の同意を求めます。もし、あんたが

    それを提供しないでください、あなたは私たちにあなたのフォームで印刷して郵送する必要があります。



•記録のコピーを印刷する:面接の最後に、印刷するオプションがあります

    IRSフォームのコピー。



•アンチウイルスまたはインメモリアプリケーション:特定のアンチウイルスまたはインメモリアプリケーションは、

    Webブラウザーに干渉し、税務インタビュー内で表示の問題を引き起こします。もし、あんたが

    空白のページやフォームが表示された場合は、ソフトウェアを無効にして、

    もう一度インタビューします。


ヘルプ


•プライバシー/データ保持ポリシー:あなたが提供する情報は、以下に従ってのみ使用されます

   https://www.epicgames.com/privacypolicyにあるEpicGames、Inc.のプライバシーポリシー


まず、税務情報を収集します。


およびTaxIdentitySolutionsLLCのプライバシーポリシー

了解すればいい系

簡単な入力

赤字のところはYes

米国IRSの税法に準拠するための情報を収集するために、お客様の同意が必要です。これには、サードパーティを使用したお客様の個人情報の処理が含まれる場合があります。 選んでください:

また同じような情報入力

本籍地

これは、税務通知、公益事業口座、運転免許証、パスポートなどのサービスに通常提供する住所です。P.O。を入力しないでください。 ボックスまたは気付アドレス。

・アドレス入力が無効であるというエラーメッセージを受け取りました。
ただし、アドレスが有効であることを確認します
・郵送先住所は本籍地とは異なります

・アドレス入力が無効であるというエラーメッセージを受け取りました。
ただし、アドレスが有効であることを確認します

つぎチェックするだけなやつ

つぎ税金情報

税務ステータス

税務上、あなたは米国市民、米国居住者、米国パートナーシップ、または米国企業ですか? *

一般に、(1)暦年中いつでも、米国移民法の合法的な永住者であり、このステータスが取り消されていないか、行政上または司法上放棄されたと判断されていない場合、または( 2)あなたは、現在の年の少なくとも31日間、および現在の年と直前の2年間を含む3年間の間に183日間、米国に物理的に滞在しています。

ちがいます米国のひとじゃないですNO

次変更不能の無駄なフォーム

Beneficial Owner?
Type of Beneficial Owner

Individual

受益者?
受益者のタイプ

個人

Individual 個人

サービス収入/パフォーマンスの場所

あなたはサービスの提供から収入を得ましたか、それは米国でのビジネスや貿易に効果的に関連する収入ではありませんか? サービスを実行している間、物理的にどこにいるかを示す以下の選択を行う必要があります。 注:コンテンツを米国で利用できるようにすることは、これらのサービスを実行している間、米国に物理的に存在しない限り、米国内でサービスを実行していることを意味するものではありません。

サービス収入の例には、広告料、契約のための仕事、取引手数料、クリックスルー紹介料が含まれます。

私たちに提供するサービスが実行される場所を確認してください:

・すべてのサービスは米国外で実施されます。

・すべてのサービスは米国内で実行されます。

・サービスの一部は米国内で実行されます。 これにした。

米国の税法では、米国の税務上のステータスを米国以外の人から米国人に変更する可能性のある次の条件のいずれかが適用されるかどうかをテストすることが義務付けられています。

該当するすべての項目を選択してください。

該当するすべての項目を選択してください。

     私は米国のパスポートを持っています


     私はアメリカで生まれましたが、出生権を放棄していません


     私の両親の一方または両方は米国で生まれました。


     私は現在グリーンカードを持っているか持っています


     私は過去3年間に米国で過ごしました


     一時的な非移民ビザタイプ「F」、「J」、「M」または「Q」を開催しましたか?

上記のいずれも当てはまりません
条約上のメリット


お住まいの国が米国との租税条約を締結しており、租税条約に記載されている特定の要件を満たしている場合は、源泉徴収税率の引き下げを請求できる場合があります。



正式な住所を提供する際に、所得税の目的で日本の居住者であることを以前に示しました。


居住国が所得税の目的で上記と異なり、米国とあなたの国との間の二重課税防止条約の第4条に記載されているテストを確認した場合は、ドロップダウンリストから適切な国を選択してください。




日米租税条約の事業利益条項を請求する場合は、チェックボックスを選択してください。

納税者番号はありますか?

条約の特典を請求するには、納税者番号(TIN)を提供する必要があります。 これは、社会保障番号(SSN)、雇用者識別番号(EIN)、または個人納税者番号(ITIN)などの米国のTINである可能性があります。 米国のTINをお持ちでない場合は、お住まいの国(「外国」と呼ばれる)のTINを提供できます。

お住まいの国でTINを使用していない場合は、次のことができます。


*IRSまたはオンラインでEINを申請する


*ITINを申請します。

追加情報もここにあります。

米国の所得税の目的で、あなたが米国人であるか非米国人であるかを判断するためにTINを持っている必要はありません。 ただし、条約の下で利用できる可能性のある標準源泉徴収税率(30%)の引き下げは、外国または米国のTINを提供できるようになるまで適用されません。

TINはありますか? NO

効果的に接続された収入

米国に恒久的施設があり、収入を生み出す不動産がこの恒久的施設と効果的に関連している場合、租税条約が実施される場合の標準源泉徴収税率の免除または減額は適用されません。

あなたは、サービス、製品、または商品を販売する米国で事業を所有および/または運営していますか? *NO

一般に、米国に従業員がいる場合、または収益を生み出すために使用する機器やその他の資産を所有、リース、または管理している場合は、米国の事業活動があります。

なにかが発行された

上記のW-8BENを確認してください。 フォームに問題がなければ、続行ボタンを選択します。

電子署名の提供に同意しなかった場合は、W-8BENを印刷する必要があります。

W-8BEN認定

偽証罪の罰則の下で、私はこのフォームの情報を調査し、私の知識と信念の限りにおいて、それが真実であり、正しく、完全であることを宣言します。 私はさらに、偽証罪の罰則の下で次のことを証明します。

私は、このフォームが関連するすべての収入の受益者である
(または受益者である個人に署名する権限を与えられている)
個人であるか、
このフォームを使用して、所有者またはアカウントである個人として
自分自身を文書化します外国金融機関の保有者、


 このフォームの1行目に記載されている人物は、米国人ではありません。


 このフォームに関連する収入は次のとおりです。(a)

 米国での貿易またはビジネス、(b)効果的に接続されているが、以下の税の対象ではない

 所得税条約、または(c)パートナーシップの効果的に関連する収入のパートナーのシェア、


 このフォームの1行目に記載されている人物は、米国とその国との間の租税条約の意味の範囲内で、フォームの9行目に記載されている条約国の居住者です(存在する場合)。


 ブローカー取引または物々交換の場合、受益者は定義されているように免除された外国人です

 指示で、そして


 このフォームで認証が行われた場合、30日以内に新しいフォームを送信することに同意します

 正しくなくなります。

全部チェック系のフォーム

税務面接を完了しました。 あなたのデータは受信されており、さらなる検証の対象となる可能性があります。

[インタビューの終了]ボタンを選択して、インタビューを終了するか、ブラウザウィンドウを閉じます。

ここでなんか おかしなシステム待ち。全部のボタンが押せない

HYPERWALLETアカウントをアクティブ化する

支払いは、Epicから支払い処理業者を通じて行われます。支払いを受け取るには、Epicが選択した支払い処理業者にアカウントを設定し、Epicが合理的に要求する利用規約およびその他のサードパーティの規約に同意する必要があります。このプロセスを開始するには、以下のリンクをたどってください。その後、手動でページを更新してください。

税金や支払いの情報を入力する必要がない場合は、Marketplaceサポートに連絡してサポートを受けてください。

税プロファイルが確認されます。現在、システムはHyperwalletアカウントを準備しています。しばらくしてからもう一度確認してください。

押せるようになった

おせるので

今すぐ確認するとかおして

確認して

免許アップする画面になった。

めんきょアップして送信した。

Your account is successfully activated!!!!!!

しばらくして。。。。

総預金残高 の画面

PayPal送金方法に使用する電子メールアドレスは、プロファイルの電子メールアドレスと同一でなければなりません。

PayPalアカウント作らされるハメになった。。。

申し訳ありませんが、この銀行はすでにPayPalアカウントに登録済みで、登録可能な上限数に達しています。

とかいわれる始末

銀行口座を直接登録した。

入れた。

[UnrealEngine] UE Python で TGAを書き出す方法

task = unreal.AssetExportTask()
task.set_editor_property('automated', True)
task.set_editor_property('filename', outfilepath)
task.set_editor_property('object', texture2d)
task.set_editor_property('prompt', False)
task.set_editor_property('exporter', unreal.TextureExporterTGA())

check = unreal.Exporter.run_asset_export_task(task)
      
if check==True:
    pass
else:
    alert(u"tga イメージの生成に失敗しました")

参考

https://zhuanlan.zhihu.com/p/240826602

[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

【UE4】予測パスを表示させてアイテムを投げる【逆引きUE】で投げた時に後ろに飛ぶ場合の対処方法

この動画をUE5Preview2でやった場合ボールが後ろに飛びました。

なんとなく予測パスメッシュにボールがぶつかったとか、投げる前のボールに投げる用のボールがぶつかったとか

Velocityがちゃんと設定されなかったとか

が気になりまして、ノード順番を変えてみましたがダメでした。

Spawn0.5秒後にProjectile Movementの Velocityを直接設定し

Hit ActorのDestroyActorを外したらうまくいきました。

socketの位置もほぼまんまになるように合わせました

Waterプラグインを使った場合に詳細のコリジョンには、PhysicsMaterialsを設定する場所がありません、どのように水と判別したらよいでしょうか? #アンリアルクエスト 2 (「歩く地面によって足音を変えよう」)の自己解決

まず。解決策は。

2つAnimNotify設定して

AnimNotify発火したら

大きく

とりあえずこっちはこのままです。
レイの長さが10なくらいです。=海のしたの地面に届かぬ用。

とりあえずこのままで、

Waterプラグインそのものの使い方は他のブログを見てください。  

フィジックス物理マテリアル設定するところないので。。。。

本題のWaterのColision Profile Nameをどうやってとるか?

レイ飛ばしても反応しなかったので、

WaterBodyCollisionの設定でPawnをブロックにして沈まなくしました。

あしにコリジョンつけました

これだけです!

Unreal Engine C++ Developer: Learn C++ and Make Video Games | Udemy UE4.26 Simple Shooterで自分なりに理解したこと。01300 ~NavMeshとAIの動き~

NavMeshを配置して

表示できるようにします。

表示されました。

ブラシセッティングで広げます。

BP_ShooterAIControllerを開いてPathFollowingComponentが作用しているからです。

C:\Program Files\Epic Games\UE_4.26\Engine\Source\Runtime\AIModule\Classes\AIController.h

MoveToを見ると

MoveToActor

MoveToLocation

MoveTo

の3つがあります。

	/** AIを指定されたゴールアクターに向けて移動させ(宛先は継続的に更新されます)、
次のアクティブなパスを中止します
* @ paramAcceptanceRadius-ポーンが十分に近づいたら移動を終了します
* @ parambStopOnOverlap-ポーンの半径をAcceptanceRadiusに追加します
* @param bUsePathfinding-ナビゲーションデータを使用してパスを計算します
(そうでない場合は直線になります)
* @param bCanStrafe-フォーカス関連フラグを設定します:bAllowStrafe
* @ paramFilterClass-パスファインディング調整用のナビゲーションフィルター。
指定されていない場合、DefaultNavigationFilterClassが使用されます
* @ parambAllowPartialPath-目標に到達できない場合は不完全なパスを使用します
* @note AcceptanceRadiusは、ヘッダーパーサーが
UPathFollowingComponent :: DefaultAcceptanceRadiusを認識できないため、
デフォルト値または-1になります。*/
	UFUNCTION(BlueprintCallable, Category = "AI|Navigation", Meta = (AdvancedDisplay = "bStopOnOverlap,bCanStrafe,bAllowPartialPath"))
	EPathFollowingRequestResult::Type MoveToActor(AActor* Goal, float AcceptanceRadius = -1, bool bStopOnOverlap = true,
		bool bUsePathfinding = true, bool bCanStrafe = true,
		TSubclassOf<UNavigationQueryFilter> FilterClass = NULL, bool bAllowPartialPath = true);

なので

\ShooterAIController.cpp

// Fill out your copyright notice in the Description page of Project Settings.


#include "ShooterAIController.h"

#include "Kismet\GameplayStatics.h"

void AShooterAIController::BeginPlay()
{
    Super::BeginPlay();
    APawn* PlayerPawn= UGameplayStatics::GetPlayerPawn(GetWorld(),0);

    SetFocus(PlayerPawn);
    MoveToActor(PlayerPawn,200);

}

これでプレイしてみると一度動きます。が一度しかついてきません。

C:\Program Files\Epic Games\UE_4.26\Engine\Source\Runtime\Engine\Classes\GameFramework\Actor.h

	virtual void Tick( float DeltaSeconds );

をコピーしてShooterAIController.hにTickをオーバーライドしてこうしました。

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "AIController.h"
#include "ShooterAIController.generated.h"

/**
 * 
 */
UCLASS()
class SIMPLESHOOTERCP2_API AShooterAIController : public AAIController
{
	GENERATED_BODY()
public:
	virtual void Tick( float DeltaSeconds ) override;

protected:
	virtual void BeginPlay() override;	
};

C:\Download\Game\SImpleShooter\SImpleShooterCp2 4.26\Source\SImpleShooterCp2\ShooterAIController.cpp

// Fill out your copyright notice in the Description page of Project Settings.


#include "ShooterAIController.h"

#include "Kismet\GameplayStatics.h"

void AShooterAIController::BeginPlay()
{
    Super::BeginPlay();
    //APawn* PlayerPawn= UGameplayStatics::GetPlayerPawn(GetWorld(),0);

    
}
void AShooterAIController::Tick(float DeltaSecond)
{
    APawn* PlayerPawn= UGameplayStatics::GetPlayerPawn(GetWorld(),0);
    SetFocus(PlayerPawn);
    MoveToActor(PlayerPawn,200);

}

NavMeshを広げておかないとAIキャラクターが歩きにくいみたいです

できたのがこれ、

AIキャラクターが回転しないバグは次のときに説明するみたい。

Unreal Engine C++ Developer: Learn C++ and Make Video Games | Udemy UE4.26 Simple Shooterで自分なりに理解したこと。01200 ~AI Aimining~

Control + P でAIControllerと入力して

UE_4.26\Engine\Source\Runtime\AIModule\Classes\AIController.h

を開きます。

    /* 特定の優先度にフォーカスアクター設定し、結果としてFocalPointを設定します。*/    virtual void SetFocus(AActor* NewFocus, EAIFocusPriority::Type InPriority = EAIFocusPriority::Gameplay);

/ *特定の優先度にフォーカスアクターを設定し、結果としてFocalPointを設定します。 * /
	/* Set Focus actor for given priority, will set FocalPoint as a result. */
	virtual void SetFocus(AActor* NewFocus, EAIFocusPriority::Type InPriority = EAIFocusPriority::Gameplay);

   

こっちは

指定された優先度のフォーカスをクリアし、結果としてFocalPointもクリアします@paramInPriorityフォーカス優先度をクリアします。 何を使用すればよいかわからない場合は、おそらくEAIFocusPriority :: Gameplay * /を意味します。

  virtual void ClearFocus(EAIFocusPriority::Type InPriority);

	/** 指定された優先度のフォーカスをクリアし、結果としてFocalPointもクリアします
* @paramInPriorityフォーカス優先度をクリアします。 何を使用すればよいかわからない場合は、おそらくEAIFocusPriority :: Gameplay * /を意味します。*/
	virtual void ClearFocus(EAIFocusPriority::Type InPriority);

フォーカスの優先度ってなによってなるので見てみると

その列挙型の定義を見てみると、デフォルトの動きMoveゲームプレイがあることがわかります

そしてそれらは基本的に優先順位の順にリストされています。

//これが通常の列挙型ではなく名前空間である理由は
//ゲーム固有のコードで拡張できるようにする
// @todoこれは少し面倒なので、リファクタリングする必要があります
namespace EAIFocusPriority
{
	typedef uint8 Type;

	const Type Default = 0;
	const Type Move = 1;
	const Type Gameplay = 2;

	const Type LastFocusPriority = Gameplay;
}

struct FFocusKnowledge
{
	struct FFocusItem
	{
		TWeakObjectPtr<AActor> Actor;
		FVector Position;

		FFocusItem()
		{
			Actor = nullptr;
			Position = FAISystem::InvalidLocation;
		}
	};
	
	TArray<FFocusItem> Priorities;
};

私たちは主にこのゲームプレイを使用するので、それらをあまり使用する必要はありませんでした

次に

UE_4.26\Engine\Source\Runtime\Engine\Classes\GameFramework\Actor.h

protected:
	/** Overridable native event for when play begins for this actor. */
	virtual void BeginPlay();

をコピーして

ShooterAIController.hにペーストしてオーバーライドします

// Fill out your copyright notice in the Description page of Project Settings.

#pragma once

#include "CoreMinimal.h"
#include "AIController.h"
#include "ShooterAIController.generated.h"

/**
 * 
 */
UCLASS()
class SIMPLESHOOTERCP2_API AShooterAIController : public AAIController
{
	GENERATED_BODY()
protected:
	virtual void BeginPlay() override;	
};

C:\Program Files\Epic Games\UE_4.26\Engine\Source\Runtime\Engine\Classes\Kismet\GameplayStatics.h

	/** 指定されたプレーヤーインデックスのプレーヤーポーンを返します */
	UFUNCTION(BlueprintPure, Category="Game", meta=(WorldContext="WorldContextObject", UnsafeDuringActorConstruction="true"))
	static class APawn* GetPlayerPawn(const UObject* WorldContextObject, int32 PlayerIndex);

をみると指定されたプレーヤーインデックスのプレーヤーポーンを返しますので

// Fill out your copyright notice in the Description page of Project Settings.


#include "ShooterAIController.h"

#include "Kismet\GameplayStatics.h"

void AShooterAIController::BeginPlay()
{
    Super::BeginPlay();
    APawn* PlayerPawn= UGameplayStatics::GetPlayerPawn(GetWorld(),0);

    SetFocus(PlayerPawn);

}

できたのがこれ