夜風のMixedReality

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

3Dモデリング

テキストベースで人体のモーションを作成するTEMOSの論文を読む

本日はモデリング枠です。 近年生成系AIと呼ばれるAI群はOpenAIを中心に爆発的速度で広まっています。 先日テキストから人体の動きを生成するText To Motionと呼ばれる部類のMotionGPTが登場しました。 motion-gpt.github.io 本記事公開本日時点ではGitHubペ…

ガンプラの説明書をモデリングの資料として利用する

本日はモデリング枠です。 モデリングを行う上で参考資料はとても重要です。 その中でもパースを除いた平行投影での前面、横面、背面(もしくは上面)の3面図があるというのは非常に強力です。 今回は筆者が好きなガンダムのプラモデルであるガンプラを開発…

Blenderで煙を作成する

本日はBlenderモデリング枠です。 Blenderでは様々なことができますが筆者はUnityで使用するためのモデリング用途以外の利用法をあまりしてきていなかったため今回Blenderの基礎を学んでいます。 昨日は物理演算で重力でオブジェクトを落下させました。 redh…

Blenderで重力をつけオブジェクトを落下させる。

本日はBlenderモデリング枠です。 〇Blenderで物理演算を行う Blenderでは様々なことができます。 一般的に多く使われる用途としては3DCGのモデリングですが、ビデオ編集やVFX、また今回行うような3Dであることを使用した物理演算も行うことができます。 今…

BlenderでPythonスクリプトをアドオンとして登録する

本日はBlender枠です。 BlenderではPythonを使用してコードを実行することができますが、UIをもとに実行したりなど高度なことを行う場合アドオンとして作成することが便利です。 今回は基本的なアドオンをPythonで作成します。 〇コード 今回は次のコードを…

Blenderで様々な環境系アドオンを使用して森の中で朽ちたガンダムの風景を作成する ガンダムF90

本日はBlender枠です。 本ブログでは時々筆者が入手したBlenderのアドオンを紹介していますが、Blenderの作品自体を紹介したことはなかったため今回はBlenderで複数のアドオンを使用してレンダリングまで回しましたので紹介します。 〇完成品 今回は筆者が趣…

BlenderとUnityでTCP通信を行う

本日はBlender枠です。 以前Blenderでサーバーを立ててUnityへデータを送信しました。 この記事で使用した通信プロトコルはUDPと呼ばれるものを使用しました。 redhologerbera.hatenablog.com 今回はTCPのプロトコルを使用してUnityとBlenderで通信を行って…

Blenderでビューポートに自作のタブを追加する  チェックボックス

本日は昨日に引き続きBlenderの調査を行います。 昨日はアドオンなどでよくみられるUIからスクリプトの関数を実行できるウィンドウを作りました。 これは 〇チェックボックス 前回は以下のようなコードでタブを実行しました。 import bpy # メニューを定義す…

Blenderで3Dビューポートに自作のタブを追加する

本日はBlenderモデリング枠です。 最近Blenderでスクリプトを構築することに挑戦していますが、今回は3Dビューポートに自作のタブを追加してUIとしてスクリプトを実行できるようにしていきます。 これは配布されているアドオン等で一般的にみられるものです…

Blenderでマテリアル数をビューポートに表示する

本日はBlenderモデリング枠です。 Blenderではポリゴン数等は表示できますが、マテリアル数はマテリアルスロットを表示する必要があるため今回可視化できないか挑戦してきます。 〇マテリアル数の取得と表示 マテリアル数を取得するためにはobj.data.materia…

Substance Painterの出力テンプレートをカスタムしてMRGT用のChannelMapを作成する

本日はSubstance枠です。 以前Texture Margeを使用してMRTK Shader用のChannelMapを作成しました。 redhologerbera.hatenablog.com 今回はSubstance Painterの出力設定をカスタムして直接ChannelMapを出力していきます。 〇ChannelMapを直接出力する 今回は…

Blenderでメッシュの一部のみにデシメート(ローポリ化)を行う

本日はBlenderモデリング枠です。 Blenderではモディファイアを使用することで様々なモデリングにおけるアシスト機能や形状変化を行うことができます。 今回はデシメートノードに関する小ネタです。 〇デシメートノード デシメートノードはハイポリゴンのモ…

BlenderでPythonを使用して特定の範囲内にある頂点を領域選択するスクリプトを書く

本日はBlenderモデリング枠です。 モデリング中に例えばミラーモディファイアを使用するためにX軸がマイナスの座標にある頂点を一括選択して削除したいなど領域で頂点を選択したいという場合は多いです。 今回はPythonスクリプトを書いてBlenderで領域選択す…

BlenderPythonでコードからBlenderのモードを切り替える

本日はBlenderモデリング枠です。 本日はBlenderのコードを使用して現在の3DViewのモードを切り替えていきます。 Blenderではキーボードのショートカットを使用して様々な操作を行います。 これらはBlender側でほとんどの機能が決められていますが、Blender…

Blenderでサーバーを立ててUnityと通信を行う

本日はBlenderとUnityで通信を行います。 Blenderはモデリングや動画編集だけでなくPythonを使用してスクリプトを実行することができます。 今回はBlenderでサーバーを立てUntiy側で通信を行っていきます。 〇環境 ・Windows 11PC ×2 ・Blender3.4 ・Unity …

BlenderでUVエディタウィンドウで選択しているメッシュを編集モードで選択する

本日はBlenderモデリング枠です。 タイトル通りUVエディタウィンドウで選択しているメッシュを編集できるように3Dウィンドウで選択します。 〇UVエディタウィンドウで選択しているメッシュを選択する。 通常UV展開を行った場合3Dウィンドウで選択しているメ…

Blenderでマテリアルプロパティからマテリアルを使用しているメッシュを表示してマテリアルごとに頂点ペイントを適応する

本日はBlenderモデリング枠です。 Blenderでは編集モードでメッシュを選択した際にそのメッシュが使用しているマテリアルがマテリアルプロパティに表示されます。 今回はSubstance Painterでテクスチャを作成するためにマテリアルごとにメッシュを選択し、頂…

Blenderで選択しているメッシュ以外を非表示にする

本日はBlenderモデリング枠です。 Blenderでモデリングをする際に特にハイポリゴンモデルになればなるほど、部分的にメッシュを調整しようとするとほかのメッシュが邪魔になることがあります。 例えば次のようにロボットのモデルの胸部の一部を調整したいと…

Blenderでトポロジーが同一のメッシュにUV情報をコピーする

本日はBlenederモデリング枠です。 Blenderではほかのオブジェクトに対してUVをコピーすることができます。 〇UV情報をほかのメッシュにコピーする UV情報をほかのメッシュにコピーできる条件はメッシュのトポロジーが同一の場合に限られます。 今回はプロシ…

SubstancePainterで頂点カラーをもとにIDをベイクして一枚のテクスチャで様々な質感を再現する

本日はSubstance Painter枠です。 SubstancePainterを触り始めて数か月がたちますが今回はペイントの基本をさらっていきます。 〇IDをベイクする Substance Painterではベイクを行うことで3Dモデルの形状情報を取得することで3Dペイントを行うことができま…

Blender Launcherでの最新Blenderバージョンのインストールと古いバージョンのアンインストール

本日はBlenderモデリング枠です。 今回はBlender Launcherで使用できるBlenderのバージョンの管理を行います。 先日Dynamic Pine Biomesアドオンを試しました。 redhologerbera.hatenablog.com このアドオンはBlender3.4以降のみに対応しており今回はBlender…

Dynamic Pine Biomesを試す。 その①導入

本日はBlenderモデリング枠です。 先日BlenderMarketより面白そうなアドオンがリリースされていることを以下のサイト様の記事で知りました。 modelinghappy.com 今回はこちらのアドオンを試してみたいと思います。 〇Dynamic Pine Biomesとは? Dynamic Pine…

Substance Painterで3Dモデルにデカールを貼る

本日はSubstance 3D勉強枠です。 Substance Painterでは2Dのペイントソフトのようにレイヤー機能を使用してペイントを行うことができます。 今回はこれをしようして3Dモデルにコーションマークやタンポ印刷などで見られるようなデカールをはっていきます。…

Substance Painterでローポリモデルにハイポリモデルのノーマルマップをベイクする

本日はSubstance Painter枠です。 Substance Painterではベイクを行うことでオブジェクトの情報を取得して3D空間内の情報としてオブジェクトをペイントすることができます。 今回はその中でも顕著に使用される機能のハイポリオブジェクトの情報をローポリモ…

Substance3D Samplerでフォトグラメトリを行う

本日はSubstance 3D Samplerを触っていきます。 先日から勉強を開始しているSubstance 3D PainterはAdobe Substance 3D Textureringのサブスクリプションとして提供されており、使用できるアプリケーションの中にSubstance 3D Samplerがあります。 〇Substan…

BlenderのIKを理解する その② 回転軸の制御と剛性

本日はBlenderモデリング枠です。 昨日に引き続きIKを触っていきます。 〇前回のおさらい IKはインバースキネマティックスと呼び、人の腕のボーン構造を例にとるとIKを使用することで手を特定の位置に配置し、それに連動して肘や脇が動くという私たち人間が…

BlenderのIKを理解する その① IKの基本設定

本日はBlenderモデリング枠です。 Blenderを学ぶ中で筆者が苦手としてきたIK(インバースキネマティックス)ですが今回思い切って学んでいきます。 〇IKとは? IKはアニメーションにかかわる機能です。 Blenderなどでリグ入れを行いオブジェクトのアニメーシ…

SubstancePainterでモデルを読み込めない際の問題解消

本日はSubstancePainter枠です。 最近勉強を始めたSubstancePainterですが、モデルの読み込みを行う際にエラーが発生し3Dシーンの読み込みに失敗することがあり今回問題の解消と原因を見てみました。 〇発生した問題 Failed to triangulate polygon (no ear…

Substance Painterの基本ワークフロー

本日はSubstance 3D Painterの勉強枠です。 先日Substance 3D Collectionを触り始めました。 今回は基本的なワークフローを理解できたため記事にまとめます。 〇事前準備 SubstancePainterを使用するためにはUV展開済みの3Dモデルが必要です。 今回は次のモ…

Substance PainterとMRGTのChannelMapを使用してUnityでビジュアルをリアルにする (サンプル配布)

本日はUnityでのMRGT応用枠です。 MRGTで提供されているコア機能のGraphicsTools StandardシェーダーとSubstance Painterの機能を応用していく手法を紹介します。 今回はモデリングツールとSubstancePainter、そしてUnityを使用していきますが、メインとして…