夜風のMixedReality

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

3Dモデリング

ゼロから始めるUnityShader開発 第九章 シアリング行列

本日はCGを理解するにあたって重要な概念である行列についての勉強です。 コンピュータ内では多くのデータをテンソルであらわします。 テンソルとは、多次元配列を意味し、例えば画像データを見てみると、RGBAの四次元であらわされる色チャンネルの集まり(…

Blender Pythonで指定したオブジェクトを指定した座標に配置する

本日はBlender Python枠です。 本日はオブジェクト生成系のアドオンなどでよくみられるあるオブジェクトをある座標に配置(生成)することをPythonを使用して行っていきます。 〇オブジェクトを生成する UnityのC#などではInstanciate()などを使用して生成し…

USDZの規格について調べる

本日は3DCGのフォーマットについての記事になります。 3Dモデルのファイル拡張子のフォーマットには様々なものがありますが、多種ソフトウェア間で標準的に互換を持ってインポート、エクスポートができるものとしては,fbxや,obj、.glbなどがあります、 今回…

Unityでリアルな宝石をつくる

本日は木曜日のため熊本のコミュニティKumaMCNの毎週木曜ハッカソンです。 今回はリアルな宝石をテーマにBlenderやSubstance Painterなどを使用していろいろ作ってみます。 〇Blenderで基本形状のモデリングを行う 今回はテーマだけ決めてのチャレンジのため…

Blenderでテクスチャをモデルファイルに埋め込んでエクスポートする

本日はBlender枠です。 今回はBlenderでモデルをエクスポートする際にテクスチャを埋め込んでエクスポートしていきます。 通常BlenderからエクスポートしたモデルをUnityなどで使用する場合は別途テクスチャをインポートして、マテリアルに紐づけモデルに適…

3DCGがどのように描画されるのか? 3DCGの種類とデータの扱い

本日はモデリング枠です。 筆者自身の基礎理解もかねて今回は3DCGの根本部について触れていきます。 〇3DCGの種類 3DCGはコンピュータによって再現される3次元データによって構成されるオブジェクトを指します。 様々な種類がありますが代表的なものとし…

Nasaの公開データから太陽の位置を使用してBlenderで宇宙を創る

本日は昨日に引き続きBlender枠です。 昨日はNASAのHorizon Systemを使用して地球を中心とした月の極座標データを取得してBlenderで再現しました。 redhologerbera.hatenablog.com 地球から見た月の正確な位置のため例えば、月の満ち欠けなどが再現できるは…

Nasaの公開データから月と地球の位置関係をBlenderで再現する

本日はBlender枠です。 先日Nasaの公開データであるHorizon Systemを利用してデータの取得を行いました。 〇Horizon Systemとは? NasaのHorizon Systemはその名の通りアメリカNasaのデータサイトです。 日付を指定して地球から月の正確な位置座標のデータを…

Mayaでリトポロジーを行う

本日はMaya枠です。 本日はMayaの標準機能を使用してリトポロジーを行います。 〇環境 ・Windows11PC ・Maya2024 〇リトポロジーとは? リトポロジー(リトポ)はトポロジーを整える作業を指します。 トポロジーとはジオメトリの中でのメッシュの並び方を指…

Blenderでアニメーションキーフレームを登録する際にキーフレーム挿入に失敗というエラーの解消

本日はBlenderトラブルシューティング枠です。 〇環境 ・Blender 4.0 ・Windows11PC 〇発生したエラー Blenderでアニメーションをつける際に最も基本的なアプローチはキーフレームの登録です。 ポーズモードでポーズをつけIキーを押すことで現在のフレームに…

NASAの公開データから惑星の位置関係を計算する

本日は3Dモデリングのための調査枠です。 近年インターネット上で様々なデータを入手することができます。 その中でも特に価値のある公共データをオープンデータと呼ぶことがあり、シュミュレーションやAIの学習データとしても用いられています。 今回はNASA…

機械がどのように絵を描くのか? ハードウェアの仕組みとグラフィックスパイプライン

本日は3DCGの描画に関しての記事です。 筆者はグラフィックに対して強い興味があり学び実務経験もありますが、改めて基礎となる部分について自分の言葉でまとめていきます。 〇機械が絵を描く仕組み パソコンやテレビ、日常生活にあふれているデジタルディス…

fspyとBlenderで実写写真から平面を解析してカメラ位置を割り出す

本日はBlender枠です。 Blenderで合成写真を作りたい場合写真から撮影されたカメラの位置を取得する必要があります。 今回はfspyというソフトを使用して実写写真から平面を検知してBlenderでオブジェクトと重ねていきます。 〇fspyの導入 fSpyは静止画像から…

BlenderPythonで面の面積を求める

本日はBlenderPython枠です。 昨日はBlenderPythonを使用して、頂点3つから構成されるメッシュの面の方程式を求めました。 本日はここで求める面の面積を算出します。 2次元でのおさらいですが、3つの座標で構成される図形の面積を求めるには 三次元空間…

BlenderPythonで面の方程式を取得する

本日はBlenderPython枠です。 先日はBlenderで辺の方程式を求めました。 今回は頂点3つから構成される面について方程式を取得します。 〇面の方程式 面の方程式を得るためにまずはベクトル計算を行います。 今回は仮に三つの頂点を(x1,y1,z1)(x2,y2,z2)(x3,…

Blenderで選択した頂点をある平面座標上に並び替える

本日はBlender枠です。 Blenderでモデリングをしていると、次の画像のように頂点の位置にばらつきがあり面としてぼこぼこして見えることがあります。 こういった場合はSキー+Zキー+0を選択し、Z軸に対してスケールを0して歪みをなくしています。 しかし次の…

Blenderのアニメーションツールについて触る。

本日はBlender枠です。 Blenderのアニメーションを設定する方法としてタイムラインにキーフレームを打ち込む手法がデフォルトで用いられます。 しかしアニメーションように使用できるのはタイムラインだけではなくドープシート、グラフエディタ、ドライバー…

バレンタインチョコレートをモデリングする

本日はEvent枠+モデリング枠です。 本日から筆者の所属しているコミュニティのKumaMCN(熊本を拠点としたITコミュニティ)イベントで毎週ハッカソンが行われました。 今回は第一回のため趣旨と筆者が作ったものを紹介します。 〇毎週ハッカソンとは? 毎週…

Blenderでレンダリング時にメッシュの表と裏で違う色を出す その②

本日はBlender枠です。 昨日はBlenderでメッシュの裏面と表面をレンダリング時に別の色を返すようなシェーダーを作成しました。 redhologerbera.hatenablog.com 今回は前回の改修と応用を行っていきます。 前提として今回は次のようなモデルを使用します。 …

Blenderでレンダリング時にメッシュの表と裏で違う色を出す

本日はBlender枠です。 Blenderではメッシュのオーバーレイの機能からメッシュの表と裏を可視化することができます。 しかしこの状態で作業を行うには難があります。 一般的にメッシュをエクスポートする前やスムースがおかしい際にチェックの意味で表示させ…

MayaとBlenderそれぞれでオブジェクトにテクスチャを張る

本日は3Dモデリング枠です。 MayaとBlenderで比較していきます。 今回はマテリアルの設定の続編でテクスチャを設定していきます。 〇テクスチャとは テクスチャとは一般的には3DCGで使用するための素材として読み込んだ画像形式のファイルを指します。 3DCG…

Blenderで水のシミュレーション Aqua Flow Proを触る その①

本日はBlender枠です。 本日はこちらの記事で紹介されていたAqua Flow Proを触っていきます。 modelinghappy.com 〇Aqua Flow Proとは? blendermarket.com Aqua Flow ProはBlenderの最新の機能を使用した流体シミュレーションのアドオンです。 Blenderのバ…

BlenderPythonで行列を使用して頂点座標を計算してオブジェクトを回転させる

本日はBlender Python枠です。 今回はグラフィックの勉強の一環として行列を使用してオブジェクトを回転させます。 〇3DCGの頂点と行列 3DCGは3D空間(XYZ座標)に配置された頂点とそれを結ぶ辺によって構成されるメッシュ(面)で構成されています。 頂点はX…

Mayaを起動した際にUIが正常に起動せず、クラッシュする問題

本日はMayaのトラブルシューティング枠です。 筆者のうっかりした設定でMayaが起動できなくなったため備忘録のために記録します。 〇発生したトラブル Maya起動時にコンポーネントが読み込めないエラー表示とともにUIが一切表示されないトラブルが発生しまし…

LumaAIを用いてTextTo3Dを試す。

本日はAI枠です。 LumaAIはスマートフォンでNeRFと呼ばれる技術を用いることで手軽に従来以上の3Dスキャンを行うことができるアプリおよびサービスです。 redhologerbera.hatenablog.com redhologerbera.hatenablog.com LumaAIは最近になってText to 3Dのサ…

BlenderでPythonを使用してマテリアルスロットごとにペイントマスクを設定する

本日はBlenderPython枠です。 今回は頂点ペイントモードでのユーティリティを改善するためのちょっとしたツールを作ります。(prototype) 〇ペイントマスク 頂点ペイントモードでは頂点カラーを設定することができますが、Blender3.xではctrlキー+Kキー、Bl…

BlenderでPythonを使用して頂点カラーを設定する

本日はBlenderPython枠です。 今回はPythonで頂点カラーを設定していきます。 〇頂点カラーとは? 3Dモデルは頂点とそれをつなぐ辺によって構成される面(メッシュ)で構成されています。 基本的に座標や法線、UVなどの各情報は頂点が持っています。 頂点カ…

MayaでIKを設定する

本日はMayaモデリング枠です。 先日はHumanIkを使用したIKの設定を行いました。 redhologerbera.hatenablog.com これは人型モデルにおいて瞬時にIKの設定を行うことができる強力なツールです。 しかしHumanIKと名があるように人型のアーマーチュアを対象とし…

MayaとBlenderでメッシュの向き(ノーマル)を確認する方法の比較

本日はモデリング枠です。 モデリングを行い、UnityやUE、その他のソフトウェアでモデルを見ようとするときによくみられるトラブルとして、モデリングソフトでは存在する、メッシュの一部が欠けている(かけて見える)トラブルです。 例えば次の例ではBlende…

MayaでHumanIKを使用する

本日はMaya枠です。 以前よりBlenderではIKを用いたアニメーションなど実装をしていたのですがMayaでは試せていなかったため今回はMayaでのIKについてまとめていきます。 redhologerbera.hatenablog.com redhologerbera.hatenablog.com redhologerbera.haten…