2020年

参考資料

Modo Essentialsが無料化

William Vaughan氏のModo Essentialsが無料公開されました。https://learn.foundry.com/course/3128/view/modo-essentials

Modo EssentialsはModoのツールと機能の操作と操作を分かりやすく説明するために作成された初心者向けのガイド本です。Modoの基本や便利なホットキーなどが解説されてます。
コアコンテンツに加えて、26のビデオと23のModoシーンファイルで構成される470 MBのボーナスコンテンツも含まれています。

参考資料

AIを使用した高解像度化サービス「AnimeRefiner」

AIを使用した高解像度化サービス「AnimeRefiner」のページが公開されてます。
https://animerefiner.com/

サンプルを見ると線がシャープな状態でクオリティーが高そうです。意図的なのかわかりませんが、サンプルが汚く縮小されてるのが気になります。あにめたまご2018作品なので、等倍ピクセルを4k、8kにしたサンプルが見てみたい気がします。

続きを読む

参考資料

無料のTwinmotionマテリアルコレクションがUEで利用可能

無料のTwinmotionマテリアルコレクションがマーケットプレイスで利用可能になったようです。レンガ、コンクリート、生地 、グラス、草と土、木材 、プラスチックなどのマテリアルが497個公開されてます。
https://www.unrealengine.com/en-US/blog/free-twinmotion-materials-collection-now-available-for-unreal-engine-on-the-marketplace
https://www.unrealengine.com/marketplace/ja/product/twinmotion-materials

現在Marketplaceで入手可能なこれらの豊富で強力なマスターマテリアルは、最新のレイトレーシングの進歩をサポートし、ベストプラクティスを使用して約500のPBRマテリアルの使用方法を定義しています。この作業には次のものが含まれます。

  • レイトレーシングの特定の最適化
  • レリーフが必要なマテリアルの視差オクルージョンマッピングなどの高度なシェーディングテクニックは、レンガなどのサーフェスに便利です。
  • オブジェクトのUVを使用したり、3平面マッピングを使用したりする機能。適切なUV座標が指定されていない可能性があるオブジェクト上のテクスチャを自動的に位置合わせすることで、テクスチャの位置合わせを支援します。
  • 実世界のスケールを定義する機能

参考資料

Chaos GroupのProject Lavinaオープンベータ開始

Chaos Groupが2019年のシーグラフでデモしていたProject Lavinaのオープンベータが開始されました。使用するには利用可能なV-Ray Next Renderライセンス(V-Ray Next製品に付属)が必要です。
https://www.chaosgroup.com/lavina

このソフトウェアはNvidia RTXグラフィックスカード使用する、RTXの技術プレビューとして2018年のシーグラフで発表していました。

Vrayシーンをロードして、レンダリングするオブジェクト、カメラ、または環境ライティングを編集することができます。Project Lavinaは主にV-Rayシーンのルックを反復したり、肩越しのレビューで探索したりするための環境として意図されています。

ユーザーは非常に大きな.vrsceneファイルをLavinaに非常にすばやく読み込むことができます。ChaosGroupはV-Ray自体で開くのに数分かかるシーンが数秒で読み込めると話してます。

現在はマテリアルを編集したりライトを配置したりすることはできませんが、新しいアセットをマージして、インタラクティブに配置またはスケーリングし、LUTまたはHDRIマップを読み込んでシーンの照明を変更することができます。

静止画やウォークスルーをリアルタイムで、または高品質のオフラインレンダリングとして生成するだけでなく、LavinaでV-Rayレンダリングのカメラ位置を設定する環境として使用できます。

Tips

Mayaのバッチレンダリングをバッチコマンドで便利にする

Mayaのコマンド ライン レンダラを使用したバッチレンダリングのしかたを紹介したことがありますが、今回はその応用編として、バッチコマンドを使用してMayaのバッチレンダリングを少し使いやすくする方法について書いてみます。

 

MayaはメジャーバージョンやSPごとに細かな不具合が多く発生します。このためコマンド ライン レンダラを使って各Mayaバージョンでレンダリングを実行し、どのバージョンからバグったか調べたりします。
しかし、Mayaは基本的にデザイナーに優しい動作をしないため、Maya標準動作が不便に思うことが多々あります。そこでバッチコマンドを使用して、Mayaのバッチレンダリングを少し使いやすくする方法を紹介したいと思います。

以下は指定したファイルをレンダリングする、基本的なバッチファイルの記述です。これを元に使いやすくしていきます。

“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “C:\BatchFolder\Output\Cut001.log” -rd “C:\BatchFolder\Output” “C:\BatchFolder\Cut_001.ma”

 

バッチ実行後にウィンドウを閉じないようにするコマンド

cmd /k

通常コマンドプロンプト ウィンドウは、バッチファイルのコマンドを実行すると自動的にウィンドウが閉じます。バッチファイルの最後にコマンドを追加すると、コマンドプロンプト ウィンドウが閉じなくなります。

基本的になくてもよいですが、バッチの実行結果を確認したい時に使用します。バッチファイルが意図した通り動作するまではコマンドを入れておくとよいです。

“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “C:\BatchFolder\Output\Cut001.log” -rd “C:\BatchFolder\Output” “C:\BatchFolder\Cut_001.ma”
cmd /k

 

変数 コマンド

set

変数を設定するコマンドです。
変数とは「値」や「文字列」を出し入れできるアイテムボックスみたなもので、「値」や「文字列」に好きな名前をつけてバッチファイル内で使うことができるようになります。

例えばログファイルと画像ファイルを同じ名称にしたいとき、バッチファイル内を2箇所書き換えるのが面倒です。そこでバッチファイル内で変数を定義し「set FileName=Cut001」、置換したい箇所に変数の展開「%FileName%」を記述します。下の例では変数「FileName」を「Cut001」という文字列に置き換えられてバッチが実行されます。

set FileName=Cut001
“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “C:\BatchFolder\Output\%FileName%.log” -rd “C:\BatchFolder\Output\%FileName%” “C:\BatchFolder\Cut_001.ma”

レンダリングに使用するシーンファイルなど、書き換える頻度が高いものを変数として使用すると便利です。

set MayaFile=BatTest.ma
set FileName=Cut001
“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “C:\BatchFolder\Output\%FileName%.log” -rd “C:\BatchFolder\Output\%FileName%” “C:\BatchFolder\%MayaFile%

 

カレントディレクトリ コマンド

%~dp0

バッチファイルのあるディレクトリを指定するコマンドです。
バッチファイルとMayaファイルを同じディレクトリで管理して使用するとき、画像ファイルの出力先のパスを毎回書き換えるのは面倒です。相対パスで記述しておけばパスを書き換える必要がなくなって便利です。

例えば下の画像のようにバッチファイルとMayaファイルを同じディレクトリに入れて使用するとします。

絶対パスでは「C:\BatchFolder\Cut_001.ma」のような記述になりますが、相対パスでは「%~dp0\Cut_001.ma」で済みます。

set MayaFile=Cut_001.ma
set FileName=Cut001
“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “%~dp0\%FileName%\%FileName%.log” -rd “%~dp0\%FileName%” “%~dp0\%MayaFile%”

 

フォルダ作成 コマンド

mkdir

フォルダを作成するコマンドです。
Mayaは画像の出力先のディレクトリがなかった場合、自動的にフォルダを作成してくれます。しかしログ作成「-log」はフォルダを作成してくれません。このためログファイルを出力する場合はあらかじめフォルダを作成する必要があります。

下の例では変数を使用してフォルダを作成してます。

set MayaFile=BatTest.ma
set FileName=Cut001
mkdir %FileName%
“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “%~dp0\%FileName%\%FileName%.log” -rd “%~dp0\%FileName%” “%~dp0\%MayaFile%”

 

ファイル削除コマンド

del

ファイルを削除するコマンドです。
ログ作成は「-log」は、レンダリングを繰り返すたびファイルにログを追加し続けます。私の場合は最新のログしか必要ないので、レンダリング前にログファイルを削除します。

set MayaFile=BatTest.ma
set FileName=Cut001
mkdir %FileName%
del %FileName%\%FileName%.log
“C:\Program Files\Autodesk\Maya2018\bin\Render.exe” -r sw -s 1 -e 120 -of png -log “%~dp0\%FileName%\%FileName%.log” -rd “%~dp0\%FileName%” “%~dp0\%MayaFile%”

 

バッチファイルを参照する

call

バッチファイルから別のバッチファイルを呼び出すコマンドです。
例えばMayaのバージョンを変数で管理したいとき以下のように記述します。Mayaのバージョンが多くなると見にくくなると思います。

set Maya2016=C:\Program Files\Autodesk\Maya2016.5\bin
set Maya2017=C:\Program Files\Autodesk\Maya2017\bin
set Maya2018=C:\Program Files\Autodesk\Maya2018.5\bin
set Maya2019=C:\Program Files\Autodesk\Maya2019\bin
set Maya2020=C:\Program Files\Autodesk\Maya2020\bin

set MayaVersion=2019
set MayaFile=BatTest.ma
set FileName=Cut001

call set MayaVersionPath=%%Maya%MayaVersion%%%
mkdir %FileName%
del %FileName%\%FileName%.log
%MayaVersionPath%\Render.exe”-r sw -s 1 -e 120 -of png -log “%~dp0\%FileName%\%FileName%.log” -rd “%~dp0\%FileName%” “%~dp0\%MayaFile%”

Mayaのパスだけ別のバッチファイル「MayaPath.bat」に記述し、このバッチファイルを他のバッチファイルから参照することができます。

set Maya2016=C:\Program Files\Autodesk\Maya2016.5\bin
set Maya2017=C:\Program Files\Autodesk\Maya2017\bin
set Maya2018=C:\Program Files\Autodesk\Maya2018.5\bin
set Maya2019=C:\Program Files\Autodesk\Maya2019\bin
set Maya2020=C:\Program Files\Autodesk\Maya2020\bin

「call」を使用して他のバッチファイルを指定します。

call C:\BatchFolder\MayaPath.bat

set MayaVersion=2019
set MayaFile=BatTest.ma
set FileName=Cut001

call set MayaVersionPath=%%Maya%MayaVersion%%%
mkdir %FileName%
del %FileName%\%FileName%.log
“%MayaVersionPath%\Render.exe”-r sw -s 1 -e 120 -of png -log “%~dp0\%FileName%\%FileName%.log” -rd “%~dp0\%FileName%” “%~dp0\%MayaFile%”

Mayaのパスを分けるのはバッチファイルが長くなるのを避けることができることの他に、将来的にMayaのバージョンが増えた場合に、ファイルの書き換えが1ファイルの編集だけで済むというメリットもあります。考え方としては3Dソフトのリファレンス機能と同じです。

バッチファイル完成!これでバッチファイルの使い勝手がよくなりました。バッチコマンドを使いこなせば、フォルダ内の全てのMayaファイルを全てレンダリングするようなこともできます。

 

個人的にはバッチファイルやCUIは苦手なので使いたくないのですが、Mayaはスクリプトやらコマンドプロンプトやら色々知ってること前提のソフトなので、GUIベースのソフトで育った人には辛い。

参考資料

3ds Maxの高度なカートゥーンキャラクターリギングトレーニング

3ds Maxのカートゥーンキャラクターリギングのトレーニングだそうです。トレーニング時間:11時間08分
14の章と63のビデオ。費用は225 USドル。

リグがよくできてそう。
https://www.joaovictor3d.com/rigavancado-eng

このコースでは正確にリグを設定できるようにモデルを準備する方法、ベクトル間の角度を検出する方法、変換配列を操作する方法、値の参照、腕と脚用にパラメータ化されたik/fkブレンドシステム、コーディングによるスカッシュ アンドストレッチ、肘や手と膝のピン、パラメータ化された自動鎖骨、脊椎と手首用のツイストシステム、maxscriptを介したカスタムアトリビュートの追加、二次制御によるベンド腕とベンド脚、ラジアンと度、maxscriptを介してパラメータ化された足の回転、2軸足、ループを使用したタスクの自動化、指用の自動システム、ボーンの正しい位置、数学を使用したブレンドシェイプの修正(リニア方程式)、フロートリアクション、複雑なメッシュ用のスキニング方法、3つの異なる手法によるブレンドシェイプの修正、頭のスカッシュ アンドストレッチ、マズルリグ、スケーラブルな目、瞳孔コントロール、頬骨制御、選択ユーザインタフェースなどについて学習します。

参考資料

Particle Universe

Cinema 4D、X-Particles、Houdiniで行ったシミュレーションをまとめだそうです。レンダリングはRedshift。
レンダリングが綺麗。

Tips

modoでメッシュを押しつぶす表現

modoでメッシュを使用して、別のメッシュを押しつぶす表現について書いてみます。

サンプルファイル

 

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

プロシージャルモデリング機能のSurface Constraintを使用してメッシュを押しつぶしてます。

Surface Constraintをポリゴン数の多いアイテムに使用すると計算が遅くなりそうなので、単純な形状のメッシュを使用してメッシュ変形できるようにWrapデフォーマを使用しました。Wrapデフォーマはスケマティックを使用してメッシュを入れ替えると反応しなくなり、modoの再起動が必要になる気がするので注意が必要です。

最後に、押しつぶしたあと柔らかいメッシュが揺れるニュアンスが欲しかったのでSoft Lagを追加してます。

スケマティック下の方はSurface Constraintの軸を反転する処理です。Surface Constraintは元々がモデリング用ということもあり、コンストレイントする軸が「XYZ」と「反転」の組み合わせで使うようになってます。
モデリングでは問題ありませんが、アニメーション用途で使おうとするとアイテムの位置関係でオプションを切り替える必要があって少し手間が掛かりそうです。アイテムの位置が45°の範囲でXYZ軸の切り替えと自動的に反転するリグを組もうと思いましたが、少し面倒そうでした。

 

Surface Constraintを使うとソフトボディのシミュレーションよりも手軽に変形を確認できるのが便利です。

modoのアセットに含まれてるチキンを変形してみた。

 

参考