2021-09-01から1ヶ月間の記事一覧
本日は MRTK の小ネタ枠です。 MRTKのObjectManipulatorで指定の平面上でオブジェクトを移動する方法を記事にします。 ObjectManipulator 片手または両手を使ったオブジェクトの移動、スケール変更、回転を実現するコンポーネントです。 設定を変更すること…
本日は Blender の技術調査枠です。 Blender2.9で利用可能なpythonスクリプトを作ります。 メッシュの三角面数を取得する python スクリプトからメッシュオブジェクトの三角面数を取得してみます。 Mesh データの calc_loop_triangles() 関数を呼び出すと、…
本日は Blender の技術調査枠です。 Blender2.9で利用可能なpythonスクリプトを作ります。 メッシュのポリゴン数を取得する python スクリプトからメッシュオブジェクトのポリゴン数を取得してみます。 Mesh データの polygons からメッシュのコレクションが…
本日は HoloLens の小ネタ枠です。 HoloLensでユニティちゃんトゥーンシェーダーを使って輪郭線(アウトライン)の表現を試してみます。 MRTKのMeshOutlineによるアウトラインの表現 以下の記事で MRTK の MeshOutline を使ったアウトライン表現を試してみま…
本日は C# の小ネタ枠です。 関数の戻り値に IEnumerable を使って List 型のプライベート変数を保護する方法を記事にします。 IEnumerableインタフェース 単純な反復処理をサポートする列挙子を公開するインタフェースの定義です。 List 型や Dictionary 型…
本日は HoloLens の小ネタ枠です。 HoloLens でユニティちゃんトゥーンシェーダーを利用してトゥーンシェーダの動作を試してみます。 ユニティちゃんトゥーンシェーダー セル風3DCGアニメーションの制作現場での要望に応えるような形で設計された映像志向の…
本日は MRTK の小ネタ枠です。 MRTK の MeshOutline を使って輪郭線の表現を利用してみます。 MeshOutline MRTK で提供されている輪郭線を表示するためのスクリプトです。 Post-processing を利用しないため、描画コストを抑えることができます。 docs.micro…
本日は Cascadeur の調査枠です。 アニメーションソフトウェアの Cascadeur で作成した人型モデルのモーションを Unity や Blender に取り込んでみます。 前回記事 以下の記事の続きになります。 bluebirdofoz.hatenablog.com 作成データのエクスポート Casc…
本日は Cascadeur の調査枠です。 自然なモーションを作成するアニメーションソフトウェアの Cascadeur で人型モデルのモーションを作成してみます。 シーンの新規作成 アプリを起動した際に表示されるダイアログから[New Scene]を選択することでシーンが作…
本日は環境構築枠です。 様々なキャラクターのモーションを作成するアニメーションソフトウェアの Cascadeur インストール手順を記事にします。 Cascadeur Cascadeur は人型またはそれ以外のキーフレームアニメーションを作成するためのアニメーションソフト…
本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回はアニメーションコントローラの複数のStateをSubStateMachineに纏めるメモです。 SubStateMachine SubStateMachine はアニメーションコントローラにおけるいくつ…
本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回は「ピース」と言ったりチョキの手を見せるとホロモンがピースサインをするメモです。 音声認識の追加 最初に「ピース」という音声認識を行えるように設定を変更し…
本日は LINQ の技術調査枠です。 LINQのクエリ演算子の即時実行と遅延実行の動作を確認して記事にします。 LINQのクエリ演算子の即時実行と遅延実行 LINQのクエリ演算子には以下の2つの実行形態があります。 実行形態はクエリ演算子ごとに定められています。…
本日は MRTK の小ネタ枠です。 MRTKのBillboardを使ってオブジェクトを常にユーザ側を向くようにする方法を記事にします。 Billboard Billboard を設定したオブジェクトは、常にユーザの方向を向きます。 これにより、ユーザが移動してもテキストやメニュー…
本日は Unity の技術調査枠です。 Unityのジンバルロックの動きを理解して制御してみたので記事にしてみます。 ジンバルロック 複数の軸の回転を組み合わせたとき、1つの回転軸の自由度が失われてしまう事象のことです。Unity のトランスフォームの回転では …
本日は Unity の小ネタ枠です。 ContextMenuまたはContextMenuItemを使ってUnityエディターの Inspector 上で関数呼び出しを行う方法を記事にします。 ContextMenuとContextMenuItemAttribute ContextMenu はコンテキストメニューにコマンドを追加することが…
本日は Unity の小ネタ枠です。 Unityで共通のマテリアルを持つオブジェクトのマテリアル設定を一括で変更する方法を記事にします。 sharedMaterial Renderer.sharedMaterial を変更すると、このマテリアルを使用するすべてのオブジェクトの外観が変更されま…
本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回はコライダーの上半分だけで撫でる判定を行うメモです。 トランスフォームの特定ベクトルと角度 今回はトランスフォームの上方向を示す Vector3.up と Vector3.Ang…
本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回は眠っているときに他の行動を要求しても寝続けるようにするメモです。 ホロモンの眠り行動 ホロモンの眠り行動を実装した記事は以下になります。 bluebirdofoz.ha…
本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回は台座の上から物が無くなると台座が自動的に消失する実装を行いました。 Physics.RaycastNonAlloc 指定の方向にレイキャストを飛ばして衝突したオブジェクトの情…
本日は Unity の小ネタ枠です。 オブジェクトの座標を指定の面に投影する方法を記事にします。 2022/1/31追記 本記事の方法では平面の位置を移動した場合、正確に座標を投影できない問題がありました。 以下の記事で平面を動かした場合でも追従可能な方法を…
本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回は食べ物を近づけられたり頷きを見たりするとホロモンが待てを止める実装を行いました。 これまでの動作 これまではホロモンが食べ物を前にして、待て状態になった…
本日は Unity の小ネタ枠です。 Unityで3Dオブジェクトのポリゴンの裏表の両面を描画する方法を記事にします。 ポリゴンの裏側が描画されない 以下は Unity のデフォルトの Standard シェーダを設定した Plane オブジェクトです。 デフォルトのシェーダでは…
本日は MRTK の小ネタ枠です。 MRTKのStandardシェーダを利用して特定のオブジェクトを常に最前面に描画する方法を記事にします。 サンプルプロジェクトの作成 最前面の描画を試すための、MRTK を取り込んだサンプルプロジェクトを作成します。 MRTKのインポ…
本日は Unity の技術調査枠です。 UnityのIK(インバースキネマティクス)を使ってアバターの手足を動かしてみます。 前提条件 本記事は前回記事の調査の続きです。 bluebirdofoz.hatenablog.com ゴールポジションのみ設定した場合の動作 前回作成したプロジェ…
本日は Unity の技術調査枠です。 UnityのIK(インバースキネマティクス)を使ってアバターの手足を動かしてみます。 IK(インバースキネマティクス) ジョイントのポージングを行う際、空間の目標座標から逆算してジョイントの向きを決定する機能です。 本機能…
本日は3Dモデルの情報枠です。 よく見るロボット型アバターの「X-Bot」「Y-Bot」の3Dモデルを手に入れる方法を記事にします。 よく見るロボット型アバター 以下の「X-Bot」「Y-Bot」のことです。 赤い方が「X-Bot」、青い方が「Y-Bot」です。 Mixamo 「X-Bot…
本日は HoloLens2 の小ネタ枠です。 HoloLens2 から PC に Miracast(ミラキャスト) 機能を使って映像をリアルタイムに投影する手順を記事にします。 PC側の準備 映像を投影するPC側でプロジェクションの機能が有効化されている必要があります。 2020年の Win…
本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回はホロモンの頭を撫でるとホロモンが反応するメモです。 頭に触られたことを判定する 頭に触られたことを判定する方法には、今回は視界システムと同じロジックを用…
本日はアプリ作成枠です。 HoloLens2でホロモンアプリを作る進捗を書き留めていきます。 今回は Dictionary 型で保持する視認オブジェクトのキーに InstanceID を利用するメモです。 Object.GetInstanceID オブジェクトの InstanceID を返します オブジェク…