【SketchUp】マテリアルカラーの数値がズレる

SketchUp

今回はSketchUpのマテリアルカラーの数値が勝手に変わってしまう不具合(バグ?)についてお伝えします。以前から疑問に思っていた方もいるのではないでしょうか?

ひとつ、実験をしてみます。マテリアルの編集で、HSBモードで数値を (271, 91, 71) と入力してみましょう。

次に、RGBモードに変更してください。値が (100, 15, 181) に変わりました。もう一度、HSBモードに戻してみてください。値は (270, 91, 70) となり、最初の設定からズレていますね。

・・・はぁ! ? (怒)

と、思った経験のある方。この原因について結論を言うと、

  • SketchUpでは色情報を常にRGBに変換して保存する
  • 数値の小数点以下を無視してしまう

ということです。

具体的に説明します。RGBとHSB(HSV)の相互変換は、ある公式によって行われます。以下の計算はこちらのWebサイトを参考にしました。

まず、HSBで (271, 91, 71) と入力すると、SketchUpの内部処理でRGBに換算されます。公式通りに計算すると、

R= 101.418175 , G= 16.2945 , B= 181.05

となります。ここで、SketchUpは小数点以下を無視してしまうので、

R= 101 , G= 16 , B= 181

ということで計算が確定します。これを更に公式でHSBに変換すると、

H= 270.9090909 , S= 91.16022099, B= 70.98039216

となりますが、 もう一度HSBモードにした時にはまた小数点が無視されてしまうので

H= 270 , S= 91 , B= 70

と表示されてしまうのです。

対策は、

  • RGBモードのみを使う(HSBやHLSは使わない)

ということしか今のところありません。もちろん、多少の数値ズレを大目に見られる人は気にせずHSBを使っても構いません。あるいは、SketchUpの色設定は暫定的なものと割り切って、最終的にはTwinmotionなどの他のツールでマテリアルを整えてレンダリングするのが良いでしょう。

そんなこと言っても、 HSBを使いたい時もありますよね。私は色彩シミュレーションが今のメインの仕事の一つで、HSBの値を少しずつずらしながらマンセル色立体(疑似)を作ったことがありますが、この不具合のせいで大分苦労しました・・・。

以上.

↓SketchUpの概要把握におススメの書籍

タイトルとURLをコピーしました