1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SDFを用いた方式の3DCGソフト、「Murairo」の体験版を公開しました

Last updated at Posted at 2024-10-07

SDFを用いた方式の3DCGソフト、「Murairo」の体験版を公開することにしましたので記事にします。試しに使いたい方は下記のBoothからダウンロードしてください。

※デジタル署名などをしておらず、SteamやMSStore経由のアプリではないではため、セキュリティの警告がある可能性があることを御了承ください。私が調べた分にはセキュリティ上の問題はありません。

名前の由来

単にSNSの一つであるMisskey.io管理人である村上さんにこれまたMisskey開発者であるしゅいろ氏(通称:しゅいろママ)の名前の一部をくっつけただけです。

というのも後述しますが、Misskey.ioを金銭的に支援するために作ったからです

使用したアルゴリズム

ざっくり言うと
Signed Distance Field(SDF)を使用したモデリングソフト。SDFのメッシュ化にはDual Contouring法を使用し、テクスチャリングにはTri Planar Texture Mappingを使用」というものです。

3DCGプログラムの開発者やゲーム開発者でない限り聞きなれない単語ばかりだと思いますので、簡潔にですが「Signed Distance Field」、「Dual Countouring」、「Tri Planar Texture Mapping」と一つ一つ解説し、同時にQiitaの記事など関連した技術解説のページのURLを紹介していきます。後で更なる詳細はQiita内で説明しようと思います。

Signed Distance Field(SDF)

簡潔に述べると従来のポリゴンに代わる新しい3DCGのデータ構造です。
「物体の表面からどれだけ離れているか」という距離を表す浮動点小数型の3次元配列を使って3DCGを表現します。
マインクラフトの発展形みたいな方法で、立方体だけでなく球体や四角推など、様々な種類の図形も使えるようになったと思えばイメージしやすいです。
これを使うとデータ量を多く使う代わりに3Dのブーリアン演算、つまり「物体同士を合体させる」「物体を削る」という表現が簡単にできます。

このSDFは様々に応用が利く技術で他にもフォントで作られた文字を綺麗に表示する、3Dモデルをセルルックに描画する際に使うなどの目的で使用されています。

関連した記事

Dual Contouring法

上で紹介したSDFをポリゴンに変換する方法の一つです。
基本的に現代のGPUはポリゴンを前提としており、そのままの形でSigned Distance Fieldを表示できません。(全くできないというわけではない)
なので、一回SDFをポリゴンに変換してから表示しています。

関連記事

Tri Planar Texture Mapping

テクスチャを3Dモデルの位置と法線から投影するように貼り付ける方法です。境目なくテクスチャを貼ることができます。

現在のアプリは単色のテクスチャなので、効果はほぼありませんが後々そうではないテクスチャを使用するため、この方法を用いました。

関連記事

使用したライブラリ

主にBevyとElectronを組み合わせて作りました。他にMaterial UIとNext.jsを
用いています・

Bevy

Rust製のゲームエンジンです。使用するAPIは主にWebGPUとWebGLを用いています。WASMへの変換も出来ます。なので、Electronとの連携が非常にしやすいという利点があります。

Electron

WebブラウザであるChromiumの技術を使ってPCアプリを作るフレームワークです。

Next.js

ReactとNode.jsを用いてウェブサイトのフロントサーバーを作るフレームワークです。Electronの中でGUIを作成する際に個人的にこれが一番使いやすいので採用しました。

Misskey.ioの支援

さて、このアプリは国産SNSであるMisskey.ioの資金を支援するために作りました。

なので、今後の予定としては村上さんなどと話し合ったうえで、Misskey.ioをpixivFanboxなどで何らかの支援した方のみにテクスチャ付きの3Dモデルを出力できるなど、様々な機能をつけたバージョンを配布する予定です。

まだ話し合っていないのでどうなるかわかりませんが、Misskey.ioの支援にご興味がある方がいれば、この場で宣伝しておきます。

1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?