BlenderでBooleanModifierによる断面に色を付ける

前提: 

Blenderでモデルを作成する際、再加工のしやすさからBooleanModifieで形をつくる箇所がある。

例としては、銃眼の穴やモールドを開けたり、複数オブジェクトからなる給気口で同じ断面を作ったりする。

形状を作ったあと、着色する。

Blenderの着色では、オブジェクト上を平面ごとに色を塗り分けることができる。

 

問題:

しかしこのとき、BooleanModifierで作られた面は、元Objectには存在しないことになるため、Modifiyerによる加工を非可逆にApplyしてしまわなければ着色できないことになる。


解決方法:

Booleanで抜きに使うObjectと、抜く対象のObjectの両方のMaterialProperty(使用する色)に、付けたい色を登録する。

抜きに使うObjectを付けたい色に着色すると、BooleanModifierで抜いた箇所が着色される。

 

注意点として、このとき、抜く対象の側のObjectに抜き色を登録しておくのを忘れると、着色されない。


実際の作業のようす

 

着色前の状態

銃眼あたりを見ると、影が入っている

画像は結果がわかりやすいよう機体の塗装色を白に寄せています。


実際の作業の動画




WebExtensionsのAPIの非同期対応が呼び出し箇所により異なる(Async,Primise)

 TL;DR FireFoxでchrome.*()系APIを使うとき、content_scriptだけpromiseなAPIで、ほかはコールバックな模様 概要 そもそも、 - FireFoxはChrome拡張機能互換の一環として、chrome.storage.local.get(...