2017年6月17日土曜日

ファミリのマスキング

テーブルの上に椅子?

ファミリにマスキングやシンボル線分を使用したとき、他のファミリとの前/背面関係はどうなっているのでしょうか?例えば下の図はテーブルと椅子のファミリを配置した状態です。テーブルの上に椅子が乗っています。
椅子がテーブルの上に???
3Dで見るこのようになっているんですが…
問題なさそうですよね・・・

なぜこのような表示になるのでしょうか?

前景で描画って?

この二つのファミリはそれぞれマスキングで2D用の表示が設定されています。しかもその表示設定は「前景で描画」にチェックが入っています。

テーブル

テーブルのマスキング領域

椅子

椅子のマスキング領域

いずれもマスキング領域のインスタンスパラメータ「前景で表示」が☑になっています。この前景で描画というところがポイント何です。このモデルを真横から見てみますとこうなります。
椅子のほうが平面図のカメラに近いので椅子の勝ち!

つまり、椅子の存在領域がテーブルの存在領域より上にあります。よって椅子のほうが平面図のカメラに近いため椅子のほうがテーブルより「前景で描画」されるというわけです。いってみれば上の図の赤・青の線(面)上にマスキング領域が描画されているイメージです。

前景で描画でないとどうなるのか?

ではマスキング領域が前景で描画でないと表示はどうなるのでしょうか?それはマスキング領域を描画した参照面の位置によるのです。それぞれのファミリを以下のように修正してみます。

  1. 名前の付いた参照面(ここではマスキングという名前にしました。)を作成
    テーブル
    椅子
  2. マスキング領域を 1 で作成した参照面上に移動し、前景で描画をOFF
    マスキング領域を参照面に移動
このような状態にしてみます。
マスキング領域が乗っている参照面の上下関係を考える
そうなると
テーブルの下に椅子が入って見える!
このような表示になります。つまり前景で描画をOFFにすると、作成されている位置に応じて描画されるのです。この理屈はマスキング領域(詳細項目)だけではなく、シンボル線分も同じです。
この例は極端な位置にマスキング用の参照面を作成しましたが、実際にはマスキングがあらわす部分が存在する位置に参照面を作成するといいでしょう。
マスキングごとに適切な参照面を作成すると◎
マスキングやシンボル線分も実際にはあくまでも3D図形であり、便宜的に表示の方法を切り替えているだけだと覚えておいてください。