並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 23 件 / 23件

新着順 人気順

凹みTipsの検索結果1 - 23 件 / 23件

タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。

凹みTipsに関するエントリは23件あります。 Unitytips3D などが関連タグです。 人気エントリには 『結婚式のプロフィールムービーを Unity で作ってみた - 凹みTips』などがあります。
  • 結婚式のプロフィールムービーを Unity で作ってみた - 凹みTips

    はじめに 私事で恐縮ですが、先日、コロナ禍で 2 年半ほど延期していた結婚式をしました。そこでのプロフィールムービー制作を Unity でやってみましたので、本記事ではそのお話をしようと思います。 過去に友人の結婚式のムービー制作を任された時は After Effects か Premiere で作っていたのですが、それぞれ本 1 冊読んだ程度なので、自分の能力的にはスライドショー的に画像や文字を配置する程度が限界でした。自分たちのものはスプラトゥーン風のムービーにしたいなぁと思い、もう少し色々やれるかも & 勉強にもなるかもと思って Unity でやってみることにした次第です。プライバシーの関係でムービーの共有はできないのですが...、部分部分を簡単にご紹介したいと思います。 概要 基本方針は次のような感じです。 全体は Timeline を使って作成 出力は Unity Recorde

      結婚式のプロフィールムービーを Unity で作ってみた - 凹みTips
    • Unity でリアルタイムにリップシンクを行うプラグインを作り直してみた - 凹みTips

      はじめに Unity でリップシンクを行う手段としては、事前にデータを作るものからリアルタイムに解析するものまで色々あります。本ブログでも以前、自分で作ったり Oculus 製のものを解説したりしました。 tips.hecomi.com tips.hecomi.com 前者の記事で自分が 7 年程前に作ったものは様々な依存(外部ライブラリやツールなど)が多く扱いづらいものでした。そこで今回これらの依存を廃してリップシンク単機能に絞り、またもう少しナウい実装にして uLipSync という名前で作り直してみました。 Job と Burst コンパイラを利用して処理を裏に回しつつ高速化 Unity のパッケージ以外の依存を排除 本エントリでは使い方をちょっとした解説を交えて紹介したいと思います。 追記(2021/02/27) 新しいバージョンの説明を書きました。 tips.hecomi.com

        Unity でリアルタイムにリップシンクを行うプラグインを作り直してみた - 凹みTips
      • 5 年前のおうちハックと今を比較してみた - 凹みTips

        はじめに おうちハック関連の久しぶりの記事です。以前は自前で声や時計、スマホで操作できる家のシステムを作っていたのですが、スマートスピーカの登場以後そのシステムが置き換わっていき、今は完全に Google Home プラットフォーム上に乗っかる形で生活しています。その変遷や考えていること、今行っていることをまとめたくなり、今回記事を書いてみました。 当時の活動 2012 ~ 2015 年辺りまで未来のお部屋というタグでガジェットやサービスを連携させて生活を便利にしよう活動の記事を書いていました。おそらく当時の感じを一番説明できている記事はこちらです: tips.hecomi.com 2014 年当時のシステムとしては、音声認識と音声合成で返答する仕組みを作り、そこに WiFi 経由のガジェット操作、ZigBee 経由のリモコン、iRemocon を使った赤外線による家電操作、IFTTT を

          5 年前のおうちハックと今を比較してみた - 凹みTips
        • Unity の Universal Render Pipeline のレンダリング周りについて勉強してみた - 凹みTips

          はじめに 以前、Lightweight Render Pipeline(LWRP)と呼ばれていたパイプラインが 2019.3(SRP 7.0.0)から、Universal Render Pipeline(UniversalRP / URP)と改名されました。 blogs.unity3d.com 私は LWRP 含む SRP をあまり調べていなかったのですが、配布しているライブラリの LWRP 対応要望もちらほら聞こえてきましたので、詳しく調べてみることにしました。が、いきなり体系的にまとめるのは自分も分かっていない点が多くかなり大変...なので、プロジェクトを作成し、以前のビルトインのパイプラインから変わったところ等を適当な順番で色々見ていくことにしました。本記事ではレンダリング回り(パイプラインやシェーダの変更点)について調べます(シェーダグラフは本記事では触れません)。URP そのもの

            Unity の Universal Render Pipeline のレンダリング周りについて勉強してみた - 凹みTips
          • Unity でリアルタイムにリップシンクを行うプラグインを更に作り直してみた - 凹みTips

            はじめに 前回、リップシンクするプラグインを作り直してみた記事を書きました。 tips.hecomi.com 色々とご反響を頂いたのですが、しかしながら母音推定の性能がいまいちでした。第 1 、第 2 フォルマントという周波数スペクトルの 1 つ目、2 つ目のピークを検出する方法を採用していたのですが、このピークの検出が周波数スペクトル包絡を得るために使っている LPC 解析のパラメタに大きく依存したり、またノイズや声の高さによって容易にピークが別の場所に移ってしまったりといったことが原因でした。 そこで手法を変え、MFCC(メル周波数ケプストラム係数)を求める方式へと変更しました。 speechresearch.fiw-web.net これはディープラーニング以前の音声認識に使われていたもののようで、母音だけでなく子音も含む音素の検出が可能な特徴量になります。以前の手法と異なりピッチ変化

              Unity でリアルタイムにリップシンクを行うプラグインを更に作り直してみた - 凹みTips
            • Unity の WebGL ビルドでマイク入力を扱えるライブラリを作ってみた - 凹みTips

              はじめに Unity には Microphone というクラスがあり、これを通じてマイクの情報や入力を取得できます。しかしながら Microphone は WebGL では利用することが出来ません。 docs.unity3d.com Unity では FMOD をオーディオ周りとして利用しているようで、基本的にスレッド上で動くためスレッドが(部分的にしか)利用できない WebGL とは相性がよくなく、結果的に Web Audio API をベースに自前で実装する、という選択をしたようです。その上で多くのオーディオ系 API は再実装されたものの、幾つか Web Audio API との相性が良くないものは利用不可、となっているようです。そして Microphone はごっそり「不対応」となったようですね。 私は uLipSync というリップシンクのためのライブラリを作っていまして、この中

                Unity の WebGL ビルドでマイク入力を扱えるライブラリを作ってみた - 凹みTips
              • Unity で DICOM 画像をレンダリングしてみる - 凹みTips

                はじめに 先日、Twitter で手持ちの DICOM 画像を以前書いたボリュームレンダリングの記事のように描画したい、というご相談をいただき試してみましたので内容を共有します。 tips.hecomi.com DICOM(ダイコム)とは「Digital Imaging and COmmunications in Medicine」の略で、CT や MRI などのデータを保存する画像や通信プロトコルといった医用の標準規格です。今回の場合は、MRI のスライス画像が DICOM という形式のもと保存されているといった状況で、それをどうレンダリングすればよいのか、というお話でした。 ja.wikipedia.org デモ ダウンロード github.com 情報収集 Unity で DICOM を扱うことに関してはインターネット上にいくつか情報がありました。 Unite Tokyo 2018

                  Unity で DICOM 画像をレンダリングしてみる - 凹みTips
                • C++ から Windows Graphics Capture API を利用する方法について調べてみた - 凹みTips

                  はじめに i_saint さんの記事で Windows 10 April 2018 Update (1803) より Windows Graphics Capture という API が追加されたのを最近知りました。 qiita.com docs.microsoft.com ざっくり言えば HWND や HMONITOR から直接 ID3D11Texture2D を引っ張ってこれるものになっています。 私は Unity 向けに uWindowCapture という各ウィンドウを管理・キャプチャして Unity 上で簡単に使えるようにするアセットを作成しているのですが、ここでは BitBlt や PrintWindow といった Win32 API を使っており、一度キャプチャした結果を CPU 側で扱って GPU 側へアップロードする関係上、パフォーマンスがなかなかに厳しいものになっていま

                    C++ から Windows Graphics Capture API を利用する方法について調べてみた - 凹みTips
                  • Unity の ShaderGraph の仕組みについて調べてみた - 凹みTips

                    はじめに 本記事は Unity Advent Calendar 5 日目の記事です。 以前の記事で UniversalRP(URP) の調査を行いました。 tips.hecomi.com 今回は、その続きとして URP / HDRP の目玉機能の一つである ShaderGraph について調べてみます。私もノードグラフではないですがテンプレートと正規表現ベースの簡単なシェーダジェネレータを作成したことがあるので、参考にしたいなと考えているのと単純に興味があったのでコード読みをしてみました。 tips.hecomi.com この記事では URP やシェーダグラフの使い方という実践的な内容ではなく、ノードの拡張の前準備として、ちょっとマニアックですが生成されたシェーダやそのシェーダコード生成の仕組みの方を探ります。前回の記事の内容を読んでおいていただけると幾分読みやすいと思いますが、そもそもこ

                      Unity の ShaderGraph の仕組みについて調べてみた - 凹みTips
                    • Unity で距離関数の記述だけでレイマーチングができる uRaymarching の UniversalRP 対応してみた - 凹みTips

                      はじめに uRaymarching は Unity 上で簡単にレイマーチングするオブジェクトを生成することの出来るアセットです。詳細については以前の記事をご参照ください。 tips.hecomi.com tips.hecomi.com これまではレガシーなパイプライン(Forward / Deferred)の対応みでしたが、Scriptable Render Pipeline の登場以後 UniversalRP や HDRP の要望をチラホラ頂いていたので、まずは手始めに UniversalRP 対応を行ってみました。本エントリでは今回のアップデートで追加された UniversalRP テンプレートの紹介と、実装で行ったことや解決した問題などのノウハウについて共有したいと思います。 デモ 12 ポリゴンのキューブで描画されています。UniversalRP 下で従来と同じように Lit /

                        Unity で距離関数の記述だけでレイマーチングができる uRaymarching の UniversalRP 対応してみた - 凹みTips
                      • Unity でボリュームレンダリングをしてみる - vol.4 プロシージャル - 凹みTips

                        はじめに 本記事はボリュームレンダリングシリーズで以下の記事の続きです(2年ぶり)。 tips.hecomi.com 前回までは魚の 3D テクスチャを使いましたが、今回はノイズ関数を使って雲のようなものを作ってみたいと思います。前回同様キューブポリゴン内に生成する形を取り、ノイズ関数によるプロシージャルな密度関数をトレースするところを解説します。 参考 雲の生成は以下の Shadertoy の方法を参考に実装します。 www.shadertoy.com 手法ついては edo_m18さんが解説記事を書かれており、補足コメント付きの Shadertoy でのサンプルも公開されています。 qiita.com www.shadertoy.com これらは以下の Shader Bits さんの記事を参考に作られています。 shaderbits.com この記事に関しても edo_m18さんが日本語

                          Unity でボリュームレンダリングをしてみる - vol.4 プロシージャル - 凹みTips
                        • Unity 向けに HLSL Tools for Visual Studio を便利にするアセットを作ってみた - 凹みTips

                          はじめに 本記事は Unity Advent Calendar 2020 の 20 日目の記事です。 qiita.com Windows 上の Unity でシェーダを書く(読む)際は Visual Studio を使うことが多いかもしれません(VSCode の人も多いと思いますが...)。しかしながらそのままでは補完も効かずシンタックスハイライトもほとんどありません。 これを良い感じにくれるのが、HLSL Tools for Visual Studio です。 marketplace.visualstudio.com まず、この拡張機能をインストールします。 すると変数を認識してくれて補完もいくつか効くようになります。 ただ、Unity 本体がインストールされているディレクトリからインクルードしている UnityCG.cginc から来ているメンバは解決できません。また、URP / HD

                            Unity 向けに HLSL Tools for Visual Studio を便利にするアセットを作ってみた - 凹みTips
                          • Unity の WebGL で動的にサウンドを生成・再生する方法を調べてみた - 凹みTips

                            はじめに 通常、Unity で動的にサウンドを生成したいときは、AudioClip の Create で PCMReaderCallback を渡すか、MonoBehaviour の OnAudioFilterRead 中でバッファをセットすることで可能です。 docs.unity3d.com docs.unity3d.com かなり古い記事ですが、以前解説も書きました(一部有料機能と述べているところは現状はすべて無料です) tips.hecomi.com AudioClip に SetData して再生することも出来ますが、初期化時ではなく毎フレームデータを与えたい場合はこれは利用できません。正確にはセットして再生はできるのですが、サウンドの読み取り・再生自体はサウンドのスレッドで行われているため、Update などのメインスレッドから与えるとうまく再生されない(途切れたりする)からです

                              Unity の WebGL で動的にサウンドを生成・再生する方法を調べてみた - 凹みTips
                            • SDF テクスチャを uRaymarching で描画してみる - 凹みTips

                              はじめに uRaymarching 関連の話題になります、Twitter で SDFr と uRaymarching を試されている方から質問をもらいまして、調査をはじめました。前回の記事はこちら: tips.hecomi.com これまでは物体表面までの距離を距離関数で記述してレイマーチングする手法を紹介してきましたが、この距離は別に関数でなくても問題ありません。ある地点から物体までの距離がどれくらいの場所にあるのかを符号付き(外部なら +、内部なら -)で示せればよいわけで、距離情報を 3 次元的に格納した 3D テクスチャでも実現できます(ちなみに TextMeshPro では 2 次元的に文字までの距離を格納したテクスチャでフォント描画を行っています)。キューブの中に入ったレイのある地点において 3D テクスチャをサンプリングし、その距離分だけ再度レイをすすめる、を繰り返していくこ

                                SDF テクスチャを uRaymarching で描画してみる - 凹みTips
                              • Unity で URP 向けのファーシェーダを書いてみた(シェル法) - 凹みTips

                                はじめに 今回は書いたことのなかったファーシェーダを試してみます。コードも書きやすいのでこれからはレガシーパイプラインではなく Universal Render Pipeline(URP)メインで書いていこうかな、と思っています(HDRP は直書きが大変すぎて趣味としては辛さが勝ったので余り触れない感じで...)。URP でのシェーダについては以下の記事をご参照ください。 tips.hecomi.com デモ 以下の解説をします。 1 Pass(ジオメトリシェーダ利用) Lit シェーダ相当のライティング 法線の計算 リムライト ダウンロード 完成プロジェクトは以下にあげてあります。 github.com ファーシェーダ ファーシェーダを実現する手法は幾つかあり、シェル法とフィン法がよく使われるようです。 news.mynavi.jp news.mynavi.jp 今回はシェル法をジオメト

                                  Unity で URP 向けのファーシェーダを書いてみた(シェル法) - 凹みTips
                                • Unity の Version Defines と.unitypackage インポートについて - 凹みTips

                                  はじめに 先日、uLipSync v3.0.2 をリリースし、asmdef の Version Defines を利用した VRM 0.X / 1.0 のパッケージのインポート状況に応じた VRM 向けコンポーネントのエラー抑制を行いました。 tips.hecomi.com ただこちら、.unitypackage 経由でインポートした際にうまく動かない、という報告をいただき調査してみました。 原因 Version Defines はパッケージのインポート状況に応じてシンボルを定義できる仕組みです。パッケージはバージョン指定も可能で、またパッケージだけではなく Unity のバージョン指定も出来ます。 docs.unity3d.com ただ、.unitypackage 経由でインストールした際、Version Defines で指定する Resource がインポートされた状態として扱われず

                                    Unity の Version Defines と.unitypackage インポートについて - 凹みTips
                                  • uLipSync でリップシンクの事前計算およびタイムライン対応をしてみた - 凹みTips

                                    はじめに 昨年に Unity 上でリアルタイムにリップシンクを行う uLipSync というものをリリースしました。 tips.hecomi.com AudioClip の入力を Job System と Burst コンパイラを利用してリアルタイムに解析して MFCC と呼ばれる特徴量を抽出し、予めキャリブレーションして作成しておいたプロファイルと照らし合わせて一番近い音素を推定、それをブレンドシェイプへと反映させる、という仕組みのものでした。ただ、マイク入力など、その場で毎回異なる音声波形が与えられる場合は良いのですが、歌やカットシーンのような予め決まった音源があるケースにおいてはリアルタイムに計算する必要はなく、結果を事前に確認できるという利点の上でも処理負荷削減の面でも、予め計算しておけると便利です。 そこで、今回新しく事前計算を行う仕組みを導入し、またタイムラインの対応も行いまし

                                      uLipSync でリップシンクの事前計算およびタイムライン対応をしてみた - 凹みTips
                                    • URP に新しく追加された Deferred レンダリングなどについてざっくりと調べてみた - 凹みTips

                                      はじめに 先日 Unity 2021 LTS が発表されましたね。 blog.unity.com Unity 2021 には数多くの機能追加がありますが、このうちの一つが URP への Deferred Rendering の正式サポートです(実験的に以前から追加はされていたようです)。 docs.unity3d.com ドキュメントはこちらです。 docs.unity3d.com 本ブログではレンダリングパイプラインを読んでいこう企画を何度かやってまして、URP も Unlit / Lit (Forward) については以下の記事を書きました。 tips.hecomi.com 今回は続きで、Deferred を始めとして、前回執筆時から更新があり追加された DepthNormals パスやデカールなどについて書いていこうと思います。ただし、今回は、マクロの分岐なども含めてものすごい深堀り

                                        URP に新しく追加された Deferred レンダリングなどについてざっくりと調べてみた - 凹みTips
                                      • uRaymarching を使った VRChat のワールドを作ってみた - 凹みTips

                                        はじめに こりんさん(@korinVR)が VRChat で行われる以下のようなイベントを企画してくれました。 8/2(日)13:00~15:00にVRChatで囲む会をやります。今回のスペシャルゲストは「凹みTips」 https://t.co/mZ2BmIxFST の凹さん @hecomi です! XRやUnityの話題でわいわい雑談したい方どなたでも大歓迎です。当日 ID: korinVR にフレンド申請・joinしてください。 #凹さんを囲む会 pic.twitter.com/9FZJdljx5e— こりん / korinVR (@korinVR) 2020年7月27日 以前簡単な Avatar を作ってみただけで VRChat ではあまり活動できていなかったのですが、今回のイベント用になにかワールドを作りたいなと思い、uRaymarching を使ったワールドの作成に取り組んでみ

                                          uRaymarching を使った VRChat のワールドを作ってみた - 凹みTips
                                        • uOSC v2 をリリースしました - 凹みTips

                                          はじめに uOSC は、Unity 向けの OSC 実装です。数ある Unity 向け OSC 実装の中でもシンプルな使い方が出来るように目指して作ったものでした。 tips.hecomi.com github.com EVMC4U を始めとし、思っていたよりも多くのプロジェクトにて使っていただいており嬉しい限りです。しかしながら長らく動的なアドレスやポート変更といった単純な機能も対応しないままになっていました。。そこで前回のエントリにて UPM 対応のためのメンテをして久しぶりに触ったのもあり、色々足りなかった機能の追加を行うことにしました。本エントリでは新しくなった uOSC v2 の使い方について紹介していきます。 アップデート内容 詳しくは各章で書きますが、v1 からは以下の内容が更新されています。 後方互換性はキープ(v1 用に書いたコードはそのまま動きます) 動的なアドレスやポ

                                            uOSC v2 をリリースしました - 凹みTips
                                          • Unity で URP 向けのファーシェーダを書いてみた(フィン法) - 凹みTips

                                            はじめに 前回の記事ではポリゴンを何層も重ねて毛を表現するシェル法を URP 向けに実装するのを試しました。 tips.hecomi.com 今回はフィン法を試してみようと思います。色々実験しながら書くのでちょっと煩雑になるかもしれませんがご了承ください。 デモ スクリーンショット シェル法との比較 Youtube コード 前回と同じプロジェクトに追加しました。 github.com フィン法 フィン法はポリゴンの表面に垂直方向に立つポリゴンをたくさん追加し、ここに毛のテクスチャを貼り付けることで毛っぽさを表現する手法です。フィン = (魚とかの)ひれ をたくさん植えていくイメージですね。 news.mynavi.jp シェル法の弱点は側面でシェルの層が見えてしまう点でしたが、逆にフィン法では側面はきれいに見えるものの垂直方向から見たときに板ポリが見えてしまいます。そこで、シェル法で垂直方

                                              Unity で URP 向けのファーシェーダを書いてみた(フィン法) - 凹みTips
                                            • uLipSync にアニメーションベイク機能を追加してみた - 凹みTips

                                              はじめに 前回は uLipSync で、リップシンクの解析結果のベイク機能の追加とタイムラインのサポートを行いました。 tips.hecomi.com 今回は、このベイク結果を元に、ブレンドシェイプを動かすアニメーションへと変換する仕組みを作りました。アニメーションとして保存できれば他のアニメーションとの組み合わせもしやすく、既存のワークフローにも組み込め、また後でキーを動かして調整もしやすくなります。本記事では使い方や仕組みなどを紹介します。 デモ 07. Animation Bake というシーンがサンプルシーンになります。 変換ウィンドウ 変換には、Animator コンポーネント、どの母音がどのブレンドシェイプに対応しているかセットアップした uLipSyncBlendShape、そして Bake したデータのリストが必要です。 作成されたアニメーション サンプリングレートや変化と

                                                uLipSync にアニメーションベイク機能を追加してみた - 凹みTips
                                              • NvPipe で Unity のテクスチャを H.264 にハードウェアエンコード / デコードしてみる - 凹みTips

                                                はじめに NvPipe は NVIDIA 製 GPU に搭載されたハードウェアエンコーダ(NVENC)およびデコーダ(NVDEC)機能を簡単に C 言語で使えるようにラップした NVIDIA 製のライブラリです。 github.com NVENC および NVDEC は NVIDIA Video Codec SDK に含まれ、対応した GPU 下で CUDA コアから独立した専用のハードウェアでエンコード・デコードを行うことができます(= グラフィクスの描画に影響を与えずエンコード / デコードできる)。NvPipe では動画フォーマットは H.264 / HEVC、データは RGBA32と 4 / 8 / 16 / 32 bit のグレースケールのデータになります(NVENC / NVDEC 自体はもっと色々サポートしています)。 developer.nvidia.com ユースケースと

                                                  NvPipe で Unity のテクスチャを H.264 にハードウェアエンコード / デコードしてみる - 凹みTips
                                                1

                                                新着記事