0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ボクセルベースの3Dオブジェクトを作成できるアプリケーションを作りたい④

Posted at

前回はこちら

スカルプトのようにボクセルを削除していきたい。

通常本プロジェクトで生成される立方体は、表面だけは四角形ポリゴンで構成された
ハリボテになっている。
スクリーンショット 2025-11-30 15.52.48.png
一見中身があるように見えても存在しない。
モンハンで倒したモンスターの中に潜ると空っぽなのと同じだ。
というのも、内部の頂点まで描画してしまうと処理が重くなるからだ。

では、ここからオブジェクトの形を変形していく方法を考える。
目標は選択した四角形ポリゴンと同じ大きさの板ポリゴンから構成される立方体分削除され、
そしてまるで最初から内側に中身が詰まっていたかのように、削り取られた部分が板ポリで覆われていること。

ひとまずの実装

スクリーンショット 2025-12-01 23.44.14.png
忙しい月初だったがなんとか実装できた。
手順は以下である。

①削除
表面の板ポリゴンの情報を真偽値を保持。板ポリゴンを消去。

②四角ポリゴンの新規作成
表面の板ポリゴンが消去されたことを真偽値で検知。
周囲の板ポリゴン配置状況に応じてswitchでケース分類を行う。
たとえば立方体の一辺の最中であれば新規作成すべき板ポリゴンは「4」
たとえば平面の上に突き出た立方体であれば新規作成すべき板ポリゴンは「1」
ざっくりとだがこのように分類を行い、資格ポリゴンを適切に新規作成する。

③重なった頂点の結合
頂点が結合することで一つのオブジェクトとして扱える。
また処理的にもよい。

次回の目標

今回は削除モードの実装になってしまったが、次回は追加モードを実装したい。
またその場合編集可能領域を設定し、あらかじめきめられたボクセル内に収まるようにしなければならない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?