トップページ > 記事閲覧
MV1SetMaterialSubDifMapTextureについて
名前:コモリ 日時: 2020/08/01 12:57

現在ダウンロードページに記載しているC#用ライブラリを使用しています。 DxLib/DxLibDotNet3_21f.zip MV1SetMaterialSubDifMapTextureが存在しないとエラーがでました。 C#用では実装されていない機能なのでしょうか?
メンテ

Page: 1 |

Re: MV1SetMaterialSubDifMapTextureについて ( No.1 )
名前:コモリ 日時:2020/08/01 13:41

c++用も試しに入れてみたのですが、MV1SetMaterialSubDifMapTextureは存在しないと言われました。 マルチテクスチャのやり方について、再度教えて欲しいです m(_ _)m
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.2 )
名前:管理人 日時:2020/08/02 10:54

すみません、MV1SetMaterialSubDifMapTexture はVer3.21fの公開後に追加した関数でした お手数で申し訳ありませんが、MV1SetMaterialSubDifMapTexture が含まれている こちらの暫定最新版をダウンロードしてお使いください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.3 )
名前:コモリ(解決) 日時:2020/08/02 13:00

ありがとうございます! 早速試してみます!
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.4 )
名前:コモリ 日時:2020/08/02 19:18

一日試してみたのですが正常に反映されなかったので、いくつか質問させてください。 ・テクスチャとマテリアルの違いについて  メタセコイア側で材質の欄を1つのみで保存した後プログラムで読み込みテクスチャとマテリアルの数を調べてみたところ、  テクスチャ1つ、マテリアル2つという結果になりました。  また材質の欄を2つで保存した場合、テクスチャ2つ、マテリアル3つという結果になりました。  なぜこのような結果になるのでしょうか? ・MV1SetMaterialSubDifMapTextureをテストする時に使用したプログラムとモデルは存在するでしょうか?  もし存在して公開可能ならば、理解を深めるために頂きたいです。 マテリアルの理解が紙のように薄いです...よろしくお願いしますm(_ _)m
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.5 )
名前:コモリ 日時:2020/08/02 19:48

追記 マテリアル数の数だけMV1SetMaterialSubDifMapTextureを実行してみましたが何も変わりませんでした。 ・「使用していないテクスチャ」に画像を貼る。 ・MV1SetMaterialSubDifMapTextureでマテリアルに「使用していないテクスチャ」を貼る ・モデル描画 この手順に間違いはありませんよね?
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.6 )
名前:管理人 日時:2020/08/04 00:26

> ・テクスチャとマテリアルの違いについて >  メタセコイア側で材質の欄を1つのみで保存した後プログラムで読み込みテクスチャとマテリアルの数を調べてみたところ、 >  テクスチャ1つ、マテリアル2つという結果になりました。 >  また材質の欄を2つで保存した場合、テクスチャ2つ、マテリアル3つという結果になりました。 >  なぜこのような結果になるのでしょうか? DXライブラリで読み込むと NoMaterial という『マテリアルが適用されていないポリゴン用のマテリアル』が 勝手に追加されるため、メタセコイア側での材質の数より一つ多くなります DXライブラリのパッケージの中の Tool\DxLibModelViewerフォルダに DxLibModelViewer.exe という 3Dモデルビューアーがありますので、よろしければ作成された3Dモデルを DxLibModelViewer.exe で 読み込んでマテリアルの欄を確認してみてください m(_ _)m > ・MV1SetMaterialSubDifMapTextureをテストする時に使用したプログラムとモデルは存在するでしょうか? >  もし存在して公開可能ならば、理解を深めるために頂きたいです。 テストプログラムがあるか確認してみたのですが、実装時のものがありませんでした もしかしたら関数を実装したものの実際には使わなかった( ご要望に対しての回答として使う必要が無かった )のかもしれません そして、手元で使用できるか確認してみたのですが、正常に動作しませんでした… ( MV1SetMaterialSubDifMapTexture でマルチテクスチャにしても、テクスチャが2重にならなかった ) 原因を少し調べてみたのですが、分かりませんでした 明日以降深い所まで時間をかけて調べる必要がありそうなので、正常に使用できるように なるまで何日か掛かるかもしれません 申し訳ありませんが少々お時間をください m(_ _;m > ・「使用していないテクスチャ」に画像を貼る。 > ・MV1SetMaterialSubDifMapTextureでマテリアルに「使用していないテクスチャ」を貼る > ・モデル描画 はい、こちらの手順で間違いありません
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.7 )
名前:コモリ 日時:2020/08/04 16:44

対応ありがとうございます。 ライブラリ側の問題でしたか... 急ぎの開発と言うわけではありませんので、ゆっくり待ちたいと思います。
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.8 )
名前:管理人 日時:2020/08/05 02:07

思ったほど時間が掛かることなく修正することができました よろしければ正常に MV1SetMaterialSubDifMapTexture が動作するようになったこちらの 修正バージョンをお試しください m(_ _)m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.9 )
名前:コモリ(解決) 日時:2020/08/05 13:34

こちらの環境でも正常に動作しました! 迅速な対応、ありがとうございましたm(_ _)m
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.10 )
名前:コモリ 日時:2020/08/05 13:53

最後に一つだけ... もともと半透明のマテリアルに重ねてテクスチャを貼った場合、2枚目のテクスチャが透けるのは仕様でしょうか? 例えば、ガラスの上にシールを貼ったら、シールも透ける感じです。
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.11 )
名前:管理人 日時:2020/08/06 00:52

> もともと半透明のマテリアルに重ねてテクスチャを貼った場合、2枚目のテクスチャが透けるのは仕様でしょうか? はい、仕様です マテリアルの色の設定 = 不透明 1枚目のテクスチャ = 半透明 2枚目のテクスチャ = 不透明 ↑こちらのような設定の場合は2枚目のテクスチャが不透明で表示されますが マテリアルの色の設定 = 半透明 1枚目のテクスチャ = 不透明 2枚目のテクスチャ = 不透明 ↑こちらのような設定の場合は2枚目のテクスチャも半透明で表示されます ( マテリアルの色の設定は1枚目のテクスチャに対してのみ適用されるパラメータではないので… )
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.12 )
名前:コモリ 日時:2020/08/06 11:58

すいません。私の言い方が悪かったです... マテリアルの色の設定 = 不透明 1枚目のテクスチャ = 半透明 2枚目のテクスチャ = 不透明 ↑の場合でも2枚目のテクスチャが透けるかと思います。 以下自分が試したこと 上記の条件から、プログラム内で一枚目のテクスチャを半透明から不透明の画像に変えたところ、2枚目のテクスチャも半透明から不透明になった。 一枚目のテクスチャを透明と不透明、半々の画像に変えたところ、2枚目のテクスチャも同じところが透明と不透明に分かれた。 マテリアル側の透明度を明示的に変えても効果ありませんでした。 MV1SetMaterialDrawBlendMode(handle, material, DX_BLENDMODE_ALPHA); MV1SetMaterialDrawBlendParam(handle, material, 255);
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.13 )
名前:管理人 日時:2020/08/08 00:12

> マテリアルの色の設定 = 不透明 > 1枚目のテクスチャ = 半透明 > 2枚目のテクスチャ = 不透明 >  > ↑の場合でも2枚目のテクスチャが透けるかと思います。 すみません、私も手元で試して2枚目のテクスチャも透けるのを確認しました orz 1枚目の透明な箇所も2枚目が不透明であれば透けないように修正したバージョンを アップしましたので、何度も申し訳ありませんが、よろしければお試しください m(_ _;m https://dxlib.xsrv.jp/temp/DxLibVCTest.zip // Windows版 VisualC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCCTest.zip // Windows版 BorlandC++ 用 https://dxlib.xsrv.jp/temp/DxLibBCC2Test.zip // Windows版 C++ Builder 10.3 用 https://dxlib.xsrv.jp/temp/DxLibGCC_MinGWTest.zip // Windows版 MinGW 用 https://dxlib.xsrv.jp/temp/DxLibDotNet.zip // Windows版 .NET用 https://dxlib.xsrv.jp/temp/DxLibMakeTest.zip // ソース (中身を既存のライブラリのファイルに上書きして『リビルド』をして下さい)
メンテ
Re: MV1SetMaterialSubDifMapTextureについて ( No.14 )
名前:コモリ(解決) 日時:2020/08/08 03:25

こちらでも正常に動作しました。 対応ありがとうございましたm(_ _)m
メンテ

Page: 1 |

題名
名前
コメント
パスワード (記事メンテ時に使用)

   クッキー保存