CRIWARE for C#
CRIWARE for C# はC#開発環境で利用可能なCRIWAREプラグインです。
本マニュアルはCRIWARE for C# の利用方法やサンプルプロジェクトの説明を含みます。
対応環境
対応ランタイムは次のとおりです
- netstandard2.1
- Unity 2021 以降
対応機種は次のとおりです。
- Windows x86_64
- macOS x86_64/arm64
- iOS arm64
- Android armeabi-v7a/arm64-v8a
- Linux x86_64
また、いくつかのプラットフォームとフレームワークの組み合わせによっては利用いただけない環境があります。
- dotnet8~ Native AOT ビルド (GodotEngineでのiOSビルド等)
- Mac Catalyst (.NET MAUIでのmacOS向けビルド等)
対応プロダクト
本SDKでは次のミドルウェアに対応しています
- CRI ADX
- FileMajik PRO
各ミドルウェアの機能説明はネイティブSDK向けマニュアルもご参照ください。
- https://game.criware.jp/manual/native/adx2/latest/index.html
- https://www.criware.jp/documents/adx2/pc/ja/fmp/index.html
他SDKからの移行
Unityプラグインに慣れている方へ
CRIWARE for Unityではプラグイン内部で行っていた一部処理をアプリケーション側で行う必要があります。
詳細はサンプルプロジェクトをご確認ください。
初期化処理
Unityプラグインではシーン内にコンポーネントを配置して初期化を行いますが、本プラグインではコードからの初期化が必須です。
このとき、Unityプラグインでは初期化処理に付随して行っていた各種リソースの確保が明示的に必要です。
最低限、ボイスプールとDbasの作成をおすすめします。
ゲームオブジェクト/コンポーネント
CRIWARE for C# では GameObject/Component 等のUnity特有機能との連携はありません。
例として、3Dポジショニングを行う場合はTransformが持つ座標/姿勢の情報を毎フレームCriAtomEx3dSourceへ渡す必要があります。
CriAtomExPlayer等のネイティブラッパークラスを利用していた場合は引き続き同様の利用が可能です。
ネイティブプラグインに慣れている方へ
本プラグインはネイティブSDKとほぼ同様のAPI体系で利用いただけますが、アロケータの利用を前提としている点にご留意ください。
本プラグインでは専用のアロケータを利用する前提でハンドルを管理しています。
ネイティブAPIを利用する場合、初期化や各ハンドルの確保時にワーク領域とサイズを渡すことが可能ですが、本プラグインでは非推奨です。
また、アロケータはCriWare.CriAtomCSharp.Initialize(CriWare.CriAtomCSharp.Config)メソッド内で登録されます。
上記メソッドを利用する場合はアプリケーションコードからアロケータを登録する必要はありません。
機種固有の初期化メソッドを利用する場合は、CriWare.CriAtomCSharp.SetupDefaultAllocator()メソッドを利用して
専用のアロケータを登録してください。