Posted at

AnyPortraitの組み込みメモ

v1.0.x 系から v1.1.3にアップデートした時の作業メモ。

C94まではマルチカメラで合成してたけど、Billportに対応したらしいので、C95からは2.5D的に3D空間へ統合。


3Dへの統合問題(ビルポート)

AnyPortraitの最近のバージョンで、Billportオプションがついたが、微妙に不十分で、カメラのrotateをいじると崩れる。

故にこんな感じで対象のAnyPortraiteオブジェクトの"親の"GameObjectに付与してやる必要あり。

[SerializeField]

Transform m_cameraTf;
[SerializeField]
Transform m_tf;
Vector3 m_toword = Vector3.zero;

void Update(){
if(m_toword != -m_cameraTf.forward){
m_toword = -m_cameraTf.forward;
m_tf.forward = m_toword;
}
}


3Dへの統合問題(その他)


配置管理

普段2D的な動かし方ばっかりやってて、3Dの場合の動かし方をど忘れしがち...


ライティング問題


  • 読み込ませるシーン間でLighting設定を一致させておかないと超Warning出る。

  • 通常時は、Layer分けて、Lightingの対象から外しておくのが吉


バージョンアップ時の注意点


  • 上記で意味深に "親の" と書いたが、最新バージョンでは、一段、GameObjectでネストしてやって、座標移動は親のTransformを対象にする必要あり。(常時リセットされる)


  • FPSのバグが調整されたので、多分、前よりスローモーションに感じること多々あり。それみこして、Editor側で低速なモーションにしていた場合、調整の必要あり。



3Dシーンに統合した場合の丸影の落とし方

当たり前だが、2D側の丸影を残しておくと、違和感がすごい上に、細かくCollider調整してやらないと、不自然になっちゃうシーンが多々。

故に、Blob Shadow Projectorとか使っちゃうのが無難。