夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

3Dモデリング

BlenderでColmapを使用してカメラワーク推定を行う

本日はBlender枠です。 Blenderでは3DCGのモデリング以外にも多用途な使い方ができます。今回はColmapを用いた実写合成VFXを行うためのカメラワーク推定を行います。 〇環境 ・Blender4.5 ・Colmap ・ FFmpeg 7.1.1 〇Colmapとは? Colmapは画像解析のオープ…

3DCGの非多様体(non-manifold)について理解する。

本日はモデリング枠です。 最近自分自身でモデリングするだけでなく、Image to 3Dやスキャンなどを行っている中で非多様体の問題が発生することが増えてきました。 特にリメッシュやメッシュ解析において頻繁に発生するようになり、非多様体メッシュを修正し…

Blenderのプロポーショナル編集でオプション機能を使用してより使いこなす。

本日はBlender枠です。 プロポーショナル編集機能を使用する際に知らなかったTipsを知ったので備忘録を兼ねて残します。 〇環境 ・Windows11PC ・Blender4.5 〇プロポーショナル編集とは? プロポーショナル編集はある範囲内の対象物(頂点やオブジェクト)…

iCloneでBVHをアニメーションとしてインポートする

本日はReallusion枠です。 〇環境 ・Windows11PC ・iClone8 〇BVHとは? BVHは、モーションキャプチャデータを保存するためのファイル形式の一つです。 FBXなどがメッシュを保存できるのに対してアニメーションデータのみ保存するため軽量です。 内部は以下…

UnityでCharactorCreator製のキャラクターの瞳孔をコントロールする

本日はReallusion&Unity枠です。 〇環境 ・Windows11PC ・Unity2022.3.26f1 〇瞳孔 人間は様々な条件で瞳孔の大きさが変わります。 瞳孔は交感神経、副交感神経や環境の明るさ、見ているものの距離によって変わります。これは生理的な反応であり、意識して…

Blenderのビューレイヤーを使用してあるレイヤービューのみレンダリングする

本日はBlender枠です。 〇環境 ・Windows11PC ・Blender4.4 〇ビューレイヤーとは? ビューレイヤーはBlenderのレンダリング機能の一つです。 例えば、背景と主役のオブジェクトといった2種類のグループにオブジェクトを分けて、背景だけをレンダリング、主…

Cascadeurで作成したアニメーションをBlenderで使用する

本日はCascadeur枠です。 近年、リアルなキャラクターアニメーションの需要が高まる中、Cascadeurは自然な動きを簡単に作成できるツールとして注目を浴びています。 〇Cascadeurとは? 物理演算やAI支援による補助機能を利用して、直感的かつ効率的にアニメー…

オリジナルBlenderアドオン『HarmonyKeys』をリリースしました。

本日はBlender枠です。 先日以前より開発していた自身のオリジナルアドオンHarmonyKeysをリリースしました。 https://holomotoranger.booth.pm/items/6801693 〇HarmonyKesyとは? HarmonyKesyは楽譜データを読み込むことで楽器に演奏アニメーションを付ける…

Blenderのベベルを使用して階段を作る

本日はBlender枠です。 Blenderでは様々なことができますが今回は簡単に階段を作っていきます。 〇環境 ・Blender4.4 ・Windows11PC 〇ベベルで階段を作る 今回はこちらのデフォルトのシーンを使用します。 ベベル(Bebel)とはエッジを削り面を作り出すことで…

obj形式のファイルフォーマットを理解する⑤ 頂点カラー

本日は3DCGの基礎理解です。 前回はデータ手打ちでOBJモデルを作成できました。 OBJのモデルはテキストファイルであるためフォーマットを理解していれば手打ちで入力することができます。 今回は頂点カラーに関してみていきます。 〇OBJ形式 objはサーフェス…

Blenderでダイナミックペイントを使用する その②波

本日はBlenderモデリング枠です。 先日はダイナミックペイントを使用してほかのオブジェクトとの接触の痕跡を作成しました。 前回はただペイントを行うだけでしたが今回は波を試していきます。 〇環境 ・Windows11 ・Blender4.4 〇ダイナミックペイントで波…

Blenderでダイナミックペイントを使用する その①

本日はBlender 3Dモデリング枠です。 ダイナミックペイントを使用していきます。 〇環境 ・Windows11PC ・Blender4.4 〇ダイナミックペイント(DynamicPaint)とは? Blenderのダイナミックペイントは3Dオブジェクトに対して絵を描くような動作をシミュレーシ…

Flip Fluidで流体シュミュレーションを行う その② 当たり判定

本日はBlender枠です。 先日はFlipFluidを用いた流体シミュレーションの基礎的なワークフローを見ていきました。 今回は当たり判定を設定します。 〇環境 ・Windows11PC ・Blender4.4 〇FlipFluidでの当たり判定 ドメインと流体の設定を済ませたシーンを使用…

Flip Fluidで流体シュミュレーションを行う

本日はBlender枠です。 昨年Blender Market: Best Of 2024のセールで購入していたFlipFluidsというアドオンを触っていきます。 〇環境 ・Windows11PC ・Blender4.4 〇FlipFluidとは? FlipFluidsはBlender内で流体シミュレーションを用いて高度な水やゲルと…

Open3Dでジオメトリ数を判定する

本日はPython枠、モデリング枠です。 今回はOpen3Dでインプットした3Dモデルからジオメトリ数を取得します。 〇環境 ・Windows11PC ・Anaconda3 ・Python3.11 〇ジオメトリとは? ジオメトリとは3Dモデルのメッシュにおけるデータヒエラルキーの一つです。 3…

Blenderでハイポリゴンのモデルに効率的にシームを入れる

本日はBlender枠です。 BlenderではUV展開を行う際にシームを入れることで狙ったUVアイランドを作成することができます。 シームは切れ込みと同義のため、UVアイランドを作るためには切れ目なくループ状にメッシュに対して入れる必要があります。 ローポリゴ…

EpicGamesのFabから3DモデルをBlenderにインポートする

本日は3Dモデリング枠です。 〇Fabとは? Epic GamesのFabは、3Dモデルやアセットを発見、購入、販売、共有することができる統合マーケットプレイスです。 Fabは、従来のUnreal Engineマーケットプレイス、Sketchfab、Quixel、ArtStationなどの既存のプラッ…

BlnderのLoopToolsを使用して形状を滑らかにそろえる

本日はBlender枠です。 Blenderには様々な機能があり、筆者自身も5年以上ほぼ毎日触っていても知らない機能が多いです。 今回はその中でLoopToolsを使用してカーブを作成します。 〇環境 ・Windows11PC ・Blender4.3 〇Looptoopsとは? Blenderの「LoopTools…

obj形式のファイルフォーマットを理解する④ Obj形式のデータを自作するその②

本日は昨日に引き続きOBJを自作していきます。 前回はデータ手打ちでOBJモデルを作成できました。 OBJのモデルはテキストファイルであるためフォーマットを理解していれば手打ちで入力することができます。 〇OBJ形式 objはサーフェスモデルの中間拡張子とし…

obj形式のファイルフォーマットを理解する③ OBJ形式のデータを自作する

本日は3Dモデリング枠です。 先日まででOBJ形式のデータフォーマットの内部を読み解いていきました。 結論としてOBJ形式はバイナリではなくテキスト形式であり。人間の目でも十分理解できる形式となっていました。 今回はまとめとしてBlenderやMayaを使用せ…

obj形式のファイルフォーマットを理解する② フェイスの構造理解とobjファイルをcsvに変換する

本日は3Dモデリング枠です。 最近pythonを持ちいてOpen3DのライブラリでBlendetやMayaにあるような機能の独自実装を行いながら3DCGに関しての知識を深めています。 その中で一度open3dライブラリで処理をしてエクスポートしたモデルを再度Open3Dライブラリで…

obj形式のファイルフォーマットの中身を見る 

本日は3Dモデリング枠です。 最近pythonを持ちいてOpen3DのライブラリでBlendetやMayaにあるような機能の独自実装を行いながら3DCGに関しての知識を深めています。 その中で一度open3dライブラリで処理をしてエクスポートしたモデルを再度Open3Dライブラリで…

UnityShaderで複数の頂点カラーを使用した処理を行う(失敗)

本日はモデリング枠です。 結論から記述すると失敗したモノの美貌として残していきます。 〇頂点カラー 頂点カラーとは3DCGの頂点(Vertex)が持つことができる色情報です。 マテリアルやテクスチャと異なり、頂点自体が持つことができるため、UVを必要とせず…

Pythonを用いてOBJのモデルをデシメートを行う

本日はPython、3Dモデリング枠です。 BlenderやMayaといった3Dモデリングに特化したDCCツールはPythonで動いており、Pythonライブラリを使用したプログラマブルな機能へアクセスすることができます。 この理由はC#などでは直接C++コードを読み込むことが一般…

Blenderで重複頂点によってクロスシミュレーションが破断したトラブル

本日はBlenderトラブルシューティング枠です。 本日制作で別キャラクターように作成していた服をクロスシミュレーションを使用してまた別のキャラクターに適応しようとした際に 以下のように爆発する事象が発生しました。 クロスシミュレーションにおいてコ…

Cascaduerでモーキャプ後の足の動きを固定する

本日はCascaduer枠です。 Cacaduerではビデオモーションキャプチャを行うことで実写の動きをアニメーションに取り入れることができます。 Cascaduerに限った話ではありませんが、モーションキャプチャを行ったデータはノイズクリーニングを行う必要がありま…

Blenderで位置によってオブジェクトの色を変える

本日はBlenderモデリング枠です。 今回はした画像のようにオブジェクトの位置に基づいてグラデーションをかける実装を見ていきます。 〇環境 ・Windows11PC ・Blender4.3 〇ジオメトリノード Shadingウィンドウで使用することができるジオメトリノードを使用…

Cascaduerでビデオモーションキャプチャを行う

本日はCascaduer枠です。 Cascaduerはビデオモーションキャプチャの機能が搭載されています。 以前も触ったことがあるのですが、依然触ったときと若干プロセスが変更されているため備忘録を兼ねて改めてまとめていきます。 〇環境 ・Cascaduer2024.3.2 ・Win…

Cascaduer Mobileでデスクトップ版のデータを読み込む

本日はCascaduer枠です。 最近出たiOS版のCascaduer Mobileと従来のデスクトップ版ではデータの連携ができます。 今回はこの手順を見ていきます。 〇環境 ・Windows11PC ・Cascaduer 2024.3.2 ・iPad Air(M2) ・CascaduerMobile 〇Mobile版との連携 ① デスク…

Blenderで2つのパイプをきれいに接続する

本日はblender枠です。 例えば以下のようなシーンがあったとします。 この2つのパイプを接合する際にFキーでFillを行った場合以下のように均一の太さにならないことがあります。 今回は2つのパイプをきれいに接続していきます。 〇辺ループのブリッジ 今回…