Modeling

CG News

TyFlow v1.012 リリース

3dsMax用のシミュレーションプラグイン「TyFlow」のv1.012がリリースされました。プロシージャル地形用の新しいツールを搭載しています。

https://docs.tyflow.com/download/version/

20個の新しいノードが追加され、地形生成ソフトでしか見られない機能の多くを持つ、プロシージャル地形生成機能を直接Max内で使用できるようになっています。

  • CUDAアクセラレーションによる侵食
  • 変形
  • 浅水ソルバー
  • 複雑なレイヤーベースのカラー/テクスチャー生成
  • 無制限のタイル/カラー/マスク作成
  • マルチタイルブレンディング、ハイトマップ/ノーマルマップ/カラーマップ/マスクの簡単エクスポート
  • 適応型メッシュ
  • 粒子散乱
  • オペレーターごとのキャッシュ
  • メッシュ地形変換

CG News

UV-Packer for Unreal Engine リリース

UV-PackerのUnreal Engineバージョンがリリースされました。

https://www.3d-plugin.com/uv-packer-for-unreal-engine-released/

 

UV-Packer for Unreal Engine

3d-ioは、UVマップの自動パッキングを行うための無料、高速、正確なツールとして、Unreal Engine用のUV-Packerをリリースしました。UV-Packerは、Unreal Engineを終了したりアセットを再インポートすることなく、ワンクリックで巨大なジオメトリも最適にパックすることができます。

 

ダウンロード方法

公式ホームページから入手できます。
https://www.uv-packer.com/download/

またはUnreal Engine Marketplaceから直接ダウンロードできます。
https://www.unrealengine.com/marketplace/en-US/product/uv-packer

 

利点

UV-Packerの主な利点は、メッシュ上でカバーするサーフェスに対してUVクラスタを再スケーリングする自動ワークフローで、UVマップ上でできるだけ多くのスペースを利用するようにそれらを配置します。これにより、メッシュのテクスチャ品質が向上し、オーバーラップするUVが修正され、最適化されたライトマップが得られます。

 

技術的な詳細

特長

  • アクセス性 - StaticMesh Editor内から直接、ワンクリックでUVパッキングが可能です。
  • 高速 - 巨大なジオメトリや大量のUVチャートに対応する高いパフォーマンス。
  • カスタマイズ可能 - 均一なスケーリング、パディング、ローテーションステップのオプション。
  • 堅牢性 - オーバーラップがなく、損傷したメッシュの許容範囲。
  • 信頼性 - 数百万ものアセットでストレステストを行い、ヘビープロダクション環境で磨きをかけています。
  • 自動化 - カスタムエディタユーティリティの青写真が含まれています。
  • コードモジュール UVPacker (エディタ)、UVPackerLib (外部)
  • ブループリントの数 1
  • C++クラス数 12
  • ネットワーク・レプリケート なし
  • サポートされる開発プラットフォーム Win64
  • サポートされるターゲットビルドプラットフォーム。すべて

 

ドキュメント

https://docs.3d-plugin.com/uv-packer/unrealengine

参考資料

RealityScan 無料リリース

Epicが無料の3Dスキャンアプリ「RealityScan」をリリースされました。RealityScanはQuixelとRealityCaptureの共同で開発しており、今年4月に人数を限定したベータ版を公開していました。

https://apps.apple.com/us/app/realityscan/id1584832280
https://www.unrealengine.com/ja/blog/realityscan-is-now-free-to-download-on-ios

 

RealityScan が iOS で無料で ダウンロードできるようになりました

RealityScanは、写真を高忠実度の3Dモデルに変換できるモバイルデバイス用の3Dスキャンアプリです。このアプリは誰もがごく簡単に使えるように設計されているため、スキャンの経験がなくても使い始めることができます。

スマートフォンやタブレットを使って3Dで再現したい対象物の写真を撮るだけで、アプリがそれらを3Dモデルに組み立ててくれます。満足のいく仕上がりになったら、Sketchfabにエクスポートして、あなたの作品を世界中に公開することができます。

 

わずか数回のスナップで超リアルな3Dモデルが実現

RealityScanは、Epic Games ファミリーの一員であるフォトグラメトリソリューション開発会社、Capturing Realityによって開発されました。彼らのミッションは、すべてのクリエイターが3Dスキャンにアクセスできるようにすることです。Capturing Reality は、世界最大のスキャンライブラリ、Megascans のキュレーターである Quixel— と協力し、3DスキャンからCGモデルを作成するプロセスを簡素化する新しいツールを提供します。

RealityScan を使えば誰でも現実世界に存在するオブジェクトから3Dモデルを作成し、使用することで、ビジュアライゼーション プロジェクトのリアリズムを向上させることができます。

Quixel Megascans ライブラリにある高忠実度スキャンは、このアプリケーションのデスクトップ版である RealityCapture を使用して作成されています。RealityScan は、この強力な技術を誰もが使えるようにしたものです。つまり、すべてのクリエイターが、高精度な3Dモデルを作成できるようになったことを意味します。

 

クラウド処理の自動化

対象物を撮影したら、あとは RealityScan がクラウド処理でモデルを組み立てます。

その後、モデルを Sketchfab にアップロードし、3D、VR、ARコンテンツを公開、共有、販売することができます。そこからモデルをダウンロードして、Unreal Engine、Twinmotion、MetaHuman、またはその他の3Dアプリケーションで使用することも可能です。

 

さらに、Sketchfab に初めてアップロードすると、自動的に 1 年間、 Sketchfab Pro アカウントにアップグレードされます!

今後、RealityScan はさらに多くの機能と改善を予定しており、2023年にはAndroid 版も登場する予定です。
アプリをダウンロードしてスキャンを楽しんでください。スキャンしたものをソーシャルに投稿する際は、#RealityScan のタグ付けするのを忘れないでください。

参考資料

Modo 16.1 ロードマップライブストリーム

Modo 16.1 ロードマップライブストリームが行われました。16.1で搭載される機能と、17.0で予定している機能の紹介が行われています。

Modoは16から年2回のアップデートに変更になりました。本来であれば16.1は10月~11月にリリース予定でしたが、不完全な物を公開したくなかったのでリリース時期を遅らせたようです。12月の始めにベータ版をリリースし、1月末に正式リリースとなるようです。

Modo 16.1ではPolyHule、ベジェ操作、OpenVDBのアプデート、GPU シェーディングサポートがよさそうです。17では機能追加よりパフォーマンス、安定性、信頼性の向上に焦点をあてるというのが驚きですね。これでパフォーマンス改善されなかったら諦めがつきます。

 

 

Modo 16.1 ロードマップ

気になる所だけメモってみました。

 

デカールワークフロー

デカール用の平面をメッシュペイントツールで貼り付けるため、メッシュペイントツールの機能が拡張されてるとのことです。

シームデカール

メッシュの交差やカーブを使用したデカール機能

 

メッシュペイント強化

  • パーティクルを使用したリプリケータ配置
  • リプリケーター制御用の回転ツールハンドル追加
  • リプリケータ編集モード
  • バグ修正

 

シェーディング

 

Triplanner Projection

 

AVP Curvture Shading

 

AVP でカーブとエッジの幅を調整可能

AVPで透明度の再現性も上がってるらしい。

 

レンダリング

 

GPU シェーディングサポート

 

Mac Metal レイトレサポート

 

新しいレンダリングウィンドウ

17に見送り。mPath とプログレッシブレンダーのプレビューをサポートしたものにしたいらしい。

 

Substance プラグイン

16.1とは別にリリース予定、17でmodoにネイティブ統合予定。

 

モデリング

 

ベジェカーブ

背景コンストレイントを使用した場合に、ハンドルが背景メッシュに沿うようになる。また、ハンドルの左右を同期した状態で編集できるようになる。

 

PolyHule

トポロジーペンのように、1つのツールで他のツールを使用できるような機能らしい。

 

プリミティブスライス

遅延アップデート。

 

フォールオフ選択ツール

 

一般的な機能強化

 

平面投影のパフォーマンス改善

 

 

VFX 20022

modoが使用してるライブラリを他のFoundry製品に合わせてアップデートされた。VDBが3から9にアップデートされてる!
modo内の機能として使用されてたPerlスクリプトがなくなり、全てPythonに置き換えられた。

 

ネイティブ ARM 対応版のベータ

16.1と同時にリリース予定。iKinemaはARMで動作しない。

 

Modo 17

17ではパフォーマンスの強化に焦点をあてる。機能追加には焦点をあてない。
一般的なパフォーマンス、安定性、信頼性、プロシージャルモデリングのパフォーマンスを行う予定。これについて意見を聞かせて欲しい。

 

Mesh view Objects

Mesh view Objectsによってスカルプトのパフォーマンスが改善した。いくつか問題を修正する必要があるが、スカルプトにはダイナメッシュのような機能が必用。
頂点ウェイトペイントの改善が見られた。メッシュ変形も17.0で改善したいが、ゴールが伸びるかもしれない。

Tips

サブディビジョンサーフェスのスムージングアーティファクト

サブディビジョンサーフェスを使用したエッジの処理によってスムージングにアーティファクトが出るという話を見かけたので、modoで検証してみました。三角ポリゴンを使用するとスムージングアーティファクトが目立たなくなるようです。

サンプルファイル

サブディビジョンサーフェスを使用してハードサーフェスモデルを作成するとき、モデルにRをつける場合があります。このときRのエッジをどのように処理するかによって、スムージングアーティファクトの発生のしかたが異なります。

 

多角形ポリゴン

多角形はレンダリング時に自動的に3角ポリに分割されるので、スムージングアーティファクトが発生します。

 

四角ポリゴン

サブディビジョンを使用する場合、四角ポリゴンを使用すると曲面が綺麗に細分割されます。ハードサーフェスでも四角ポリゴンにした方がいいと思ってましたが、スムージングアーティファクトが発生するようです。

三角ポリゴン

サブディビジョンを使用する場合は三角ポリゴンは使用を避けがちですが、このようなRを処理する場合には三角ポリゴンを使用するのがよさそうです。スムージングアーティファクトがもっとも目立ちにくくなります。

 

「サブディビジョンレベル」を上げるとポリゴンが分割され相対的にスムージングアーティファクトが目立たなくなりますが、「サブディビジョンレベル」を低い値で使用する場合はR部分のエッジの処理を注意した方がよさそうです

CG News

Substance 3D Modeler 正式リリース

Substance 3D Modelerが正式リリースされました。Substance 3D Modelerは、没入型VR環境またはデスクトップ上で粘土を扱うように3Dデザインを形作るためのスカルプトツールです。

https://www.adobe.com/products/substance3d-modeler.html
https://substance3d.adobe.com/documentation/md

Adobe が 2019 年に買収したVR スカルプティング アプリOculus Mediumを基に構築されていて、Signed Distance Fields を使用して 3D 空間を表現しているそうです。

モデルは、FBX、OBJ、USD 形式で他の DCC アプリケーションまたはゲーム エンジンにエクスポートできます。

 

システム要件

Substance 3D Modeler 1.0 は、Windows 10 でのみ利用できます。VR モードで使用するには Meta Rift または Quest ヘッドセットと Meta Touch コントローラーが必要です。

 

価格

サブスクリプションのみで、Adobe の Substance 3D Collection サブスクリプションを通じて入手できます。サブスクリプション価格は月額$49.99 、年額 $549.88です。

 

 

Tips

modoのアイテム数が多い場合のパフォーマンス

modoはアイテム数が多い場合にパフォーマンスが低下するという話題をよく見かけます。
ビューポートの表示を「デフォルト」以外に変更すると、速度が少し改善することに気がついたので記事に残しておきます。

サンプルファイル

  • デフォルト : 0.5 FPS
  • アドバンスト : 3.3 FPS
  • シェードテクスチャ : 8.5 FPS

アイテム数が1万くらいになると、ビューポートのパフォーマンスが低下しフレームレートが出なくなります。テクスチャやシェーダーなどシーンの要素によると思いますが、3D ビューポートの表示スタイルは「デフォルト」が一番遅くなるようです。

「アドバンスト」は遅いイメージがありましたが、FBXインポート直後のような単純なマテリアルでは「デフォルト」より表示が速いのが意外でした。「シェードテクスチャ」等を使用するのが最も速度が上がるようです。

ビューポートのパフォーマンス設定で「スムージング」「シェーダーツリー」をOFFにすると1~2 FPS変化する程度で、大きな違いはありませんでした。

 

ちなみに他の3Dソフトではそれほど速度低下しません。
3dsMaxでは60FPS、アイテム選択すると10FPSと遅くなります。

 

Mayaでは120FPS、アイテムを選択しても60FPSと高速です。

 

普段はそれほど多くのアイテムを扱うことはないのですが、ある程度大きなデータを扱う場合は表示速度が問題になりそうですね。

CG News

SMONSTER Kit for Modo 無料化

SMONSTER Kit for Modoが無料化されました。ベイク、CAD、ゲーム、UVなど様々な用途に応じたKitが含まれています。無料でダウンロードできますがGumroadから支援することもできます。

https://smoluck.gumroad.com/l/Smonster-v3
https://github.com/smoluck/SMONSTER/blob/main/README.md

 

SMONSTER Kit for Modo

SMONSTERは、Modoに強力な新ツールをもたらすキットコンピレーションです。

15の標準キット(2つのベータキットを含む)と3つのLivelinkキットが含まれており、Modo内の他のソフトウェアとの統合を簡素化し、ワークフローを改善することができます。

 

SOURCE エディション

2022年8月8日以降、SOURCE Editionは、すべてのキットにソースコードが含まれる唯一のリリースとなりました。
このリリースは無料です。ただ、このページに戻ってくれば、また購入することができます。

私の協力であなたの絵が上達するのを見るのは、私にとって本当に強力なモチベーションになります。
もし、ショーケースのビデオについてコメントがあれば、僕のDiscordチャンネルかTwitterで投稿してください。

よろしくお願いします、お気をつけて。

 

免責事項

このキットを実行するには、少なくともModo 15が必要です。また、実際にWindowsでテストされました。幸いなことに、Macでも問題なく動作するようですが、100%互換性を持たせるためには、まだあなたのフィードバックが必要です。

新規インストールやキットのアップデートの際は、ReadmeFirst_SMONSTER.txtに記載されている説明に従ってください。

LPKファイルをModoにドラッグ&ドロップすると、Contentフォルダにキットが自動的にインストールされるので、簡単にインストールできます。
(アップグレードの場合は、古いKitフォルダを削除し、再度LPKをModoにドラッグ&ドロップしてください)

 

Kit一覧

  • BAKE (v 1.60)
  • BATCH (v 1.70)
  • CAD TOOLS (v 3.70)
  • CLEANUP (v 1.80)
  • COLOR BAR (v 1.80)
  • GAME CONTENT (v 9.00)
  • MASTER (v 1.30)
  • MATH TOOLS (v 1.30)
  • MESHOPS (Total Pack v1 + v2 + POLY FUSE 2D) (v 2.30)
  • MIFABOMA (v 3.50)
  • QUICK TAG (v 2.50)
  • UV (v 3.00)
  • VENOM (v 2.10)

 

[KIT] SMONSTERが誰でも無料で使えるようになりました。

https://community.foundry.com/discuss/topic/159978/kit-smonster-is-now-free-for-everyone

こんにちは。今日、私はSMONSTERキットを一般公開します。

  • このキットは製品化可能です。
  • もし、あなたが開発に貢献したいのであれば、可能です。
  • 金銭的なサポートをお願いします。

正確には、私はまだ近い将来、このキットに何かを追加するつもりですので、これを放棄したソフトウェアと考えないでください。私はそれを手放すためにあまりにも多くの時間を費やしてきました。

Python Scriptingを暇つぶしに勉強し始めて5年ぐらいになります。一介の3Dアーティストにとっては大変な作業でしたが、この間に発見したことは何一つ後悔していません。この数年間は素晴らしい旅でしたし、これからもテクニカルアーティストとして探求を続けていくつもりです。
私は、MODOのために約250のコマンドと、その他多くのスクリプトやUI開発を完成させました。MODOは2006年以来、私にとってのハブであり、他のツールと共にそれを使う喜びをたくさん味わってきました。私のパイプラインにとって非常に重要なものもあり、RizomUV、Marmoset Toolbag、PixafluxなどのLivelinkキットを統合しています。

インストールするには2つの方法があります。

ツールをお楽しみいただき、Foundry Forumのスレッド、またはできれば専用Slackでフィードバックをお願いします。
素晴らしいModoコミュニティとPixelFondueコントリビューターチームに感謝します。

よろしくお願いします、Franck Elisabeth。

Tips

modoで面の広さに応じてアイテムがスケールする表現

modoでポリゴン面の広さに応じて、アイテムがスケールする表現の作り方について書いてみます。

サンプルファイル

 

スケマティックはこんな感じです。

平面をAxis Drillで適当にスライスして、Polygon Bevelで押し出します。
押し出した上の面だけ選択したいので、Assign Selection Setを作成します。
Area FalloffとSet Weightを使用して面にウェイトを設定して、そのウェイトマップをRemap Weightを使用してパーティクルサイズに変換しています。
最終的にReplicatorがパーティクルサイズを読み取って、面の広さに応じて複製したティーポットのサイズをスケールします。

最後のParticle Look At Modifierはティーポットの回転を制御する用です。
Axis Drillはテンプレートサーフェースに接続したアイテムのトランスフォームが0だと、アニメーションが反映されない不具合があるので注意が必要です。

 

ウェイトをRemap Weightでパーティクルサイズに変換する方法は以前の記事で紹介しましが、Cristobal Vilaさんが面の中心にポイントを生成するのにParticle Modifierを使用してるのを見かけて、面白そうだったのでまねしてみました。

Particle ModifierをMerge Meshesして、Transfer Vertex MapでポイントにWeightを転送するというのは他にも応用出来そうで面白いですね。

本当はReplicatorで複数のアイテムを複製したかったのですが、メッシュ編集系を使用すると毎フレームパーティクルIDが変わってしまいます。
Transfer Vertex Mapでパーティクルサイズが使用できればよかったのですが、簡単な解決方法が思いつかなかったのでティーポット単体になりました。

CG News

3DCoatPrint リリース

Pilgwayが3Dプリント用向けに無料の3DCoatPrintをリリースしました。

無料版は商用利用可能で、3DCoatのすべてのスカルプティングツールが含まれています。WRLやSTL形式でエクスポートすることができますが、ポリゴン数が最大40,000に制限されています。
また、レンダリング機能も含まれているため、テストレンダリングやプロモーション画像を作成できるようです。

https://pilgway.com/download/3dcoatprint

3DCoatPrintは、3Dプリント用のモデルをできるだけ簡単に作成できるようにすることを第一の目的としたコンパクトなスタジオです。

ボクセルモデリングの技術により、技術的な面をあまり気にすることなく、実世界で可能なことは何でもできるようになります。シンプルなプリミティブから始めて、好きなだけ複雑にすることができます。

  • すべての3DCoatスカルプトツールを使用可能
  • エクスポートの制限は、モデルは最大40Kトライアングルに縮小され、メッシュは3Dプリント用に特別にスムースされます。
  • 作成した3Dモデルが3Dプリントやレンダリング画像の作成を目的としたものであれば、商用を含めどのような用途でも完全に無料で使用できます。
  • それ以外の使用は、個人的な非営利活動に限らせていただきます。
Tips

Discrete Particles for Modo の使用方法

アイテムを重ならないように散布できるプラグイン「Discrete Particles」のメモです。使用バージョンは1.0です。
一部の設定を変更しないと機能が意図したように動作しなかったので、調べたこと残しておきます。

 

Discrete Particlesとは

Discrete Particlesは高速なパッキングアルゴリズムを使用して、メッシュの表面、またはメッシュのボリューム内にパーティクルを生成するプラグインです。
Replicatorを使用してアイテムを複製するときに、アイテム通しが重ならないようにパーティクルを生成できます。

modo標準の機能で例えると、Surface Particle Generatorの機能強化版です。

 

例えば下の画像は、ブーリアンとモーフィングを適用したメッシュにパーティクルを発生させる例です。

 

Surface Particle Generatorを使用すると、オブジェクト通しが重なります。またブーリアンでメッシュのトポロジーが変わる場合、パーティクルがランダムに生成されます。

 

Discrete Particlesはオブジェクトが重ならないようにパーティクルを生成します。また、テクスチャの投影のような仕組みになってるので、トポロジーが変わってもパーティクルの生成が安定しています。

また、Packing ModeにAABBを使用すると、デフォーマでサイズを変更してもオブジェクトが重ならないようにパーティクルが生成されます。

 

Chaosを使用するとパーティクルサイズをよりランダムにできますが、 パーティクル生成がランダムに変化してしまいます。

WhiteNoiseを使用するとパーティクルサイズをよりランダムにしながら、アニメーションしても大丈夫なようです。

 

 

使用方法

アイテム構成

Discrete Particlesをインストールするとアイテムが4つ追加されます。基本的に「Surface Distribution」「Volume Distribution」を追加して使用します。

  • Ray Domain
  • Ray Projection
  • Surface Distribution
  • Volume Distribution

 

Surface Distributionはメッシュの表面にパーティクルを散布するアイテムです。
Volume Distributionはメッシュのボリューム内にパーティクルを散布するアイテムです。

Ray DomainとRay Projectionはテクスチャロケータと同じ役割で、散布に使用するレイのプロジェクションタイプを指定するアイテムです。
Surface DistributionやVolume Distributionを追加すると、Ray DomainやRay Projectionは自動的に追加されます。

 

パーティクル生成

Surface DistributionやVolume Distributionを使用する場合は、アイテムの「Surface(Mesh)」「Volume(Mesh)」に散布用のメッシュを接続します。

 

サンプル見ずに使ってみたところ、一部の設定を変更しないと機能が意図したように動作しませんでした。疑問に思った設定をまとめておきます。

  • 「Sample Mode」 は「RayCast & Pack」に変更します。デフォルトだと「Preview」になっていてサーフェースやボリュームに散布されません。
  • 「Weight Map」を使用する場合は「WeightMap Blend」を1.0に変更します。デフォルトの0のままだと何も変化がありません。
  • Discrete Particlesでは「原型となるアイテム(プロトタイプ)」は1mを基準に動作します。1mより大きいとメッシュに重なりが発生します。

 

 

プロパティ

Discrete Particlesはドキュメントがないようなので、プロパティのツールチップを翻訳してみました。

 

Surface Distribution

Point Sampling

Sample Mode

4種類のサンプルモード

  • Preview : 投影ギズモ上のパーティクルを、MinSizeをパーティクルサイズとしてサンプリングします。
  • Raycast : MinSizeをパーティクルサイズとして、メッシュサーフェス上のパーティクルをサンプルし、レイキャスします。
  • Preview & Pack : MinSizeからMaxSizeまでのパーティクルサイズを使用して、プロジェクションギズモ上でパーティクルのサンプルとパックを行います。
  • Raycast & Pack : MinSizeからMaxSizeまでのパーティクルサイズを使用して、メッシュサーフェス上のパーティクルをサンプル、レイキャスト、パックします。
Backface Culling

バックフェイス ポリゴンのサンプリングが有効な場合は無視します。

Distribution

パーティクル分布の一様性

  • BlueNoise R2(一様)
  • Blue-Noise Hammersley (半統一)
  • WhiteNoise PSRand (ランダム)
Packing Mode

AABB = 軸方向に整列したバウンディングボックス (Axis Aligned Bounding Box)
AABBオプションを使用すると、プロトタイプをSurface DistributionとReplicatorノードに同じ順序でリンクする必要があります。

Point Count

頂点数。

Multiplier

Point Count * Multiplier はパーティクルの総数に相当します。
平面プロジェクションでMultiplierを1.0とした場合、ボックスプロジェクションではボックスの各面で同じパーティクル密度を得るために6.0に設定する必要があります。

Point Size

GLで描画するパーティクルの大きさ。

Point color

パーティクル色です。

 

Particle Settings

Prototype Domain

1.0mの原型基準領域を表示し、原型のサイジングの参考にできます。

Prototype Scale

パッキングアルゴリズムは、プロトタイプのサイズが1m以下であることを想定しています。プロトタイプのサイズをエレメントレベルで設定するか、このスケーリング値でスケールを調整してください。

Weight Map

ウェイトマップ。

MaxSize

パーティクルがサーフェースでサンプリングできる最大サイズ。

MinSize

パーティクルがサーフェースでサンプリングできる最小サイズ。

WeightMap Blend

ウェイトマップに基づいてパッキングパーティクルサイズを制御します。
値0.0はオフ。1.0は最大ブレンドに相当します。

Chaos

サンプリング中に各パーティクルが得るサイズのばらつきを制御します。
0.0ではパッキングアルゴリズムはデフォルトで各パーティクルのサイズを最大化しようとします。

Packing Distance

パーティクルサイズに比例して、パーティクルとパッキングボーダーの間に距離を追加します。
MaxSizeを大きくすることで縮小するパーティクル径を補うことができます。

Shrink Spacing

パーティクルを縮小し、パーティクルのパッキング境界線に間隔を作ります。

Post Sizing

ポストエフェクトとして、グラデーションに応じたサイジングを適用します。
グラデーションの左側が小さいパーティクル、右側が大きいパーティクルです。

Normal Alignment

サーフェース法線に対するパーティクルの向きのアライメント。値0.0はオフで、デフォルトはY-Up。

Surface Offset

サーフェス法線に基づいてパーティクルをオフセットします。

Display Packing

GLパッキングモードの描画。

PackMode color

パッキングモードの色です。

 

Performance Statistics

Enable

3Dビューポートのパフォーマンス統計情報を表示します。

Vertical Offset

垂直オフセット。

 

Volume Distribution

多くのプロパティがSurface Distributionと共通なので、Volume Distributionにあるプロパティだけ書いておきます。

 

Particle Settings

Packing Distance

パーティクル径に比例した充填距離。MaxSizeを大きくすることで縮小するパーティクル径を補うことができます。

Volume Constraint Mode

Shrinkモードは内包するメッシュと交差するパーティクルを縮小します。
Removeモードは内包するメッシュと交差しているパーティクルを削除します。

Volume Constraint

値を大きくすると内包するメッシュと交差するパーティクルを収縮させます。
1.0の値は交差が発生しないことを完全に保証するものではありません。

Normal Alignment

パーティクルの向きを最も近いポリゴン法線に揃えます。
0.0 を指定するとパーティクルは Y-Up 方向に整列します。

 

サンプルファイル

Discrete Particlesには11個のサンプルファイルが入ってます。
コメントノードにプロパティの解説やチュートリアルが書かれてるので、テキストを翻訳してみました。

 

1_Introduction.lxo

Discrete Particles は、Surface Distribution と Volume Distribution というパーティクルシステムを実装しています。これらは、DEX/Discrete Particlesセクションのアイテム追加ポップアップで見つかります。

これは、Discrete Particles システムを正しく動作させるために必要な基本的/最小限のノードの設定です。
以下のいずれかのノードのリンクを切断すると、パーティクルシステムは状態の評価を停止します。
Volume Distributionの設定は、Ray Projection 項目の代わりに Ray Domain 項目を使用する以外は同じです。

ただし、Ray Projectionアイテムの代わりに Ray Domainを使用します。Ray ProjectionとRay Domainを使用するため、シーンにDistributionアイテムを追加する必要があります。
Ray Projection と Ray Domain アイテムは自動的に追加されます。
先に進む前に「ロケータの表示」が有効になっていることを確認してください。

チュートリアル
  1. Ray Projectionアイテムをクリックし、Projectionドロップダウンリストから様々なプロジェクションタイプを試します。
  2. Planar projectionに戻します。
  3. Surface Distributionの項目をクリックし、そのプロパティフォームとチャンネルのツールチップを見ます。
  4. 半径 0.5m の球体を Prototype meshに追加し、アイテムリストで可視性をオフに設定します。
  5. シーン内の紫色の破線領域は、プロトタイプのサイズ制限を定義する 1m 単位の立方体です。
  6. この領域の外側にあるすべてのポリゴンは、重なりが発生する可能性があります。場合によってはプロトタイプをドメインより大きくしても良い場合があります。例えば平面上に高層ビルを詰め込むような場合です。
  7. Surface Distributionをクリックし、プロパティフォームで異なるSample Modesを試します。
  8. ツールチップを読んで、4つの異なるSample Modesが何をするのか理解してください。
  9. サンプルモードを Preview に戻します。
  10. Distributionのドロップダウンで3つの異なるDistributionを試します。そのツールチップを読んでください。
  11. サンプルモードを「Raycast & Pack」に設定します。
  12. Ray Projectionアイテム(ギズモ)を選択し、移動/回転/スケール変換を試します。
    次に、Surface Distributionシステムの様々な設定で遊んでみてください。
    Packing Modes については、別のチュートリアルで説明します。AABB モードを使用するには、最初にプロトタイプメッシュをSurface DistributionアイテムのAABBプロトタイプスロットに接続する必要があります。
    (AABBはAxis Aligned Bounding Boxの頭文字を取ったものです)。
  13. アイテムリストのSurface Tutoralフォルダの可視性をオフに設定します。
  14.  Volume Distribution を使って、同様のノード設定を行います。Volume Tutorial フォルダにアイテムを配置します。

チュートリアル終了

 

 

2_Surface_Packing_Modes.lxo

 

3_SurfaceDistribution_Falloff_example.lxo

この例ではBlend Falloff を使って、アニメーションするプロシージャルテクスチャをフォールオフフィールドに「変換」しています。
リニアフォールオフはテクスチャフォールオフとブレンドされます。
Ray Projectionはボックスプロジェクションモードに設定され、Surface Distribution パッキングモードはCircularに設定されています。

アニメーションをリアルタイムで見るには、タイムラインをスクラブしてください。

  • Distribution は完全にランダムな結果を生成するWhiteNoise PSRandに設定されています。
  • BlueNoise R2 は最も均一な結果を生成します。
  • BlueNoise Hammersley は「半」アンフォーム分布で、R2に比べてあまり均一な結果を生成しません。

 

 

4_SQUARE_vs_CUBE_Packing.lxo

スクエアvsキュービックパッキング

手順

  1. ノードグラフを調べます。
  2. SkyScraperプロトタイプメッシュの可視性をオンに設定します。
  3. SkyScrapersの下部が紫色のプロトタイプドメインの中央にどのように配置されているかを観察します。
    また、その上に拡張されます。パッキングはドメイン内のポリゴンのみを考慮します。
  4. SkyScraperプロトタイプメッシュの可視性をオフに設定します。
  5. タイムスライダーをフレーム70にドラッグします。
  6. SkyScraperの底面が平面ポリゴン上に完全に配置されていることを確認します。
  7. Surface Distributionを選択し、Packing modeをCubicに設定します。
    パックされたパーティクルのgl-drawing以外の違いは見られないはずです。
  8. Normal Aligmentを1.0に設定して、パーティクルが表面の湾曲にどのように整列するかを確認します。
  9. 次にSquare と Cubic パッキングモードを切り替えて、違いに注意してください。

結論
Normal Aligment を使用すると、Cubic パッキングによって曲面がオーバーラップする可能性が低くなります。Squareパッキングは少し高速で平らな面で使用する必要があります。

 

 

5_Volume_Packing_Modes .lxo

 

6_VolumeDistribution_Falloff_example.lxo

この例ではBlend Falloff を使用して、アニメートされたプロシージャルテクスチャをフォールオフフィールドに変換しています。
RayDomain は Box projection モードに設定され、Volume DistributionのPacking modeは Spherical に設定されています。

アニメーションをリアルタイムで見るには、タイムラインをスクラブしてください。

  • パーティクル分布は、最も均一な結果を生成するBlueNoise R2に設定されています。
  • BlueNoise Hammersleyは「半」アンフォーム分布で、R2よりも均一でない結果を生成します。
  • WhiteNoise PSRandは、完全にランダムな結果を生成する擬似ランダム分布です。

 

 

7_CUBE_vs_AABB_Packing_and_Transforms.lxo

Cubic vs AABB パッキングとトランスフォーム

AABBとは、Axis Aligned Bounding Boxの頭文字を取ったものです。

  • キュービック=黄
  • AABB = 緑

このチュートリアルでは、どちらのボリューム分布も VolumeMesh アイテムと Prototype アイテムを共有しています。
XYZのすべての寸法がちょうど1mなので、UnitCubeと名付けました。
Locatorアイテムはこの設定とは関係ありません。このチュートリアルのヘルパーとして機能するだけです。
Distributions は X 軸上で +/-1m 移動し、両者を離しています。

Distributions (Raycast mode)は、ボリュームメッシュやプロトタイプとは独立して動かすことができます。
シーンでの評価は、Ray Domain トランスフォームによって決定されるからです。同じルールが、Surface Distribution アイテムとRay Projectionアイテムにも適用されます。

 

チュートリアル
  1. シーン内のオレンジ色のロケータをクリックし、「Normal Aligment」チャンネルを開きます。
  2. Cubicパッキングが、すべてのバウンディングボックスの XYZ 寸法をどのように保持するかを観察します。
  3. AABBパッキングが、Replicatorのバウンディングボックスを動的に更新する様子を観察します。
  4. Particle Countを増やし(このチュートリアルリグでは1万個に制限)パッキングを観察します。AABBはパッキングをより最適化しますが、Cubicパッキングより若干パフォーマンスが劣ります。
    これはサイズや形状の異なる複数のプロトタイプがある場合に、より顕著になります。
    複数のプロトタイプを使用した AABB は、別のチュートリアルのシーンファイルで説明されています。トランスフォームの説明
  5. Ray Domain と Volume メッシュの可視性をオンにします。
  6. Volume Distribution アイテムの1つを移動します。
  7. 次に Ray Domain アイテムを動かして、何が起こるかを観察します。

    Ray DomainはDistributionがレイキャスティングを実行する場所をコントロールします。
    パーティクルは RayDomain が VolumeMesh と重なる場所にのみ追加されます。
    これらの2つの記述はSample ModeがRaycastingモードの時のみ有効です。

    Sample ModeがPreviewに設定されているときにステップ6と7を試してみると、結果がRay domain gizmoに束縛され、Volume meshのポリゴンを無視することが分かります。
    つまり、Previewはレイキャスティングのコストを無視して、特定のパッキングパターンをより速く見つけるための方法です。

     

     

    8_VolumeDist_Fill_a_Bowl_.lxo

    この例では球に立方体のパーティクルを充填するセットアップを紹介します。
    Ray DomainはBox projectionモードに設定され、Volume Distribution packingモードはCubicに設定されています。
    これらのモードは変更することができ、ユースケースによって異なる結果をもたらします。

    チュートリアル
    1. シーン内のパーティクルが球メッシュの「壁」内にどのように配置されているかを観察してください。
      レイキャスティングは各パーティクルに対して2本のレイを反対方向に送ります。両方のレイがポリゴンに当たった場合、法線がパーティクルの位置から離れる方向(つまりポリゴンの裏側)にあることから パーティクルがメッシュの内側にある可能性が高いことがわかります。
    2. プロパティのInvert Normalsパラメータをチェックし結果を確認します。
    3. レイキャスティングロジックを反転させたので、球にパーティクルが含まれているはずです。
    4. Replicatorの一部が球と干渉しています。これを修正するにはVolume Contraint を1.0に増やして、交差を減らします。
    5. Volume Contraint Mode を Replace に変更します。このパラメータのツールチップを見てください。

    DistributionはWhiteNoise PSRandに設定されています。均一なBlueNoise Distributionsを試して、その違いを見てください。

    チュートリアル終了

     

     

    9_Surface_Projection_Example.lxo

    タイムラインをスクラブすると、アニメーションが表示されます。
    Surface DistributionアイテムのPrototype Scale が 1.0 以上に設定され、プロトタイプのオーバーラッピングが意図的に発生するようになりました。Ray Projectionアイテムのスケールをアニメーションしています。

     

     

    10_Surface_Projection_Weightmap.lxo

    Plane メッシュを選択し、プロパティのWeight Mapにあるウェイトマップ「SurfDistWmap」を選択します。
    ウェイトマップツールでPlaneメッシュにペイントします。

     

    PalmTreeScene.lxo

    この数式ノードで使用する値によっては、かなり重いシーンになる可能性があります。そのため、クランプ関数は0.1〜5.0の間に値を制限しています。

    このシーンでは、2つのSurface Distributionが使用されています。
    一つはヤシの木用、もう一つは草用です。ヤシの木の下に草が生えるようにしたいので、これらの分布の間のパッキングは考慮されていません。

    また、Gound Planeにはウェイトマップが用意されています。いずれかの分布を選択し、ドロップダウンを使って選択します。ウェイトマップブレンドパラメータを使用して、それを微調整します。
    このシーンで遊んでみてください。

     

    参考

    参考資料

    Apple RoomPlan

    Appleが「ARKit 6」の新しいAPIとして「RoomPlan」が発表されています。
    iPhoneを使用して部屋の間取りをリアルタイムスキャンし、モデルをUSDZでエクスポートできるようです。アタリ用のモデルとして便利そうです。

    https://developer.apple.com/augmented-reality/roomplan/

     

    RoomPlanであなたのアプリに周囲を取り込んでください。

    顧客の関心を引き、ワークフローを合理化

    RoomPlan を使用して、不動産、E コマース、ホスピタリティなどのアプリで直接部屋のフロアプランを作成することで、顧客がより多くの情報に基づいた意思決定を行えるようにします。また、これらのスキャンは、建築やインテリアデザインのワークフローにおける最初のステップとなり、コンセプトの探求やプランニングを合理化するのに役立ちます。

     

    LiDARによるリアルタイムスキャン

    アプリのユーザーエクスペリエンスとスキャンガイダンスを完全にカスタマイズしたり、内蔵のコーチングUIを利用して最適なスキャン、リアルタイムのスキャン進捗を示すビジュアルフィードバック、認識された部屋のすべてを示すドールハウス可視化などを行うことができます。

     

    パラメトリック表示

    RoomPlan は、壁やキャビネットなど、部屋の中で認識された各コンポーネントの寸法と、検出された家具の種類を含む USD または USDZ ファイル形式で出力します。個々のコンポーネントの寸法と配置は、Cinema 4D、Shapr3D、AutoCADなど、さまざまなUSDZ互換ツールにエクスポートする際にさらに調整することができます。

    CG News

    Cable Basher for 3dsMax

    スプラインに沿ったケーブルを作成する3dsMax用のスクリプト「Cable Basher」がリリースしました。価格は$8です。
    3dsMaxはケーブル生成するスクリプトが大量にありますね、作りやすいのかな。

    https://jokermartini.com/product/cable-basher/

     

    概要

    Cable basherはカスタムまたはプリビルドのモデルを使用して、ケーブル、パイプ、または任意のパラメトリックパスの形状を迅速に作成することができます。
    ケーブルの束は、既成のモデルからランダムに選択するか、カスタム3Dモデルを使用して、ボタンをクリックするだけで作成することができます。

    Tips

    modoのFBX出力の文字化けを回避する方法

    modoのFBX出力の文字化け回避方法について書いてみたいと思います。

     

    modoはレンダリング画像の出力先やFBX出力先のファイルパスに日本語文字を含む場合、文字化けが発生したり、ファイルの出力に失敗することがあります。

    先日、FoundryのサポートにFBXのファイルパスが文字化けするので改善して欲しいとバグを報告したのですが、日本語版WindowsではUnicodeに対応していないプログラムの言語にShift-JISが使用されてるのが原因だと教えていただきました。

    Windowsの非Unicodeプログラムのデフォルトの言語設定をUnicode UTF-8に変更すると、ファイルパスの文字化けを回避できます。

    Modo for WindowsはUnicodeアプリケーションではありませんが、レガシーマルチバイトエンコーディングに対応しており、日本語版WindowsではデフォルトでShift-JISエンコーディングが使用されています。
    Unicodeでないアプリケーションの言語は、コントロールパネルの「地域と言語」セクションの設定内で定義されます。この場所で言語を英語に切り替えると、問題が改善される場合があります。

     

    Windowsの非Unicodeアプリケーションのデフォルト設定をUnicode UTF-8に変更する方法

    Windows 10 の文字コードはUnicode UTF-16を使用しているようですが、非Unicodeアプリケーションでは互換性を維持するため、デフォルトでShift-JISが使用されます。

    非Unicodeアプリケーションのデフォルトの言語設定をUnicode UTF-8に変更するには、Windowsの「地域の設定」から「ベータ:ワールドワイド言語サポートで Unicode UTF-8 を使用」をONに変更します。

    コントロール パネル\時計と地域\日付、時刻、数値形式の変更\管理\システムロケールの変更

     

    この設定はUnicodeに対応していない全てのアプリケーションに影響します。古いアプリケーションを使用している場合は、今まで問題のなかったアプリケーションで逆に文字化けする場合があります。
    私の環境では圧縮解凍ソフトや一太郎2021など、グラフィック以外のソフトが文字化けするのでこの設定を使うわけにはきませんでした。

    以前はMicrosoftが「Microsoft AppLocale」という、非Unicodeアプリケーションをユーザーが選択した設定で実行できるようにするプログラムを公開していたようですが、現在のOSでは動作しなくなったため公開が終了してしまったようです。

     

    FBXファイルの文字化け

    「新しいフォルダー」にASCII形式でFBXを出力します。FBXファイルをテキストエディタで開くと「新しいフォルダー」が文字化けしているのが確認できます。

     

    「ベータ:ワールドワイド言語サポートで Unicode UTF-8 を使用」OFF

    FBXの出力先のパスが文字化け。

     

    テクスチャーパスが文字化け。

     

    「ベータ:ワールドワイド言語サポートで Unicode UTF-8 を使用」ON

    FBXファイルをテキストエディタで開くと「新しいフォルダー」が文字化けしていないことが確認できます。

    FBXの出力先のパスが正しく保存されるようになった。

     

    テクスチャーパスが正しく保存されるようになった。

     

    3dsMaxやMayaのFBX出力では文字化けが発生しないので、Modoを使う場合だけファイルパスに気を配る必要があるのが不便です。「FileName:」は文字化けしてないので同じようにファイルパスを保存してくれればいいと思うのですが、他のアプリケーションで実際に使用される方のパスが文字化けしてしまってます。ModoをUnicode対応にして文字化けを改善していただきたいですね。

    参考資料

    iPad用のリトポロジアプリ「CozyBlanket」

    iPad用のリトポロジアプリ「CozyBlanket」がリリースされました。基本無料で、アプリ内課金 Retopologyパック$89.99です。

    https://apps.apple.com/us/app/cozyblanket/id1608079174
    https://sparseal.com/cozyblanket/

    CozyBlanket

    CozyBlanketは親しみやすくリラックスできるように設計されたiPad用レトポロジーアプリです。そのミニマルなUIは、ハイポリメッシュ上に直接描画して使用できる、フル機能のメッシュエディタを搭載しています。
    CozyBlanketは、リトポロジーをパズルを解くような楽しいゲームのようなプロセスとして提示することに重点を置いています。

     

     width=

     width=

     

    特徴

    • ポリゴンの作成/削除、エッジループ、エッジスライド、マージ/コラプス、グリッド生成など、ジェスチャーによるメッシュ編集が可能
    • リトポロジーのために設計されたスナップ、対称性、オーバーレイ
    • 大規模なデータセットを処理する高性能なCPUビューポー
    • OBJのインポート/エクスポート

     

    CozyBlanketは、インポート/エクスポートのオプションを完全に有効にするために、アプリ内課金があります。デフォルトでは、CozyBlanketにはエクスポート/保存オプションがなく、インポートは45000頂点未満のメッシュに制限されています。

    Apple Pencilの使用を推奨しますが、必須ではありません。

     

    フル機能のポリメッシュエディット

    CozyBlanketは、以下のような最も一般的なポリゴンメッシュの編集操作をすべて行うことができます。

    • 四角形や三角形の作成と削除
    • エッジループの挿入、ディゾルブ、スライド
    • 頂点位置の調整
    • 頂点の結合とエッジの折りたたみ
    • 短冊やグリッドの自動作成

    これらの動作はすべて、ジェスチャーを使い、Apple Pencilで直接メッシュに描画することで実行されます。すべてのジェスチャーは、最も一般的なリトポロジーのパターンをできるだけ簡単に作成できるように設計されています。

     

    ループタグ

    CozyBlanketは、最適なループフローを実現するために、顔のループに異なる色でタグ付けすることができます。タグを使用することで、スパイラルや不要な自己交差ループなどの一般的な問題を回避することができます。

    IO

    CozyBlanketは、.objファイルのインポートに対応しています。リトポロジメッシュの.objファイルのエクスポートは、リトポロジパックに含まれています。

    CozyBlanketは、高ポリメッシュを扱う際、可能な限り高いスナップ精度を維持しながらメモリ使用量を抑えるために、自動的にCPUベースのビューポートに切り替わります。

     

    リトポロジーのためのデザイン

    CozyBlanketはデフォルトでスナップと適切にオクルードされたメッシュのレンダリングを使用します。また、トポロジーリラックスのための機能、スライド機能も備えています。パッチクローニングのような高度な機能は、Retopology Packで利用可能です。

    CozyBlanketはグローバルなX軸対称もサポートしています。すべてのツールで対称オプションが考慮されるため、頂点は対称平面にスライドしてスナップします。

     

    よくある質問

    ファイルをインポートするとCozyBlanketがクラッシュします。

    ハイポリメッシュを使用している場合、デバイスのメモリ制限を越えている可能性があります。外部ツールでモデルをデシメートして、頂点数を減らすことができます。サブディビジョンベースのスカルプトソフトウェアからファイルをインポートしている場合は、より低い解像度のメッシュをインポートするか、モデルのサブディビジョンを解除してみてください。

     

    メッシュ編集時のApple Pencilジェスチャーの精度を上げるにはどうしたらいいですか?
    • ジェスチャーは常に直線と鋭い角を使用して描くようにしてください。
    • 画面の大きさに対して小さすぎたり大きすぎたりするジェスチャーを描かないようにします。
    • 推奨されるズームレベルで作業するようにしてください。CozyBlanket は、ジェスチャーを正しく認識できる距離でモデルを表示すると、リトポロジ・メッシュの太いワイヤーフレームを表示します。
    • 大きく歪んだトポロジーを避けるようにしてください。CozyBlanket は、均等に分散した規則的なトポロジーの方が、ジェスチャーをよりよく認識しました。
    • ジェスチャーを繰り返す前に、カメラを少し動かしてみてください。

     

    デフォルトのスタートアップフロッグモデルを変更するには?

    Retopology Packを購入すると、CozyBlanketフォルダにStartupフォルダを作成することができます。StartupフォルダにCozyBlanketのドキュメントを置くと、アプリを開いたときにその中のドキュメントがランダムに読み込まれ、デフォルトのカエルに置き換わります。
    また、アプリメニューの「スタートアップファイルの読み込み」を無効にすることで、スタートアップファイルの読み込みを無効にすることができます。

     

    ハイポリメッシュの新しいバージョンを持っています。CozyBlanketドキュメントのハイポリメッシュを、リトポロジーの進捗を失うことなく変更するにはどうすればよいですか?

    インポートボタンを長押しすると、メニューが表示されます。現在のモデルを置き換える」オプションを選択すると、現在のファイルに別のモデルをインポートすることができます。