Re: LIVE2DとMMDを同時に表示したい ( No.1 ) |
- 名前:管理人 日時:2020/08/06 00:54
すみません、Live2D_Model_Draw によるLIVE2Dの描画を行うと MV1DrawModel による3Dモデルの描画が
行われなくなるのはDXライブラリのバグです
こちらに3Dモデルも正常に描画されるように修正したバージョンをアップしましたので
よろしければお試しください m(_ _;m
https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用
|
Re: LIVE2DとMMDを同時に表示したい ( No.2 ) |
- 名前:あっぷる 日時:2020/08/06 14:45
管理人様
早々のご対応ありがとうございます
無事にLive2DとMMDが同時に表示可能となりました
ただ、Live2Dを表示させた時とさせない時で
MMDの表示位置が変化してしまいます
(MMDのモデルが左下に小さく表示される)
これはLive2Dモデルの設定に引きずられるのでしょうか?
また、MMDではない3Dモデルを表示する場合のDX.MV1DrawModel()も
MMDと同じく、Live2D表示時に消えてしまうようです
(もしかしたらMMDと同じく表示位置が変化して画面外に移動しただけかもしれません)
お手数をお掛け致します
解決方法はございますでしょうか?
|
Re: LIVE2DとMMDを同時に表示したい ( No.3 ) |
- 名前:あっぷる 日時:2020/08/06 14:46
Live2Dを表示するとMMDの位置が
変化してしまう件ですが
DX.Live2D_RenderEnd();
の直後に
元々初期化時に実行していた
DX.SetCameraNearFar();
DX.SetCameraPositionAndTarget_UpVecY();
を毎回再設定してあげると正しい位置でMMDも表示しました。
Live2Dを表示させると、設定してあったカメラ情報が上書きされるようです
この方法ならMMDではない、3DモデルのDX.MV1DrawModel()も正しく表示しましたので
やはりカメラ情報が変化したことで見えなくなっていただけだったようです
|
Re: LIVE2DとMMDを同時に表示したい ( No.4 ) |
- 名前:管理人 日時:2020/08/08 00:14
お試しいただきありがとうございます
> ただ、Live2Dを表示させた時とさせない時で
> MMDの表示位置が変化してしまいます
> (MMDのモデルが左下に小さく表示される)
> これはLive2Dモデルの設定に引きずられるのでしょうか?
> 元々初期化時に実行していた
> DX.SetCameraNearFar();
> DX.SetCameraPositionAndTarget_UpVecY();
> を毎回再設定してあげると正しい位置でMMDも表示しました。
> Live2Dを表示させると、設定してあったカメラ情報が上書きされるようです
すみません、ご指摘の通り Live2Dモデルの設定に引きずられていました
Live2D_RenderEnd を呼ぶことでカメラの設定などを元の状態に戻すように修正しましたので
よろしければこちらの修正版をお試しください m(_ _;m
https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用
|
Re: LIVE2DとMMDを同時に表示したい ( No.5 ) |
- 名前:あっぷる 日時:2020/08/08 00:25
管理人様
ご対応ありがとうございます
さっそく使わせて頂きます
一点、確認させてください
Live2Dの表示に使われるカメラ設定は
元々設定済みのカメラ設定とは違う独自の設定であり
Live2Dの描写後に元のカメラ設定に戻すという
認識でよいでしょうか?
|
Re: LIVE2DとMMDを同時に表示したい ( No.6 ) |
- 名前:管理人 日時:2020/08/09 20:29
> 一点、確認させてください
> Live2Dの表示に使われるカメラ設定は
> 元々設定済みのカメラ設定とは違う独自の設定であり
> Live2Dの描写後に元のカメラ設定に戻すという
> 認識でよいでしょうか?
はい、そのご認識で間違いありません
|
Re: LIVE2DとMMDを同時に表示したい ( No.7 ) |
- 名前:あっぷる 日時:2020/08/10 15:47
管理人様
ご回答ありがとうございます
その認識で作り込んでみます
あれからLive2Dの表示テストを行っているのですが
画面の右端、左端ぴったりに表示させる事に苦労しています
| ○ |デフォルト位置
|○ |左端
| ○|右端
位置指定の関数で調整はできるのですが、
表示させるモデルの縦横幅を考慮する方法がわからず、
単純に画面幅の半分をオフセットとしてプラスマイナスさせると
以下のように半分欠けて表示されます
|) |
| (|
絵は動きますし、モーション切り替えなどもあるので
一概にここが右端、左端と決めにくいとは思いますが
もしよい方法が御座いましたら、教えていただけると助かります
|
Re: LIVE2DとMMDを同時に表示したい ( No.8 ) |
- 名前:管理人 日時:2020/08/10 22:15
あっぷるさんの仰る通り絵は動きますし、サイズもLive2Dモデルによって様々なので
『こうすれば右端・左端にぴったり表示できる』という方法は無いと思います
Live2Dモデルの作成を自ら行っている場合は
『Live2D_Model_SetTranslate( Live2DModel, 800.0f, 0.0f );を実行すれば画面の右端に表示されるようにLive2Dモデルを作る』
といったことができると思いますが、そうではない場合はLive2Dモデル一つ一つについて
『Live2DモデルAは Live2D_Model_SetTranslate( Live2DModel, 900.0f, 0.0f ); で右端ぴったりになる』
『Live2DモデルBは Live2D_Model_SetTranslate( Live2DModel, 1200.0f, 0.0f ); で右端ぴったりになる』
『Live2DモデルCは Live2D_Model_SetTranslate( Live2DModel, 600.0f, 0.0f ); で右端ぴったりになる』
と、Live2Dモデル毎に『どれだけオフセットすれば左端・右端ぴったりになるか』を調べて場合分けするしか無いと思います…
|
Re: LIVE2DとMMDを同時に表示したい ( No.9 ) |
- 名前:あっぷる 日時:2020/08/12 09:13
管理人様、ご回答ありがとうございます
やはりぴったり表示は難しいですね
モデルは自作しております
当たり判定エリアとかでなんとかなりそうでしたらご報告致しますが
まずはおおまかなサイズをデフォルトサイズとして設定して
あとは、モデル毎に個別微調整できる方向で進めてみたいと思います
ご対応ありがとうございました
|