UE4/5C++ マルチスレッドプラグイン制作 (0. はじめに)

目次

プラグインの紹介

プラグインエフェクト

プラグインの使用

英語


プラグインの紹介

このプラグインの制作はゼロからスタートし、エフェクトの作成からパッケージ化、レイヤーごとにプラグインをパッケージ化して、簡単かつ大雑把にプラグインを作成するまで、空白のプラグインを少しずつ作成します。 :

プラグインエフェクト

このプラグインはブループリントではなく cpp で使用するため、ブループリント インターフェイスの精巧な制作はありません [ブループリント インターフェイスはありますが、特別に作られたものではないため、このブループリント インターフェイスは実際にはゲームインスタンスなどのことを行うための単純な非同期読み込みに使用されます。必要に応じて、対応する関数を自分で追加できます。

プラグインの使用

このプラグインの使用方法は、MTPLevelSubsystemBPInterface.h の下部にメモしました。これは実際にはポーン クラスです。使用方法を知るには、内部の対応する関数をポーン クラスにコピーするだけで済みます。まだ説明は簡単です:

主な用途は、いくつかの広いカテゴリに分類されます。

カスタム スレッドの作成、単純かつ直接にスレッドを作成します: FThreadAgendyManage ThreadAgendyManage;
カスタム スレッド プール、スレッド プールにタスクをスローし、タスクを実行できます: FThreadTaskManageMent ThreadTaskManageMent;
使用中のスレッド プールからスレッドの実行を直接取得します: FMTPThreadAbandonableManage ThreadAbandonableManage;

コルーチン: FMTPCコルーチン管理コルーチン管理;

先行タスクの ue スレッド プールを設定できます: FMTPThreadGraphManage GraphManage;
リソース読み取り: FResourceLoadManage ResourceLoadManage;

使用方法は同じで、最初に管理を取得してからcreateまたはbindを使用します。createはバインド直後に非同期で実行します。bindは作成後に一時停止します。joinまたはdetachを使用するかどうかはユーザーが決定します。 。

英語

 このプラグインの使用方法は、MTPLevelSubsystemBPInterface にあります。コメントを作成しました。実際にはポーン クラスです。対応する関数内をポーン クラスにコピーするだけで、その使用方法を知ることができますが、それでも説明は簡単です。

カスタム スレッドの作成。単純にスレッドを直接作成します。 FThreadAgendyManage ThreadAgendyManage;

スレッド プールをカスタマイズするには、タスクをスレッド プールにスローし、タスクを実行します。 FThreadTaskManageMent ThreadTaskManageMent;

スレッド プールのスレッド実行で ue から直接取得します。 FMTPThreadAbandonableManage ThreadAbandonableManage;

コルーチン: FMTPCコルーチン管理コルーチン管理;

前のタスクの ue スレッド プールを設定できます。 FMTPThreadGraphManage GraphManage;

リソース読み取り:FResourceLoadManage ResourceLoadManage;

それらの使用方法は同じで、最初にそれらの管理を取得し、次に作成またはバインドを使用します。バインドの直後に非同期を作成します。結合またはデタッチを使用するかどうかに応じて、バインドが作成および一時停止されます。

おすすめ

転載: blog.csdn.net/q244645787/article/details/132001284