日々適当

hibitekitou

法線マップを作ろう

cg |2024-04-24

法線マップをさくっとそれっぽく出せればいいってときPhotoshopの3D機能は便利だったのだけど、現行バージョンに搭載されているフィルタ→3D→法線マップを作成...は知っている機能となんか違っている上に将来削除されると明言されているものに成り下がってます。

ってことで何かいいツールないかなぁって思っていたのですけど、Kritaで行ける模様。


あら素敵。

ネット上のサービスとかあるけど、お仕事関係は得てしてネット上のツールは使用禁止だったりしますしね。ありがたいことです。

ちなみにPhotoshopから3D機能を廃止する方向で動いているAdobe様はSubstanceに誘導したいようです。この場合はSubstance 3D Samplerを使えって感じかね。入力画像からPBRに必要な各種素材を出力してくれるのだからこっちの方がはるかにいいのは間違い無いのだけど、それっぽくさくっとって目的にはちょっと大袈裟に感じます。あと値段。単体販売はされてないから個人用途ではSubstance 3D TexturingかSubstance 3D Collectionのサブスクに入りなさいってことだけど、Texturingで月額2680円なのよね。ちょっと辛いねぇって思ったりはするわけです、自宅用途としては。
なを職場用途で入ろうとした場合はSubstance 3D Collectionしか選択肢がない模様。

コメント ( 0 )|Trackback ( )

Blenderのショートカット

cg |2024-03-31

Blender 4.1がリリースされました。2.8から使い始めてずいぶんとたちますがいつまでも初心者です。
その原因の一つはたぶん業界互換キーマップを使っているのもあるのでしょうが、まあ、やめるつもりはありません。Ver.4になってまた改良されてますしね。

業界互換キーマップ [Blender 4.1 Manual]

ところでBlender 4.1では標準のキーマップ"Blender"でキーフレームを打つためのものが変わりました。これまでは"I"キーでInsert Keyframeメニューを表示してたのが、それはデフォルトキーチャンネルへのキーフレームの追加、となりました。Insert Kyframeメニューは"Kキーに変更された模様。

これが業界互換キーマップではどうやらInsert Keyframeメニューへのショートカットがなくなったようなのですね。従来、Shift + Sに割り振られていたのが、それはデフォルトキーチャンネルへのキーフレームの追加になったようです。Sはトランスフォームへのキーフレームの追加。Option + Sがキーフレームの削除。Shift + Wが位置にキーフーレム、Shift + Eが回転にキーフレーム、Shift + Rがスケールにキーフレームとかなってます。んが、Insert Keyframeメニューへのショートカットがなくなりました。まあそんなに困らんような気もするけどちょっと残念です。ちょっとどころじゃなく残念に思うなら自分でショートカットをいじればいいのだけど、そこまでじゃないし。

まあでも標準とは外れていけど、ショートカットは使いこなしていきたいものです。とりあえずキーマップの設定を眺めてて、
Option + W:位置を初期化
Option + E:回転を初期化
Option + R:スケールを初期化
とかあって、ちょっとほぉって思ってました。今度じっくりと設定を眺めてみますかね。

コメント ( 0 )|Trackback ( )

Scaniverse 3.0

cg |2024-03-24

Scaniverseが3D Gaussian Splattingをサポート 〜 スマホからフォトリアルな3Dシーンを迅速に作成 〜 –[Niantic Labs]

ちょっと前にリリースされて話題になっていた Scaniverse
複数画像から空間生成を行う手法の一つ3D Gaussian Splattingを採用しており、何よりそれをiPhoneの中だけで処理を完結していると言うことですごーいってなっているツールです。

ということで1分程度の時間でこの程度の3D空間が再現されているというのがまことにすごいなと思った次第。上の図であえて機内モードにして実行しているのだけど、たぶんこれでスタンドアロンで処理が行われたと言えるんじゃないかなって思います。
業務用途で考えた時、クラウド上のサービスの利用に消極的な案件でも利用できるのではと期待できるってこともありますな。

もっとも外部ツールへの書き出しはplyしか現時点ではサポートしていないっぽく、それは点群データが出てくるだけなので、外のツールでの再利用にはハードルがちょいと高そうです。
とはいえ出力されるplyファイルをPlayCanvasのモデルビューワーに放り込むとちゃんと空間が再現されている様子が見れるわけで、データとしてはちゃんとしている模様。ところでこのビューアを提供しているところってなんだろ? PLAYCANVS?

ということでそのうちたとえばBlenderでも利用しやすい環境が整っていきましょう(他力本願)

コメント ( 0 )|Trackback ( )

Image 2 Mesh(ke_i2m)

cg |2024-03-19

ということで代替ツールです。以前試した時、ちょっと思ってたのと違うって思っていたのだけど、現在v2になってて$10で売られているものになってます。

Image2Mesh[gumroad] (リンク貼るとgooのエディタが不正な書式があるってとおしてくれない…)
Image 2 Mesh [Blender Market]

仕方ないので買ってみました。 画像は建築パース.comから借りてます。
画像を指定してImage To Meshボタンを押すと画像が張られて透明部分が切り抜かれたオブジェクトが出力されてきます。
開く設定パネルに私的に必要としているパラメーターがありました。Expand Borderって値で余白を持って切り抜いてくれるようになったわけです。これが欲しかった。
アルファチャンネルの形にピッタリで切り抜かれると、パキッとしたラインになっちゃって、それはそれで表現として不自然になるようなコンテンツだったわけです。

パキッとてなると何が嫌かというと、このパーツにカメラで寄った時、画像の解像度が足りなくなってぼやけた絵になっているのに輪郭だけはっきりとした線になるのね。余白を持たせてボケたアルファチャンネルのピクセルで輪郭線を表現してほしいわけです。それが可能になってました。(以前もできたのかもしれんけど)

 

 

分割の仕方も真ん中のFastを選べば良さそうです。
なを、テクスチャを適用したマテリアルが用意され、それがメッシュに設定されるのですけど、ビューポート上では透明部分が(今回のテクスチャの場合は)黒く表示されます。これはマテリアルのブレンドモードがOpaqueになってるからで、Alpha BlendかAlpha Clipにしてあげればいいのだけど、数が多いと面倒すな。

ということで個人的には相当使えるツールとして名乗りを上げてきた感じなんだけど、これを必要とする仕事は終わっちゃったんだよなぁ。次はいつ来るかなぁ…

<追記>選択したオブジェクトのマテリアルのブレンドモードを全部Alpha Clipにするならこんなスクリプトでいいっぽい

import bpy

materials = bpy.data.materials

selectedObjs = bpy.context.selected_objects

for obj in selectedObjs:
    for ms in obj.material_slots:
        for mat in materials:
            if ms.name == mat.name:
                mat.blend_method = "CLIP"
                # enum in [‘OPAQUE’, ‘CLIP’, ‘HASHED’, ‘BLEND’], default ‘OPAQUE’

</追記>

コメント ( 0 )|Trackback ( )

Principled BSDF

cg |2024-02-20

BlendernのマニュアルにはPBRシェーダーとして知られるディズニーの原理モデルに基づき、Renderman、UEなどのソフトウェアとの互換性があります、とあります。このモデル自体はディズニーはSIGGRAPH 2012で紹介したDisney principled BRDFってのが始まりみたいですね。

baseColor
物体表面の色
subsurface
拡散反射とサブサーフェーススキャッタリング(表面下散乱)の間の調整値
metallic
金属か非金属か。導電体、誘電体の区別とも説明されてるけど、電流を流すもの流さないものの区別とも言えますかね。金属側にした時は拡散反射成分を持たなくなります。
specular
非金属の場合のスペキュラー反射の調整値。0の場合スペキュラー(直接反射)は消えると思いきや、入射角が90度に近くなるとその成分が現れる。フレネル効果がこれということらしい。
specularTint
非金属の場合のスペキュラー反射の色。
roughness
物体表面の粗さ(指で触った肌触りといったレベルの話ではなくミクロな表面の粗さみたい)。
anisotropic
スペキュラーの異方性の度合い。接線方向に対してスペキュラーの伸びる量を規定している模様。
sheen
布表現なんかで使う値。入射角が90度付近での反射量?
sheenTint
Sheen成分とbaseColorをミックスする。
clearcoat
一番上の層に追加されるスペキュラー層。
clearcoatGloss
クリアコートの光沢を調整。BlenderではClearcoat Weightかな?

以上が定義されているそうで、さらにDisney principled BSDFにより透過が加わったりその他拡張が加えられて今のBlenderのprincipled BSDFとなっている模様。

とかやってたのはとある素材集のFBXを読み込んだ時、付属するテクスチャのprincipled BSDFシェーダに繋がるポートがどうもわからんって感じだったから。SpecularのIOR Levelにささったテクスチャがありましてね。?って思うわけです。まあたぶん、Blenderが勘違いした結果だと思うのだけど、?って思う程度には理解してないなと思った次第。反省。
FBXはPBRマテリアルへの対応がされていないようで、そもそも制作者の意図した状態のマテリアルがBlenderで再現されるわけはないのだから、テクスチャは繋ぎ直しが基本なのだろうけどね。面倒なことです。PBRマテリアルに対応している汎用フォーマットとしてglTFやUSDがあるそうで、やはりこの辺に手を出していく必要があるなあと遅まきながら思っている今日この頃です。

<追記>せっかくなので復習。IOR。Index of Refrection。詳しくはウィキペディアでも見とけって思ったりはするけど、そこにはこう書かれてます。

真空中の光速を物質中の光速(より正確には位相速度)で割った値であり、物質中での光の進み方を記述する上での指標である。

というそのままのお話で、CG屋さんの間で広く共有されていると思われるガラスのIORは1.5だけど、これは新空中の光はガラス内の光より1.5倍ほど遅いと言えるんかね。その結果、光は物質間の境界で曲がり、角度がついて入射するとき透明な物質の向こうにある物の位置が実際の位置とはずれて見える、なんてことは現象としてはよく知られている通りです。
理論的にはこの辺はホイヘンスの原理から説明されるそうだけど、まあともあれ物質をまたぐと光は曲がる、と。

一方で光は物質を跨ぐところで反射もします。入射した光のうちどれだけ反射するかを示す値が反射率みたいだけど、それは屈折率から求められるということです。ってことで、CGソフトではIORを定義すれば透過と反射両方の挙動が求められる、ということみたいです。
ちなみに不透明なのに屈折率をどうやって測定しているのって思うわけですけど、測定方法がいくつかあるそうで、頭いい人たちはすごいなぁって思うわけです。</追記>

コメント ( 0 )|Trackback ( )

HAP

cg |2024-01-29

動画のCodecにHAP Codecsってのがあります。今まで興味なかったので何も調べてこなかったのだけど、必要が生じたのでちょっと調べます。
このCodecは通常AVIやMOVをコンテナとして使用されるそうです。GPUに重い処理を渡すことでCPUで処理するCodecよりも再生パフォーマンスが良いというメリットがあるようでリアルタイム系の描画エンジン(主にゲームエンジン)で使用するときに候補に上がってくるみたいですね。
Codecのフォーマットとしては4種類あり、HAP, HAP Alpha, HAP Q, HAP Q Alphaで大雑把に無印に対してQはデータサイズを犠牲にして画質を向上させたもので、Alphaはアルファチャンネルをサポートということになります。

ffmpegでの変換は

ffmpeg -i sourceFile -c:v hap -format hap_q outputFile.mov

だそうな。-formatオプションには hap_alpha, hap_q,があり、-formatオプションをつけなければhapになる模様。HAP Q Alphaにするにはどうすんだと思うこともないけど、使うことなさそうだからとりあえず無視。

-chunksオプションってのもあり、再生時(デコード時)の使用するCPUコア数を指定する模様。

ということで手元にあったH.264の1280x720のmovファイル(60MB)を変換してみたらですね、1.26GBとかいうサイズになったのだけど、これ、あってんの?
このファイルサイズを許容できるぐらい動画再生のCPUへの負荷軽減ってのはリアルタイム系には重要なテーマってことなんすかね。

HAPについてググってたらUE 5.3に関するページが出てきたのだけど、それによるとこのバージョンからデフォルトでいくつかのフォーマットをサポートするようになり、その中にHAPが含まれるようになったそうです。このCodecは現役ってことですかね(それ以前のバージョンではプラグインを有効にすることで取り扱えたのかな)。ちなみにUnityではアセットを購入することで利用できる模様。Unityで使用している人のレポートを見るとH.264と比較して半分ほどのCPU使用率になるようです。効果が高いけど、ファイルサイズが大きいから高速なストレージは必須ということになるんだろうなあ。

コメント ( 0 )|Trackback ( )

年賀状を作ろう

cg |2023-12-31

というわけでStable DiffusionのComfyUIから取り出したイメージからデプスマップを作ります。

Marigold: Repurposing Diffusion-Based Image Generators for Monocular Depth Estimation[GitHub]

こちら、単眼深度推定を実装したMarigoldってものということで、こちらのページからインタラクティブデモサイトへのリンクが張られています。

ってことで深度マップを取得できるので、これでちょっと元画像に対して凹凸をつけられます。実際適用してみたら思った感じじゃなかったのだけど、まあ、2024年の年賀状はこんな感じでよろしくお願いします。

明日出すといつ届くんだろ…

コメント ( 0 )|Trackback ( )

Vroid Studioから出したモデルをBlenderで使うメモ

cg |2023-12-21

まあ世の中いっぱいそんなページがあるのだけど。メモ。

Vroid Studioからvrm 0.0で書き出したvrmファイルはVRM Add-on for BlenderここのアドオンをBlenderにインストールすることで読み込める。どうもvrm1.0にも対応しているらしい。

諸般の事情により、MToonマテリアルじゃなくてPBRマテリアルにしたい。けど手動で繋ぎかえるのは面倒くさい。ってことで、ベースカラーに相当する部分だけをとりあえず繋いでくれるスクリプトを配布してくれているうらうなぎさんという方の素敵ページ 『BlenderでVRMを読み込んだ後にMToonを外してPBR表示するスクリプト 』 からスクリプトファイルをダウンロードして、Blenderのスクリプトエディタにロードして実行しやす。

諸般の事情により1オブジェクト1マテリアルにしたいので、マテリアルごとにポリゴンを分離しやす。マテリアルの数だけ分離するとこんなことになります。無駄の極みですが諸般の事情により仕方ないのです。

アルファで抜いているところはマテリアル設定でそうなってないのでそう設定します。

階層を整理して…。シェイプキーは持っていけないとしてます。

さて、モーションです。MMDから拝借するとします。vmdファイルってやつっすかね。MMD Tools [Fandom] ってのを使うみたいです。こちら、Blender 4ではまだちゃんと動かないみたいなので3.6で使ってます。MMDのモデルデータであるpmdファイルを読み込んだ後、それにvmdを適用しました。ちなみにモデルデータはたぶん結月ゆかりMMDモデル無料配布中! [VOCALOMAKETS] から拝借したものだと思う。で、モーションは女の子がクルクル回るモーション(vmd) [BowlRoll] から拝借。

でまあAuto Rig Proでリターゲットしてあげておしまいです。まあ、なんとなく見れるようにはなりますな。
基本的なところはそんな感じでしょか。

ここから調整を加えてフォルムをちゃんとさせないといけないだろうけど、それをするには知識が足りなすぎるので、将来その辺の処理をパパッとデキるようになるようお勉強すな。

コメント ( 0 )|Trackback ( )

スナップ

cg |2023-11-30

Blender 4になってスナップが便利になったのだけど、

例えば上図ではコーンをキューブ上部にスナップさせているわけですが、ドラッグして移動中にLMBを押したままBキーを押してそのままスナップさせる基点を選択し、LMBを話すとその基点をどこに移動させるかってモードに変わるのでスナップ先を指定して(マウスボタンを押さずにカーソルを移動させて)さらにAキーを押して二点目、三点目を選んだのだけど、向こう側の四点目を選択したい時、業界互換キーマップにしているとOption(Alt)キーを押してマウスを左ドラッグした瞬間スナップが確定されてしまって、スナップモードのまま視点を変更できないのですね。さて困ったぞと。

コメント ( 0 )|Trackback ( )

Bake Wranglerがカメラ方向からのベイクに対応しつつあるらしい

cg |2023-10-17

Blenderの3.4あたりだっけ、カメラ方向からのイルミネーションのベイクをしてくれるようになったけど、それにBake Wrangler [ Blender Market] が対応するベータ版が配布されてました。やったね。

それだけ。個人的にはこれは必須アドオンなのでちゃんとBlenderのアップデートについていっているのは嬉しい限り。

コメント ( 0 )|Trackback ( )
« 前ページ・