2019年06月11日

ビットマップペイントツールのチュートリアルをやってみた その228 3dsmax 2019

引き続きMAXScriptマニュアルに載っている「チュートリアル-ビットマップペイントツールを9つの簡単なステップで作成する」 の続きを考えて見たい。

はみ出し部分の多角形の生成も出来たので、mapsに加えてペイントテストをしてみたら、なぜかこんな状態に・・・。

fig 1

とりあえずクリッピングを外してはみ出し部分の四角形すべてをペイントするようにしてみたけど症状は変わらなかった。

そこで本体のペイントはスキップして、はみ出し部分だけのデータにして、データの生成から順に辿ってデータをチェックして行った結果、「paintFace()」で多角形を左右のエッジ列に分ける段階まで問題は無かったけど、それをY軸でスライスして生成した2つのX座標値の大小が逆になっているのがわかった。ビットマップに線を引く「drawline()」はX座標値が小さい点から大きい点に向けてしか線が引けない仕様なので線が引かれず点になってしまったようだ。

fig 3

本体の方は塗りつぶせているのにはみ出し側だけこの現象が出ているのはどうも頂点の順番が違うからじゃないかと思って、はみ出し部分の四角形を生成する部分で頂点の順番を逆にしてみた。すると下のようにクリップしていない状態のはみ出し部分がペイント出来た。

fig 2

多角形のデータで頂点をどっち回りで収めるかで結果が異なるのはちょっとマズイかな。

続きはまた次回。

maxまとめページ



take_z_ultima at 11:30│Comments(0)3ds Max | CG

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 

Archives