タイトル | : DiffuseRGBとDiffuseFactorに関して |
記事No | : 682 |
投稿日 | : 2013/09/07(Sat) 01:03:10 |
投稿者 | : sygh |
koi様
いつもお世話になっております。
標題の件ですが、MQOをFBXエクスポートする際に、どうも FbxDiffuseRGB = MqoDiffuseLevelF * MqoMaterialColorRGB; FbxDiffuseFactor = 1; として出力されてしまっているように思われます。 本来であれば、 FbxDiffuseRGB = MqoMaterialColorRGB; FbxDiffuseFactor = MqoDiffuseLevelF; としなければならないのではないでしょうか? 当方FBXローダーを書いているのですが、エクスポーターで出力する際にMqoDiffuseLevelFとMqoMaterialColorRGBを乗算してしまうと、 読み込むときに各々の情報が失われてしまいます(不可逆変換)。
Metasequoia公式のLightWave Object用LWOエクスポーターはマテリアルカラーと拡散レベル(拡散光成分)を正しく可逆変換できるように出力してくれているので、 この動作に合わせていただけると助かるのですが…… 他の成分に関しても、 FbxAmbRGB = {MqoAmbLevelF, MqoAmbLevelF, MqoAmbLevelF}; FbxSpecularRGB = {MqoSpecularLevelF, MqoSpecularLevelF, MqoSpecularLevelF}; FbxEmissiveRGB = {MqoEmissiveLevelF, MqoEmissiveLevelF, MqoEmissiveLevelF}; ではなく、 FbxAmbFactor = MqoAmbLevelF; FbxSpecularFactor = MqoSpecularLevelF; FbxEmissiveFactor = MqoEmissiveLevelF; とするのが妥当かと思われます。 検証に使用したエクスポーターのバージョンは1.2.8、 読み込みに使用したFBX SDKバージョンはVC 2012用の2014.1です。
それでは、よろしくお願いいたします。
P.S. エクスポーターの開発は停止になったのかと思っていましたが、再開されて嬉しく思います。お忙しいとは存じますが、これからもがんばってください。 ちなみに英単語の「アンビエント」がどうもBBSの禁止ワードに引っかかるようなのですが……
|