タグ

ブックマーク / tips.hecomi.com (46)

  • Unity でリアルタイムにリップシンクを行うプラグインを更に作り直してみた - 凹みTips

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

    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
  • RealSense トラッキングカメラ T265 を Unity で遊んでみた - 凹みTips

    はじめに 1 月にプリオーダーしていた、V-SLAM をデバイス側で行ってくれる RealseSense の新しい製品である T265 が先日届きました。 realsense.intel.com T265 は次のようなデバイスです。 低消費電力 V-SLAM 動作で 1.5 W 正確なトラッキング 様々な環境下での閉ループテストでドリフトによる誤差は 1% 以下*1) 小型で軽量 108 x 25 x 13 mm / 55 g 安価 驚きの $199 実際の購入費用としては $199+送料($23.75)に別途税関代 2,080 円が着払いでかかりました。エントリではデバイスの紹介と Unity での使い方を紹介していきたいと思います。 特徴 Neural Compute Stick 2 に搭載されている Intel® Movidius™ Myriad™ 2.0 VPU(Vision P

    RealSense トラッキングカメラ T265 を Unity で遊んでみた - 凹みTips
  • VR 内で自分の手とキーボードのインタラクションを可視化するデモを作ってみた - 凹みTips

    はじめに VR に特化したガジェットが色々出てきていますが、そういった特殊なガジェットではなく、もっと身近なデバイスと自分の手自身がインタラクションする様子を拡張して VR 内で表示できないか考えてみました。 例えばボタンを大量に有するインターフェースで、どこを押せば良いのかオーバーレイで教えてあげたり、押すと何が起こるのか情報を出してあげたり、押した結果を可視化して表示してあげたり出来ると、そのインターフェースに対しての習熟が早まる可能性があると思います。特に楽器とかでは効果がありそうで、音ゲーのような雰囲気で実際の楽器の演奏練習が出来る、みたいなことが出来ると面白そうです。 こういったインターフェースを操作する際、自分の手をそのまま使うことが多いと思います。ただその手を VR 内で表示するために、例えば Leap Motion のようなデバイスでトラッキングすると、たとえ精度が良くても

    VR 内で自分の手とキーボードのインタラクションを可視化するデモを作ってみた - 凹みTips
    yuiseki
    yuiseki 2019/02/27
  • Unity 上で DLL(マネージドプラグイン)をビルドするエディタ拡張を作ってみた - 凹みTips

    はじめに Unity で以下のようなユースケースでソースコードを DLL(マネージドプラグイン)にビルドしたいことがあるかと思います: C# のソースを隠蔽したい場合*1 取り回しを楽にしたい(DLL をプロジェクトにインクルードするだけで完結させたい)場合 再ビルドを避けてビルド時間の短縮をしたい場合(Assembly Definition Files では足りない場合) DLL を作成するには Mono Develop や Visual Studio でビルドするか、手動でコマンドを打ってビルドする必要があり面倒でした。そこで Unity 上でビルドできるツールを作ってみましたのでご紹介します。 画面 環境 Windows / Mac 両方 Unity 2018.1.0b13 でテスト ダウンロード github.com 使い方 Release ページから最新版をダウンロード 自プロジ

    Unity 上で DLL(マネージドプラグイン)をビルドするエディタ拡張を作ってみた - 凹みTips
  • 曲面ディスプレイ | 凹みTips

    はじめに エントリは Unity Advent Calendar 2016 4 日目の記事になります。先日は srndpty さんによる「uGUIのScrollViewを使いこなす7つのTips - Programming Serendipity」でした。スクロール系は私も昨年の Advent Calendar で書いた uREPL を作成した時に頭を悩ませたところなので、機会があったらまとめてみたいです。 さて、編に入りたいと思います。今年のはじめに、以下のエントリを投稿しました。 Unity で Desktop Duplication API を使ってスクリーンキャプチャしてみた - 凹みTips ここでは Windows 8.1 以降に対応している Desktop Duplication API(DDA)を利用して Unity 上に非常に低負荷で Windowsデスクトップ画

    曲面ディスプレイ | 凹みTips
    yuiseki
    yuiseki 2018/01/24
    天才すぎるんだよな……
  • HoloLens で向こう側が見える窓を動的に追加してみる - 凹みTips

    はじめに 前回のブログで少しだけ穴あき表現について触れました。 tips.hecomi.com エントリでは動的に穴を開ける方法について解説したいと思います。 デモ 環境 Windows 10 Unity 5.5.1f1 ダウンロード github.com おさらい ドキュメント:Case study - Looking through holes in your reality HoloLens では黒色が透明に見えるため、穴の空いた黒いプレーンを通して向こう側を見るような表現を作れば、壁に穴をあけることも出来ます。しかしこの方法の欠点は、キャプチャをする際は黒は黒として出力されてしまう点です(※ Holographic Remoting Player でのキャプチャは透明になります)。これは以下のような数式で説明できます(厳密に正しい数式ではないので注意)。まず実際の目に見えている画

    HoloLens で向こう側が見える窓を動的に追加してみる - 凹みTips
    yuiseki
    yuiseki 2018/01/19
  • Unity でリップシンクができる OVRLipSync を試してみた - 凹みTips

    はじめに 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 Oculus、音声からVR内のアバターの口の動きを表現するプラグインを公開 | MoguraVR オーディオストリーム(録音音源、マイク入力)から口形素(Visemes、ビジーム)と呼ばれる特定の発音に対応する唇や顔の形状を求め、それを予めモデルに仕込まれたモーフのブレンド率に反映させるプラグインです。利用している口形素は 15 種類の「sil(無音), PP, FF, TH, DD,

    Unity でリップシンクができる OVRLipSync を試してみた - 凹みTips
  • HoloLens のアプリ開発はじめました - 凹みTips

    はじめに 先日、TMCN さんから、なんと HoloLens をお貸し頂きました。 TMCN さんのご厚意で HoloLens をお借りすることができました!ありがとうございます。色々作るぞ〜 pic.twitter.com/sLgy0C2Ohm— 凹 (@hecomi) 2017年2月4日 HoloLens は Microsoft によって開発されているシースルー型の HMD で、PC やスマホを必要とせずスタンドアロンで動作し、これを被ることで実際の目に見える空間と 3D のオブジェクトやブラウザ等のウィンドウが同時に存在しているかのような世界を体験することが出来ます。トラッキング性能は異常と言っても過言ではないほどで、大抵の環境では顔をブンブン振り回しても、ピンされたオブジェクトはその場にブレることなく留まります。配置したオブジェクトは、その場から離れても保存されているので、家の各所

    HoloLens のアプリ開発はじめました - 凹みTips
  • 現実の手を直接 VR 内に持ち込めるようになった Leap Motion Core Asset v2.3.0 を詳しく調べてみた - 凹みTips

    はじめに VR 向け Leap Motion アセットに再び神アップデートがきました。 Unity Core Assets 2.3.0 + ImageHands - Development - Leap Motion (Ultraleap) Community Forums https://developer.leapmotion.com/gallery/category/image-hand いくつかアップデートがある中で目玉は「Image Hand」という機能で、従来は 3D のモデルを認識した手の形状に合わせて動かしていたのに対し、カメラで取得した実際の手の領域を直接描画するモードが追加されました。従来同様当たり判定も効く上にオクルージョン(VR 内の 3D オブジェクトの後ろに回りこむような表現)も再現されています。 エントリでは、Image Hand に焦点を当てながら、前回(

    現実の手を直接 VR 内に持ち込めるようになった Leap Motion Core Asset v2.3.0 を詳しく調べてみた - 凹みTips
    yuiseki
    yuiseki 2015/05/26
  • 色んなガジェットを組み合わせて作った部屋で実際に暮らして思ったことや次バージョンへの思いをまとめてみた - 凹みTips

    この記事は おうちハック Advent Calendar 2014 23 日目の記事です。前日は @jojonki 氏の「ちょっと未来のティッシュケースを考えてみた」でした。ティッシュ箱光るのおしゃれで良いですね。他にも日常のいろいろな些細な動作にフィードバックをつけられると楽しそうです。 はじめに 今年の半ばに「色んなガジェットを組み合わせた部屋を作ってみたので色々と考察してみた - 凹みTips」というエントリを書きまして、大きな反響を頂きました。ありがとうございます! エントリでは、これを書いた後に、人柱として実際に生活しながら思ったこと、現在世の中も踏まえて個人的に考えていること、そして今後作っていくならどのような UI が良いか考察した内容などを雑多にですがまとめてみようと思います(当はモノを作ろうと思ってたのですが、間に合わず...)。 おさらい 以前、こんなシステムの部屋

    色んなガジェットを組み合わせて作った部屋で実際に暮らして思ったことや次バージョンへの思いをまとめてみた - 凹みTips
    yuiseki
    yuiseki 2015/01/06
  • 筋電によるジェスチャコントロールが可能なアームバンド Myo が届いたので遊んでみた - 凹みTips

    はじめに 先週、昨年の 6 月にプリオーダーしていた Myo の Developer Kit が届きました。 Myo は Thalmic Labs 社によって開発されたワイヤレスなアームバンド型のジェスチャコントローラです。 価格はプリオーダー時が $149、現在は $199 です。 Buy Preorder Myo Gesture Armband Controller by Thalmic Labs ハードウェアとしては 9 軸の IMU センサと医療レベルの EMG(表面筋電位)センサ、ハプティック用にバイブレータ、無線接続用に BLE (PC とペアリングするドングルも同梱)、そしてジェスチャの解析用に ARM Cortex M4 プロセッサを搭載しています。用途としては、PC の操作(プレゼン支援など)やスマホの操作(音楽再生・音量変更など)といったことが可能ですが、公開されている

    筋電によるジェスチャコントロールが可能なアームバンド Myo が届いたので遊んでみた - 凹みTips
    yuiseki
    yuiseki 2014/12/18
  • VR の世界に手を持ち込める Leap Motion VR の仕組みを調べてみた - 凹みTips

    はじめに 8月末に Leap Motion が公式でステレオの赤外画の取得の API の公開と、VR 用のソフトウェア群、および Oculus Rift DK2 マウンタを公開しました。 Ultraleap Docs | Ultraleap Docs Guidelines for Hand Tracking and Haptics XR | Ultraleap サンプルも幾つか用意されていて試すことが出来ます。マウンタは買わずとも両面テープやマジックテープでくっつければ問題なく動作しますし、3D プリンタをお持ちであればデータも公開されているので、自分で用意することも可能です。 Ultraleap Gallery – Demos and experiments from the Ultraleap and our community. Share yours today. Leap Mot

    VR の世界に手を持ち込める Leap Motion VR の仕組みを調べてみた - 凹みTips
  • JavaScript(Node.js)で色々なハードウェアモジュールが動くマイコンボード Tessel を手に入れたので詳しく調べてみた - 凹みTips

    はじめに 今日、昨年夏に Back していた Tessel が届きました。 Tessel 2 次世代マイコン「Tessel」はJavaScriptとNode.jsをサポートしWi-Fiからアップデート可能 - GIGAZINE Tessel は、Node.js ベースの JavaScript 環境を利用してハードウェア制御可能なマイコンボードです。スタンドアロンで WiFi 接続可能で、USB による電源供給のみで動作します。体にはモジュール拡張用に 4 つのポートがついており、ここに SD カード読み込みモジュールやオーディオ入出力モジュール、加速度や温度・照度などのセンサモジュールなどの様々なモジュールを差し込むことで拡張が可能です。そしてこの一つ一つのハードウェアモジュールを操作するための Node モジュールが npm で公開されており、バグ修正も含めて Node.js のプラッ

    JavaScript(Node.js)で色々なハードウェアモジュールが動くマイコンボード Tessel を手に入れたので詳しく調べてみた - 凹みTips
    yuiseki
    yuiseki 2014/07/07
  • 手のボーントラッキングが可能になった Leap Motion SDK V2 Beta の Unity サンプルについて調べてみた - 凹みTips

    はじめに Leap Motion SDK の V2 Beta がリリースされました。 Leap Motion Developer 最大の特徴は Skeletal Tracking (手のボーンをベースとしたトラッキング)が可能になった点で、Leap Motion の問題点として挙げられていた、すぐにロストしてしまう問題(例えば手を縦にすると指が見えなくなる等)がこれにより大幅に改良されました。 公式では、JavaScriptUnity/C#、C++JavaPython、Objective-C の 6 つの環境での SDK を配布していますが、エントリでは簡単な新機能紹介と、Unity 向けの SDK に注目して、簡単に調べてみた内容を紹介したいと思います。 デモ サンプルを Oculus Rift と組み合わせてみただけですが、かなり気持ちいいです。 インストールと概要 Leap

    手のボーントラッキングが可能になった Leap Motion SDK V2 Beta の Unity サンプルについて調べてみた - 凹みTips
  • Oculus Rift + Senz3D + iisu で VR 空間内に手を入れて遊んでみた - 凹みTips

    デモ 「はじめに」が長くなったので、まずは今回取り扱う内容をご覧ください。 はじめに Senz3D(Creative Interactive Gesture Camera) は、昨年の IFA2013 にて発表されたクリエイティブテクノロジー社製の NUI カメラです。 http://us.creative.com/p/web-cameras/creative-senz3d 【並行輸入品】Creative Senz3D Depth and Gesture Recognition Camera for Personal Computers CREATIVEAmazon 720p の RGB カメラと共に QVGA の TOF 方式によるデプスカメラを備え、15 cm ~ 1 m と比較的近距離のデプス情報を精度よく捉えることが出来ます。271g とやや重めですが、30 fps / 74°と広

    Oculus Rift + Senz3D + iisu で VR 空間内に手を入れて遊んでみた - 凹みTips
  • Node.js でマルチスレッド対応のネイティブモジュールを作成する - 凹みTips

    はじめに 前回(Node.js で C++ アドオンから EventEmitter のイベントリスナを呼ぶ - 凹みTips)、C++ のネイティブモジュールから EventEmitter を利用して JavaScript 側で定義したイベントリスナを呼ぶ方法を紹介しました。ただ Node.js はシングルスレッドベースの非同期処理を行っているため、このイベントリスナを呼ぶ過程のどこかで重い処理を行うと、全体の処理がブロックされてしまいます。また、これを避けるために、子スレッドを作成して処理が終了したら JavaScript のイベントリスナを呼ぶ、としようとしても、別スレッド内から Node.js の走るスレッドの v8 の世界へ直接アクセスすることが出来ないため、イベントリスナを呼ぶことができません*1。 そこで、libeio / libev に代わって Node.js のコアとして置

    Node.js でマルチスレッド対応のネイティブモジュールを作成する - 凹みTips
    yuiseki
    yuiseki 2014/05/16
  • 色んなガジェットを組み合わせた部屋を作ってみたので色々と考察してみた - 凹みTips

    はじめに IoT(Internet of Things: モノのインターネット)時代到来により、様々なセンサ・デバイスがインターネットに繋がるようになり始め、多種多様なガジェットが開発・販売されるようになってきました。 モノのインターネット - Wikipedia IoT Funding Guide | 2019 and Historic Timeline of Internet of Things Acquisitions and Venture Capital Investments 私はインターネットにつながる PC / スマホ以外のガジェットとして、WeMo Motion / WeMo Switch / Hue / Netatomo / Blink(1) / iRemocon / Future Home Controller / Pebble 等を保有しているので、これらを組み合わ

    色んなガジェットを組み合わせた部屋を作ってみたので色々と考察してみた - 凹みTips
  • Unity から Node.js を起動時に裏で実行・通信して諸々の処理を肩代わりしてもらう方法考えてみた - 凹みTips

    はじめに Unity の C# の世界で完結して色々と実行してくれるのはライブラリの利用者側から見るととても楽ですが、プロトタイプをそれで作ろうとすると結構大変です。そこで、Processing なり oF なり自分の慣れ親しんだ環境で作成したものを別途動かし、そこから OSC なりなんなりで通信して Unity の世界に反映させる、ということが良くやられていると思います。しかしながら、これを配布して別の人に使ってもらおうと考えると、別途色々と動かしてもらわないとならず大変です。 そこで、ここをうまい具合にやる方法を思いついたのでご紹介します。 アイディア アイディアとしては、何かしらのコマンドやStreamingAssets 下に置いたバイナリを System.Diagnostics.Process から実行するというシンプルなものです。先行事例だと、Unity でリアルタイムにリップシ

    Unity から Node.js を起動時に裏で実行・通信して諸々の処理を肩代わりしてもらう方法考えてみた - 凹みTips
    yuiseki
    yuiseki 2014/04/23
  • Unity から Node.js を裏でこっそり立ち上げてアレコレ出来るアセットをつくってみた - 凹みTips

    はじめに 先日書いたエントリ(Unity から Node.js を起動時に裏で実行・通信して諸々の処理を肩代わりしてもらう方法考えてみた - 凹みTips)のネタをだれでも使えるようにアセットにしました。起動時に Node.js を裏で実行して面倒なネットワーク周りの処理などを行い、Unity とは OSC や WebSocket を通じてやりとりすることで、C# で書くのが面倒な処理を JavaScript(≠ Unity の JS)で肩代わりできるものです。別途サーバを立ち上げる方式よりもアプリを立ち上げれば自動で Node のサーバも立ち上がるので楽、というのが狙いです。 動作環境 Windows 8 Mac OS X 10.9.2 両対応しました。 デモ 実行した結果のログなどは簡易的ですが Editor 上で見れるようになっています。 動画では WebSocket サーバの立ち上

    Unity から Node.js を裏でこっそり立ち上げてアレコレ出来るアセットをつくってみた - 凹みTips
    yuiseki
    yuiseki 2014/04/23