VR空間に線を描いたり、部分的に消したりするやつ、自分なりにやってみました。
TrailRendererを使えば線を引くのは簡単にできるけれど、一度描いた線は部分的に消せません!!
んじゃ、一度じゃなくって複数描けば良いんじゃね?
ってことで、適当な距離進んだら一度線を切って、またすぐ線を描けるようにしてみました。
これが1つの線分

SphereColliderとTrailRendererを持っていて、SphereColliderに「Eraser」がぶつかったら、オブジェクトを消すようにする。
ペンの動きに沿って、どんどん繋げていくと一本の線に見える!
(よく見ると繋ぎ目で切れているのがわかるが、そんなの気にしない)

以上!
完成したのがこちら、コントローラの制御にはVRTKを使用しています。
ペン本体

コントローラで掴める、トリガーボタンを検知できるようにする
ペン先

今の色がわかるようにする為の飾り
ペン先の先っちょ

ここに線を吐き出していくスクリプトをアタッチ
線
実際に線を引く時は、「Instantiate」でこいつの複製を作成しています。

SphereColliderとTrailRenderer
TrailRendererの「Time」は長めに、Tagには「Pen」と設定しときました

ペンのスクリプト
消すやつのスクリプト
部分的に線を消すことが出来ました

なお、Colliderがあるのは線の端っこなので、消す時に違和感を覚えます。
ペンの通った場所を覚えておいて、Colliderの位置を線の中間に移動させるとかしたら良いかも。
3Dも2Dも
これだけじゃつまらないので、空間にもホワイトボードにも描けるペンを作ってみたよ
VRで空間にもホワイトボードに描けるペン
ホワイトボードへの描画にはInkPainterを使わせていただきました~
- メディア: Video Game