Re: 3Dモデルの輪郭線の透明度について ( No.1 ) |
- 名前:管理人 日時:2024/09/17 22:57
> 輪郭線を半透明ににして少しでも改善しようと思いましたが透明度が反映されず、仕様でしょうか?
はい、仕様となります
輪郭線のみ半透明にした場合、輪郭線の部分のみ背後の描画物が透けて見えるなどの見た目上の問題が
発生するので、輪郭線の色のアルファ値は無視されるようになっています
SetFullSceneAntiAliasingMode という関数を DxLib_Init の呼び出し前に使用することで3Dの描画に
アンチエイリアスを掛けることができますので、こちらを使用することでドット感を軽減することができます
// 画面のフルスクリーンアンチエイリアスモードの設定をする
// int Samples : マルチサンプルレベル
// int Quality : マルチサンプルクオリティ
int SetFullSceneAntiAliasingMode( int Samples, int Quality ) ;
<SetFullSceneAntiAliasingModeの解説>
https://dxlib.xsrv.jp/function/dxfunc_graph3.html#R4N8
// 使用例
SetFullSceneAntiAliasingMode( 8, 8 ) ;
Samples と Quality の値を大きくすればするほどドット感が軽減されますが、
値の大きさに比例して描画負荷が高くなりますので負荷と見た目のバランスの取れた値を探ってみてください m(_ _)m
|
Re: 3Dモデルの輪郭線の透明度について ( No.2 ) |
- 名前:みこ 日時:2024/09/18 02:00
ありがとうございます!
了解しました!
完全にドット感を抜ききるのは難しそうですね...輪郭線の色を薄くして調整してみます
また表題とは関係無いですが別件で2点お尋ねしたいです💦
・DxLibModelViewerで選択テクスチャの削除をして保存をするとmv1ファイルが破損して読み込めなくなります
※同じテクスチャが重複して読み込まれていたので軽量化のために同じテクスチャを削除しようとしました
念のためmv1ファイルを共有します
ttps://drive.google.com/open?id=1bF2BSQY37Bw9tAQ312hV2mKuduzOmClo&usp=drive_fs
・テクスチャを新規追加する関数は無いでしょうか?
やりたい事としましては、マテリアルでディフューズグラデーションマップが読み込まれてない場合は(indexが-1なら)
予めグラフィックハンドルに読み込んだグラデーションマップ画像を追加したいです
お手数をお掛けしますがよろしくお願いいたします m(_ _)m
|
Re: 3Dモデルの輪郭線の透明度について ( No.3 ) |
- 名前:管理人 日時:2024/09/19 16:46
|
Re: 3Dモデルの輪郭線の透明度について ( No.4 ) |
- 名前:みこ 日時:2024/09/20 00:33
お世話になっております
わざわざ関数を追加して頂きありがとうございます!助かります!
> すみません、『選択テクスチャの削除』というのは具体的にはどのような操作をされたのでしょうか?
以下にスクリーンショット "選択テクスチャの削除.png" ファイルを追加しました
ttps://drive.google.com/open?id=1bF2BSQY37Bw9tAQ312hV2mKuduzOmClo&usp=drive_fs
DxLibModelViewer(64bit)の『テクスチャ』タブにて、
テクスチャ一覧から不要なテクスチャ(重複したテクスチャ)を選択して、
"選択テクスチャの削除.png" の赤枠のボタンをクリックしてテクスチャ一覧から削除しました。
その状態でmv1形式で保存したファイルが破損してしまい読み込めなくなります。
※また、一旦すべてのテクスチャを上記の方法で削除し、『マテリアル』タブにてテクスチャを再読み込みしても結果は同じでした
お手数をお掛けしますがご確認の程よろしくお願いいたしますm(_ _)m
|
Re: 3Dモデルの輪郭線の透明度について ( No.5 ) |
- 名前:管理人 日時:2024/09/20 02:48
> DxLibModelViewer(64bit)の『テクスチャ』タブにて、
> テクスチャ一覧から不要なテクスチャ(重複したテクスチャ)を選択して、
> "選択テクスチャの削除.png" の赤枠のボタンをクリックしてテクスチャ一覧から削除しました。
> その状態でmv1形式で保存したファイルが破損してしまい読み込めなくなります。
スクリーンショットと詳しいご説明ありがとうございます
『選択テクスチャの削除』の機能を完全に失念していました…
こちらの機能は『3Dモデル内で使用されているテクスチャは削除できない』ようになっている筈なのですが、
コードを確認したところ『3Dモデル内で選択されたテクスチャが使用されているかどうか』の判定処理にバグがあり、
『3Dモデル内で使用されているテクスチャ』を削除できてしまった場合にその後保存されたファイルが
破損ファイルとなってしまうことが分かりました
『3Dモデル内で使用されているかどうか』の判定処理のバグを修正したことで使用されているテクスチャが
誤って削除されなくなり、破損ファイルが保存されることもなくなりましたので、よろしければこちらの
修正版をお試しください m(_ _;m
https://dxlib.xsrv.jp/temp/DxLibModelViewerTest.zip
|
Re: 3Dモデルの輪郭線の透明度について ( No.6 ) |
- 名前:みこ 日時:2024/09/21 00:12
お世話になっております
ありがとうございます!
確認したところ無事使用されていないテクスチャのみ削除ができました
ただ、また新たな問題が見つかりました...
【新たな問題について】
先日共有したmv1ファイルですが、64bit版では正常に読み込みますが32bit版で読み込みが失敗しました
DxLibModelViewer と MV1LoadModel関数 両方失敗しましたのでライブラリ自体の問題かもしれません
// Log.txt
7650: Total size:507974204(496068.562kb) Alloc num:2033
7650:
7650: Read Model Convert Error : 頂点座標と頂点法線を格納するメモリ領域の確保に失敗しました
7665: Fbx Load : MV1LoadModelToReadModel が失敗しました
// 確認環境
Windows11
i9-13900K
RAM 64GB
GPU RTX4070
Direct3DVersion DX_DIRECT3D_9EX
// 確認した事
Dxlib 3.24d および 3.24e(ベータ?) の両方で32bit版のみ読み込み失敗を確認
元の3Dモデルファイル(fbx)も32bit版のみ読み込み失敗を確認
【関数追加バージョンについて】
先日追加頂いたDXライブラリのAndroidとiOS版のコンパイルバージョンは共有可能でしょうか?
DxLibMakeTest.zip を使って自力でコンパイルしようとWindows版までは出来ましたがモバイル版は情報が少なく骨が折れそうでして、、申し訳ございませんm(_ _)m
お手数をお掛けしますが何卒よろしくお願いいたしますm(_ _)m
|
Re: 3Dモデルの輪郭線の透明度について ( No.7 ) |
- 名前:管理人 日時:2024/09/21 22:00
|
Re: 3Dモデルの輪郭線の透明度について ( No.8 ) |
- 名前:みこ(解決) 日時:2024/09/22 09:53
> 32bitアプリでは一つのアプリが使用できるメモリの上限が 500MB 程なのですが、
> 以前アップしていただいた mv1ファイルを読み込むと使用メモリ容量が 957MB ほどになるので、
> ログに出ています通り 32bit版ではメモリが足りず読み込みが失敗します
なるほどです、意外とメモリ食いますね...
32bitアプリは2〜4GBまでいける認識だったので盲点でした
Android版とiOS版のライブラリありがとうございます!助かります!
メモリの問題は鬼門ですがこちらで対策考えてみます
どうしてもうまくいかない場合はまたご相談させて頂きたいです(汗
|