概要

../_images/plugin_logo.png

概要

ゲームエンジンUnityとの連携について説明します。
なお、Unity Technologies社とこのツールは特に提携しているというわけではないため、
バージョンや状況によっては上手く動作しない可能性があります。

Effekseerの再生プログラムはC++で書かれているため、Unity上ではネイティブプラグイン扱いになります。

動作環境

Unityバージョン

Unity 2019 以降

プラットフォーム

EffekseerForUnityには2種類のレンダラーがあります。1つ目はComputeShaderで描画するUnityRendererです。2つ目はネイティブのAPIで描画するNativeRendererです。 UnityRendererはComputeShaderが有効な全ての環境で動きます。一方、NativeRendererは限られたプラットフォームでしか動きません。しかし、マルチスレッドで描画することができます。 レンダラーは 設定ファイルを作成し、設定ファイルから選択できます. もし、サポートされていないレンダラーが選択されていた場合、自動的にレンダラーが変更されます。

Platforms Graphics API UnityRenderer NativeRenderer Notes
Windows DirectX9 OK
DirectX11 OK OK
DirectX12 OK
OpenGLCore Theoretically
macOS OpenGLCore Theoretically OK
OpenGL2 OK
Metal OK
Android OpenGL ES 2.0 OK Vulkanは2019以降
OpenGL ES 3.0 OK
Vulkan OK
iOS OpenGL ES 2.0 OK Metalは2018以降。
現在、歪みを使用するにはHDRをオフにする必要があります。
OpenGL ES 3.0 OK
Metal OK
WebGL OpenGL ES 2.0 (WebGL 1.0) OK 起動直後に音を再生するとおかしくなります。
OpenGL ES 3.0 (WebGL 2.0) OK
Console Game Theoretically 開発者がC++をコンパイルする必要があります。

Theoretically - テストはしていないですが、理論的には動作します。

導入方法

Effekseer.unitypackage を開いてUnityプロジェクトにインポートします。

../_images/unity_import.png

既知の問題

  • DirectX11のForwardレンダラーで、Editor上のGameViewのみ、3Dモデルの表裏が逆になります。Effekseer上でカリングの設定を変更してください。

Todo

  • ネイティブ描画の実装 (Metal, Vulkan)

  • ポイントライトのコントロール

  • インスタンスのコリジョン判定