2023-03-01から1ヶ月間の記事一覧
本日はUnity枠です。 昨日Unityでリアルな揺れモノを実現するアセット、Magica Cloth 2を導入しました。 本日はHoloLens 2でサンプルシーンを実行していきます。 〇Magica Cloth 2とは? Magica Cloth 2は日本の作者がUnityAssetsStoreでリリースしている揺…
本日はUnity枠です。 先日筆者が好きなスマホゲームの開発秘話で揺れモノにMagicaClothというアセットを使用しているという話を聞いて興味を持っていたところMagicaCloth2という新しいバージョンがリリースされていました。 今回はこのMagicaCloth2を導入し…
本日はその他枠です。 NintendoSwitchのJoyConはGitHub上で公開されている有志のライブラリを使用することでUnityアプリケーションのコントローラーとしてHoloLensで使用できます。 しかしながらARMやARM64向けのdllが提供されていないためHoloLens2で動かす…
本日はShader枠です。 グラフィックパイプラインの中で3Dオブジェクトは頂点シェーダーステージで描画画面に対しての座標などが処理され、フラグメントシェーダーでピクセル色が決められています。 redhologerbera.hatenablog.com redhologerbera.hatenablo…
本日はUnityShader枠です。 先日までHex表現を行うシェーダーで出現エフェクトを作成しいていました。 今回はまとめ記事になります。 〇Hex.hlsl 今回の出現シェーダーの肝は参考として紹介させていただいているブログ記事様により公開されているShaderGraph…
本日はUnity枠です。 Unityではクラシックなレンダーパイプラインとは別にScriptableRenderPipeline(SRP)と呼ばれるグラフィックパイプラインをC#でカスタム可能なパッケージがあります。 このSRPの中でUnityが提供しているテンプレートが2種類あり、そのう…
本日はShader枠です。 透明度を扱うシェーダーではそのシェーダーによって描画されたピクセルをすでに描画されているピクセルとどのように合成するか?というBlendingという設定があります。 この設定を行うことで半透明な表現を行うことができますが、これ…
本日はShader枠です。 先日よりHex表現を使用した出現シェーダーを開発しています。 先日はSpatialMesh用に調整を行いました。 今回はこのシェーダーを実機で確認していきます。 〇SpatialMeshのマテリアルの設定 今回はMRTKv2.8を使用しています。またMRTK…
本日はShader枠です。 〇SptaialMeshように調整する HoloLensのSpatialMeshはUVを持たないという性質があります。 そのため最初に行うことはオブジェクトのUV座標を使用した処理をUnityのワールド座標に置き換えます。 CGPROGRAM ・・・ struct v2f { //UVを…
本日は昨日に引き続きShader枠です。 昨日はUnityのワールド座標基準で出現エフェクトを行うシェーダーを作成しました。 今回はさらに発展させ、あるオブジェクトを中心に3次元的にエフェクトが行われる表現を行います。 〇Unity上の別のオブジェクトの位置…
本日はShader枠です。 先日に引き続きHex表現を使用したエフェクトを作成します。 redhologerbera.hatenablog.com 昨日の状態まではオブジェクトの持つUV座標に依存してHex表現を行っていました。 これによってオブジェクトの持つUV情報によっては表現が破断…
本日は昨日に引き続きシェーダー枠です。 先日はHex表現を使用した出現シェーダーとして透明度を持たせて出現する仕組みを作成しました。 redhologerbera.hatenablog.com 今回はさらに発光エフェクトを追加してエフェクトとしてディティールアップしていきま…
本日は昨日に引き続きShader枠です。 redhologerbera.hatenablog.com 昨日は六角形の形で画像が現れるようなシェーダーを記述しました。 今回はこれをベースに本格的な出現エフェクトを作成します。 〇エフェクトの反転 透明度を実装する前に先日のシェーダ…
本日はUnityシェーダー枠です。 昨日他ブログにて紹介されていたHexagonNodeを使用してHex=ハニカム上にテクスチャをサンプリングするシェーダーを作りました。 redhologerbera.hatenablog.com 今回はこちらのシェーダーを応用して出現エフェクトを作成して…
本日はShader学習枠です。 〇Hexノード 今回は八角形の形状がタイリングされた見た目をシェーダーに組み込んでいきます。 今回シェーダーを使った面白い表現を探していた時に次の記事を見つけました。 r-ngtm.hatenablog.com 上記の記事ではShaderGraphを使…
本日はシェーダー枠です。 今回はテクスチャを応用して複数のテクスチャを混ぜ合わせて表示できるシェーダーを記述していきます。 〇シェーダーでテクスチャを扱う方法 シェーダーでテクスチャを扱うシェーダーは次のようになります。 Shader "Unlit/Texture…
本日はSubstance Painter枠です。 SubstancePainterを触り始めて数か月がたちますが今回はペイントの基本をさらっていきます。 〇IDをベイクする Substance Painterではベイクを行うことで3Dモデルの形状情報を取得することで3Dペイントを行うことができま…
本日はUnity枠です。 昨日エディタ拡張を使用して現在開かれているシーンのすべてのMeshRendererから一斉にCastShadowをオンオフすることができる機能を作りました。 redhologerbera.hatenablog.com これは特にHoloLensなどのような影の描画を必要としないデ…
本日はUnity枠です。 Unityではメッシュを描画する際は一般的にMeshRendererコンポーネントを使用しています。(アニメーションを行うメッシュなどはSkkinedMeshRendererなどが使用される場合もあります。) MeshRenererでは描画の設定として影を設定するこ…
本日はMRGT枠です。 Microsoft MixedRealityGraphicsToolsで提供されているGraphicsToolsStandardシェーダーはMixedRealtiyデバイス向け、特にMicrosoft HoloLensに最適なパフォーマンスを出すことを目的として開発されています。 Unityの描画処理の中で特に…
本日はUnity枠です。 今回はUnityのEditor拡張機能を使用して作成可能なEditorWindowに表示されるUIでUnityのインスペクターウィンドウなどと同様にマテリアルを表示させていきます。 〇EditorWindowの作成 EditorWindowを表示させる最小コードは次のよう…
本日はShader&AI枠です。 23年に入りChatGPTの普及が爆発的になっていますが、先日Unityのエディタ内でChatGPTを使用してシェーダーを作成するテストリポジトリが公開されました。 今回はこちらを試していきます。 〇ChatGPTとは? ChatGPTはDALL・E2やStab…
本日は昨日に引き続きUnity枠です。 昨日はプロジェクトウィンドウを拡張してGraphicsToolsStandardシェーダー適応済みのマテリアルを直接生成する実装を行いました。 redhologerbera.hatenablog.com 昨日の段階では追加したコマンドは一番下に表示されUI的…
本日はMRGT調査枠です。 筆者は基本的にGraphicsToolsStandardShaderのマテリアルを愛用しています。 しかしUnityではマテリアルを作成する際にBuiltInパイプラインではStandard、URPではURP/Litシェーダーのマテリアルがデフォルトで作成されます。 毎回マ…
本日はUnity枠です。 〇ProjectWindowを右クリックした際のコマンド マテリアルやC#などUnityでUnityから提供されている新しいアセットを作成する場合はProjectウィンドウを右クリックしてコマンドから生成することが一般的です。 一部のパッケージでは独自…
本日はMRGT枠です。 MRGTではEnableStencileTestingという項目で一つのシェーダーでマテリアルごとにステンシルプロパティを変えることができます。 この機能を自作シェーダーに組み込んでみます。 〇MRGTの実装 GraphicsToolsStandardShaderの実装は次のよ…
本日はBabylon.jsを触っていきます。 昨日hellocubeでキューブを出しました。 今回は任意の3Dモデルを読み込みます。 〇Babylon.jsでGlbを読み込む 今回はglb形式の3Dモデルを使用していきます。 Publicフォルダ内にModelというサブフォルダを作成しました…
本日はBabylon.js枠です。 Babylon.js自体は登場時から注目はしており、日本でのコミュニティ活動の中心的人物であるイワケンさんのGitHubをまねてみていたりなどもしていたのですが、ハローキューブを行ってはいませんでした。 今回お仕事用の社内ツールと…
本日は昨日に引き続きシェーダーを紹介します。 〇Unityで特定のオブジェクトだけ明るく見えるシェーダーを作成する redhologerbera.hatenablog.com 昨日は特定のオブジェクトが明るく強調表現されるような表現を紹介しました。 この方法ではステンシルとい…
本日はMRGT&Shader枠です。 今回はMRGTを使用した特殊なエフェクト表現を紹介します。 例えば特定のオブジェクトに注目させたい場合などに全体的に描画を暗くしながらも特定のオブジェクトのみ通常の明るさで描画していきます。 〇環境 ・Unity2021.3.5f1 …