Unity
はじめに 主要な VR 向けのデスクトップ表示アプリ(Virtual Desktop や Bigscreen など)では、PC だけでなくモバイル VR もサポートしています。これを実現するには、キャプチャしたデスクトップ画面をリモートへ低遅延で転送しなければなりません。また、…
はじめに 前回の記事で NVIDIA のハードウェアエンコーダである NVENC(および NVDEC)を使いやすくした NvPipe を Unity で使えるようにしたアセットの紹介をしました。 tips.hecomi.com しかし問題点として、NvPipe はバッファのポインタしか食わせる口が…
はじめに NvPipe は NVIDIA 製 GPU に搭載されたハードウェアエンコーダ(NVENC)およびデコーダ(NVDEC)機能を簡単に C 言語で使えるようにラップした NVIDIA 製のライブラリです。 github.com NVENC および NVDEC は NVIDIA Video Codec SDK に含まれ、対…
はじめに 以前、Intel® RealSense™ のトラッキングカメラである T265 の記事を書きましたが、今回はデプスカメラである D435 を手に入れましたので、まずはカメラの概要と Unity のサンプルの紹介をしようと思います。 tips.hecomi.com デモ 画像ストリーム …
はじめに 以前、CustomTextureUpdate の記事を書きました。 tips.hecomi.com この API は、ネイティブ(DLL 側)からバッファのポインタを渡してあげるだけでプラットフォーム間の差異(OpenGL や DirectX 固有のテクスチャの更新方法)を気にせず且つ簡単に…
はじめに 1 月にプリオーダーしていた、V-SLAM をデバイス側で行ってくれる RealseSense の新しい製品である T265 が先日届きました。 realsense.intel.com T265 は次のようなデバイスです。 低消費電力 V-SLAM 動作で 1.5 W 正確なトラッキング 様々な環境…
はじめに uRaymarching を更新しました。以前の記事はこちら: tips.hecomi.com uRaymarching は以下のような機能を持つアセットです(太字が今回更新した内容です)。 エディタ上で距離関数の記述だけでレイマーチングができる フォワード / ディファード対…
はじめに 以前、ディファードで Raymarching をやる記事を書きました。 tips.hecomi.com 上記記事では画面全体での Raymarching でしたが、これを個別のオブジェクトとして分解できるようにしたオブジェクトスペースのレイマーチングについて以下の記事で解…
本エントリは Unity Advent Calendar 2018 23 日目の記事になります。 qiita.com はじめに ECS(Entity Component System)の概要は読んだり、勉強会で話を聞いてはいたのですが、自分では書いたことがなかったので勉強してやってみることにしました。既に E…
はじめに Unity での XR Settings に含まれる Stereo Rendering Method ですが、みなさんは理解されていますか?ちなみに私は理解していませんでした。。 なんとなく マルチパス は遅くて シングルパス にすると速い、しかしながらシングルパスにするにはシ…
はじめに クロマキーに関してはもう既に色々なアセットがあるとは思うのですが、uWindowCapture で使えるクロマキーシェーダがほしいとの要望を受けたので作ってみました。 デモ 任意の色相・彩度・明度の範囲を抜くことが出来ます。下の例ではピンク色を背…
はじめに uDesktopDuplication に用意されているカーブドスクリーンを uWindowCapture でも使いたいとの要望を頂いたので、単体のアセットとして作成してみました。 デモ ダウンロード github.com Release から最新の .unitypackage をダウンロードしてプロ…
はじめに GPU Instancing を使うと同一メッシュ・マテリアルを使用したオブジェクトを一度に大量に描画することが出来ます。GPU Instancing そのものについてはテラシュールブログさんや公式ドキュメントをご参照ください。 tsubakit1.hateblo.jp docs.unity…
はじめに 現在 Forward Rendering における Raymarching を試していて、その際にポリゴンとの交差判定でデプス情報を使う必要があるのですが、デプスを使ったシェーダが Unity ではどういう風に書かれているのか気になり、パッと思いつくソフトパーティクル…
はじめに 本エントリでは先ほど公開した uWindowCapture という Windows において個別のウィンドウをキャプチャできるアセットの解説を行います。本アセットで実現できることは以下のようなものです。 ウィンドウを個別にキャプチャ 背面やデスクトップ画面…
はじめに VR 向けのバーチャルデスクトップを作っているとハンドコントローラを使ったポインタによる UI 等で指した場所の操作をしたくなります。こういった場合は kernel32.dll 経由でマウス操作をエミュレーションすることが多いと思いますが、Windows で…
はじめに 前回は以下の記事で低レベルネイティブプラグインインターフェースを使ったテクスチャのアップデートについての解説を行いました: tips.hecomi.com しかし前回のプロジェクトでは以下の点で複数プラットフォーム対応が面倒という問題がありました…
はじめに Unity で画像をネイティブ側で非同期に読み込みたい、というお話が Twitter で出ていたので、やってみました。 従来の問題点 StreamingAssets ディレクトリやウェブから WWW や UnityWebRequest で持ってきた画像ファイルを使う場合、Unity にデコ…
はじめに サーフェスシェーダは Unity が提供してくれているライティングなどの処理を簡略化して書けるシェーダです。予め定義された SurfaceOutput や SurfaceOutputStandard といった構造体に必要な情報を詰め、影を使うかアルファを使うかといったオプシ…
はじめに Unity で以下のようなユースケースでソースコードを DLL(マネージドプラグイン)にビルドしたいことがあるかと思います: C# のソースを隠蔽したい場合*1 取り回しを楽にしたい(DLL をプロジェクトにインクルードするだけで完結させたい)場合 再…
はじめに 以前リリースした VR 向けの自作 Grabber のアップデート情報です。 tips.hecomi.com 今回は、Twitter の DM で頂いた要望である「めり込み回避機能」を入れました。 デモ ダウンロード github.com 使い方 avoidIntersection オプションが追加され…
はじめに Unity 2018.1b より Scriptable Render Pipeline (SRP) というレンダリングパイプラインをより細かくコントロールできる機能がリリースされました。SRP の登場により、従来の Forward / Deferred に加え、新たに Compute Shader を活用し SSS など…
はじめに 本記事はボリュームレンダリングシリーズで以下の記事の続きです。 tips.hecomi.com 今回はボリュームレンダリングの結果に色付けしたりシェーディングしたりするところをやります。 参考 以下のエントリを参考にしています。 graphicsrunner.blogs…
はじめに 前回、Unity でのボリュームレンダリングの導入を行いました。 tips.hecomi.com 今回はレイの通過判定の改善を行います。 プロジェクト github.com 4 が今回の範囲になります。 環境 Unity 2017.3.0f3 MacBook Pro (15-inch, Late 2016) レイと AAB…
はじめに 今回はボリュームレンダリングについて調べてみました。 ボリュームレンダリングは CT スキャンや MRI などで得られたデータや、雲やエフェクトなどの事前に用意またはリアルタイムに計算した 3 次元のデータを 2 次元の画面上に描画するための手法…
はじめに 本記事は Unity Advent Calendar 2017 21 日目の記事になります。 ここ 1 年はいくつか Windows 向けのネイティブプラグインの作成とメンテを行いました。本エントリでは、Windows に特化して、そういったネイティブプラグインの作り方、およびそこ…
はじめに 2017/12/16 に日本マイクロソフト株式会社さんのオフィスで行われた Tokyo HoloLens ミートアップ vol.6 で「HoloLens x iPad」という題目で LT してきました。内容は以前紹介した内容をスライドにしたものです。 tips.hecomi.com スライド 関連 ww…
はじめに issue で Unity 2017 における .NET 4.6 から uREPL が動かないとの報告を受けていたので対応を行いました。.NET 3.5 はエディタ上では動くのですがビルドで正常に動かない不具合が解消できなかったため、サポート外となっています。.NET 3.5 を使…
はじめに Unity でシェーダをテンプレートファイルから生成できるアセットを作ったので、作った動機および使い方の紹介をしたいと思います。 以前 uRaymarching というアセットの一部の機能として作成したものを分離したものになります。 tips.hecomi.com ダ…
はじめに Unity で作ったアプリをプロジェクタを使って投影したい際、以前は Syphon を使って MadMapper に送ったりしていましたが、単純に 1 枚の画を対象となる矩形の物体に映したいだけの時が多く、フレームの転送の遅延があったり、複数アプリを立ち上げ…