ボード
インクを面に平らに描くホワイトボード、後から来た人にも残るピクセルボード、全員の分を消すボタン。
ボードは必須ではなく、ペンはボードがなくても空中に描けます。ボードはインクに面を与え、ピクセルボードは後から来た人にも残る絵を与えます。
ホワイトボード
Udonite > Pens > Create Whiteboard でインク用のボードを作ります。VR でペン先が触れたとき、またはデスクトップやスマートフォンで 4 m 以内から見ているとき、ペンはその面に平らに描きます。インクは inkLift だけ手前に浮くので、面にちらついて埋もれることはありません。
ボードは Unity の Quad と同じく -Z 軸の向きを向いています。その側に立ってください。手でボードを追加・削除したら、Udonite > Pens > Refresh Boards を実行して PenWorld に登録します。全クライアントで順番がそろっている必要があります。
ピクセルボード
Create Pixel Board で columns × rows マス(それぞれ最大 256)のボードを作ります。ペンは自分の色に一番近いボードの色を塗り、イレーサーは background を塗ります。どちらも pixelBrush で塗る四角の大きさを決めます。
塗ったものはすぐに全員に見え、後から来た人にもそのままの絵が見えます。
palette で色を決め、surface と textureProperty で自分のシェーダーにピクセルを表示させ、smoothPixels でマスをくっきりさせずになめらかにつなげます。
消去ボタン
ボードを選んで Create Clear Button を実行します。押すと boards を全員の分消し、clearAirInk を有効にすると空中のインクも消します。access でインスタンスオーナーだけに限れます。
コードからは PenWorld.ClearBoard(board) と PenWorld.ClearEverything() で同じことができます。
コードからピクセルを塗る
PenWorld.Paint(board, PaintOp.Paint, colour, cells) はペンと同じように全員の分マスを塗り、board.ColourAt(cell) で読み返せます。マスは row * columns + column です。全員に変更が届くよう、ボードではなく PenWorld から塗ってください。