凹みTips

C++、JavaScript、Unity、ガジェット等の Tips について雑多に書いています。

Unity

Unity でスクリーンスペースのブーリアン演算をやってみた

はじめに ブーリアン演算とは様々な形状を集合演算(足し合わせる(和)、一方から他方を引く(差)、一致する部分を抜き出す(積)など)によって作成する手法です。 ブーリアン演算 - Wikipedia Constructive Solid Geometry - Wikipedia いくつかの実装方…

Unity で実行時に補完付きで REPL を行うプラグインの複数行対応をした

はじめに 以前公開した uREPL という Unity で実行時に C# のコードや予め登録したコマンドを実行するプラグインのアップデートをして、複数行編集に対応しました。 以前の記事はこちらです。 tips.hecomi.com 本エントリではちょっとした紹介と、備忘録とし…

デプスセンサの値を Deferred Rendering の G-Buffer に書き込んでみた

はじめに Deferred Rendering では G-Buffer にデプスや法線、拡散色などの情報を予め描きこんでおき、その情報を使ってシェーディングやライティングの処理が行われます。 遅延シェーディング - Wikipedia これを利用してあげると距離関数でレイトレースし…

Unity の DX11 向け機能のサンプルを読んでみた

はじめに 以下のスレッドに Unity の中の Aras 氏による DX11 機能を利用したサンプルが上がっています。 Error | Unity Community この中には 8 つのシーンにそれぞれ異なるサンプルが格納されていて、どれもあまり(日本語の)情報がなく且つ面白いものな…

Unity で Compute Shader を使ったスクリーンスペース衝突有りの GPU パーティクルを作ってみた

はじめに コンピュートシェーダを使った GPU パーティクルを試してみます。GPU パーティクルを出す方法はいくつかあるのですが、任意のメッシュを利用したかったため、コンピュートシェーダを使った擬似インスタンシングによる方法を利用してみました。 参考…

Unity で Screen Space Reflection の実装をしてみた

はじめに Screen Space Reflection はカメラから見た画のみを利用してレイトレした結果を使い、擬似的な反射画をそこそこのコストで作り出すテクニックです。Reflection Probe と異なり、動的なものにも効きますし、それなりに正しい反射した画が得られます…

Unity でカスタムライトを使ったスクリーンスペースシャドウを試してみた

はじめに 前回に引き続き Raymarching 関連記事です。 G-Buffer に Raymarching して描画したオブジェクトではポリゴンのオブジェクトから影を受けることは出来るのですが、Raymarching したオブジェクトから自身とポリゴンのオブジェクトへの影を作ることが…

Unity で Raymarching で描画したオブジェクトとのコリジョンを作ってみた

はじめに 前回の記事では G-Buffer を利用して Raymarching で数式から図形を描画する方法を紹介しました。 Unity で Command Buffer を使って Raymarching をしてみた - 凹みTips G-Buffer を利用して Raymarching して描画した図形はコライダが無いため、…

Unity で Command Buffer を使って Raymarching をしてみた

はじめに id:i-saint さんのこちらの記事(rendering fractals in Unity5 - primitive: blog)に触発されて勉強中です。Raymarching はポリゴンベースでなく、距離関数(distance function)と呼ばれる数式を元にオブジェクトをレンダリングする方法で、工夫…

Unity 5 の CommandBuffer を利用したレンダリングパイプラインの拡張について調べてみた

はじめに Unity 5 より利用できるようになった CommandBuffer を利用するとレンダリングパイプラインを拡張して色々な表現が可能となります。公式ブログにこの詳細が書いてあり、サンプルもブログ中またはドキュメント上で配布されています。 (English) Exte…

Unity でリップシンクができる OVRLipSync を試してみた

はじめに Oculus 社が Unity 向けのリップシンクライブラリ、OVRLipSync をリリースしました。 https://developer.oculus.com/downloads/audio/1.0.0-beta/Oculus_OVRLipSync_for_Unity_5/ Oculus Launch Avatar Lip Sync Plugin for Unity - Road to VR Ocu…

Unity で Desktop Duplication API を使ってスクリーンキャプチャしてみた

はじめに 以下のエントリではスクリーンキャプチャを System.Drawing.Graphics.CopyFromScreen() を別スレッドで回して行っていました。 qiita.com ここで触れられているようにネイティブでやった方が速いということもあり、本エントリでは Windows 8 から使…

Unity の Low-Level Native Plugin Interface を使ったテクスチャの更新 (Windows/D3D11 編)

はじめに 本エントリは以下のエントリの続編です。 tips.hecomi.com Low-Level Native Plugin Interface を利用すると OpenGL や DirectX から直接テクスチャの生成や更新を行うことが出来ます。前回のエントリでは Mac OS X 環境下での OpenGL を例に紹介し…

ネイティブプラグインから Unity の関数(Debug.Log 等)を呼び出す

はじめに ネイティブプラグインの作成時にネイティブ側から Unity の Debug.Log() を呼んでデバッグしたくなるときが多々あります。以下のエントリ(英語)で方法が紹介されていたのでやってみました。 Artificial stupidity: C++ Plugin Debug Log ざっくり…

Low-Level Native Plugin Interface を利用してネイティブから Unity のテクスチャを高速に更新する方法を調べてみた

はじめに Unity でネイティブ側(C/C++ 等)で作成したテクスチャを利用する方法はいくつかあって、テラシュールブログさんにまとめられています。 Unityでテクスチャを読む7つの方法 - テラシュールブログ Unityでテクスチャを読む7つの方法 4・5・6につい…

VR 向け高性能ステレオカメラの Ovrvision Pro を手に入れたので詳しく調べてみた

本エントリは Oculus Rift Advent Calendar 2015 12 日目の記事になります。昨日は @MuRo_CG さんによる「アニメの雰囲気をVRに持ってくる方法」でした。以前 Gear VR のデモを見せていただきましたがすごいアニメでした!(語彙力がない) はじめに Ovrvisi…

Unity で実行時にコードやコマンドを補完つきで実行できる uREPL を作ってみた

本エントリは Unity Advent Calnedar 5 日目の記事です。昨日は @tagia0212 さんによる uGUI で透明じゃないところだけに反応するボタンを作った (Unity) - Qiita でした。 はじめに サマーレッスンの VR コンソールの話を見て、Unreal Engine にはコマンド…

発売前に RICOH THETA S のライブビューを Unity でリアルタイムに全天球で見るやつ作ってみた

はじめに GOROman さん(@GOROman)が、以下の様なつぶやきをされているのを見かけたので、その日のうちにやってみたお話です。 これVRストリーム中継楽勝で出来るんじゃないのかなー。ステッチどうするかだけど。。。とりあえず球体をざっくりUVテクスチャ…

Unity で Android 向けの OpenCV x ArUco を利用した AR アプリを作ってみる

はじめに Unity で Android 用のアプリを作る際、Unity だけで出来ないことをやろうとするとプラグインを利用することになります。Android 向けのプラグインは大きく分けて 2 種類あり、一つは Android の機能を利用する Java プラグイン、もう 1 つは C/C++…

Unity 5.1 から導入された新しいネットワーク機能の UNET について詳しく調べてみた

はじめに Unity 5.1 よりマルチプレイヤ用のネットワークシステム(UNET)が追加されました。 (English) Unity 5.1 is here! – Unity Blog Announcing UNET – New Unity Multiplayer Technology – Unity Blog 古い Network 機能は今後 5.x のどこかのタイミ…

Maker Faire Tokyo 2015 にレゴ x ハードウェア x プロジェクションなシューティングゲーム LITTAI を出展してきた

はじめに 前回の記事で書いたように 8/1、8/2 に東京ビッグサイトにて開催された MFT 2015 へ友達と趣味で制作していた LITTAI というゲームを出展してきました。お越しくださった皆様、ありがとうございました! LITTAI は Lit Table Interface の略の造語…

現実の手を直接 VR 内に持ち込めるようになった Leap Motion Core Asset v2.3.0 を詳しく調べてみた

はじめに VR 向け Leap Motion アセットに再び神アップデートがきました。 Unity Core Assets 2.3.0 + ImageHands - Leap Motion Community Gallery | Leap Motion Developers いくつかアップデートがある中で目玉は「Image Hand」という機能で、従来は 3D …

Unity のトゥーンシェーダについて調べてみた

はじめに 自前のトゥーンシェーダを作りたくて、まずは Unity 付属のトゥーンシェーダについて調べてみました。Unity のシェーダについては以前の記事をサラッと読んでいただけると理解しやすいと思います。 Unity のシェーダの基礎を勉強してみたのでやる気…

Unity でキャラクタの足の位置を地面の形状に合わせてみた

はじめに 段差や坂を登る時などに単にアニメーションさせているだけではコライダの位置に合わせてキャラクタが上下するだけで、片方の足は地面に付いているけど、もう片方の足の位置は地面から離れているといった不自然な表現になってしまいます。 これを解…

Particle を使って Line Renderer みたいな表現を作ってみた

はじめに Line Renderer で満足できない場面があったので Particle を密に並べて線っぽく見せるのを作ってみました。 デモ Particle Playground 2 を使った版(Web Player ビルド) Unity Web Player | Particle Playground 2 Line デフォルトの Particle Sy…

Unity で格好いいパーティクル表現を作れる Particle Playground 2 を色々試してみた

はじめに Unity の Particle System である Shuriken を使ってパーティクルを作っている人が多いと思います。 Unity - マニュアル: パーティクルシステム( Shuriken ) http://marupeke296.com/UNI_PT_No1_Shuriken.html ただより凝ったことをしたくなって…

Maya LT でスキニングモデリングに挑戦して Unity で動かしてみた

はじめに Maya LT でのモデリング練習記の続きです。前回はローポリキャラクタモデリングに挑戦してみました。 Maya LT でローポリキャラクタモデリングに挑戦して Unity で動かしてみた - 凹みTips そこで触れていたように、今回はスキニングモデリングに挑…

RealSense が届いたので Unity で出来ることなどを詳しく調べてみた

はじめに RealSense 3D カメラの F200 が届きました。 RealSense は Intel による NUI 用のセンサ・SDK を扱うブランド名で、顔分析、手指・ジェスチャー検出、音声認識、背景除去、AR などが可能です。この前身として本ブログでも紹介したことのある Percep…

Maya LT でローポリキャラクタモデリングに挑戦して Unity で動かしてみた

はじめに 前回のエントリ(Maya LT 2015 の勉強始めました - 凹みTips)では、Maya LT の基本的な使い方を勉強しました。そこで今回は 1 週間使ってローポリのキャラクタモデリング、および作成したモデル・アニメーションの Unity での利用に挑戦してみまし…

Maya LT 2015 の勉強始めました

はじめに Maya LT の勉強を始めました。以前、Blender でキャラクターモデリングに挑戦したことはあったのですが、それっきりになっていて、再度モデリングやアニメーションを始めようと思ったのですが、今は低価格版の Maya LT が利用できることから、Blend…