タグ

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

  • 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
    nikutaiha
    nikutaiha 2021/05/31
  • Tango のアプリ開発はじめました - 凹みTips

    はじめに Mogura VR さん経由で ASUS 社の ZenFone AR のエンジニアリングサンプル品をお借りすることが出来たので色々調べてみました。Tango についての一般的な事柄や ZenFone AR そのものについては Mogura VR さんの方に寄稿いたしましたので、併せてお読みいただけると嬉しいです。 www.moguravr.com エントリでは寄稿した記事の補足や向こうには書かなかったコードと紐付けた紹介、推測や妄想も交えてまとめていきたいと思います。こうしたらアプリが作れるよ、という解説ではなく、あくまで概念や世界観の理解の方がメインです。なお「はじめました」というタイトルをつけたのですが、だいぶ前に返却してしまったので、続きはまた発売後に購入出来たら書きます...。 追記(2017/06/23) 日より発売されました! ASUS ZenFone AR SI

    Tango のアプリ開発はじめました - 凹みTips
    nikutaiha
    nikutaiha 2017/05/25
    tango
  • Unity でオブジェクトスペースのレイマーチをやってみた - 凹みTips

    はじめに 以前、Unity の Command Buffer を使ってレイマーチを行う方法を紹介しました。 Unity で Command Buffer を使って Raymarching をしてみた - 凹みTips しかしながらこの手法では異なる多数の立体を同時に描画したり、それらのオブジェクトを自由に操作したりするには計算コストが高く難しいです。そこで id:i-saint さんがオブジェクトスペースにおいてレイマーチを行うことでこれを軽減する手法を提案されていました。 object space raymarching - primitive: blog エントリでは、提案されたいた手法を前回のエントリに続く形として実装してみましたので、具体的にどんなことが行われているか差分の形で紹介したいと思います。 デモ 角丸立方体の格子で出来たキューブと球のモーフィングです。トランスフォームを

    Unity でオブジェクトスペースのレイマーチをやってみた - 凹みTips
    nikutaiha
    nikutaiha 2016/09/26
    unity,レイマーチング
  • Unity でスクリーンスペースのブーリアン演算をやってみた - 凹みTips

    はじめに ブーリアン演算とは様々な形状を集合演算(足し合わせる(和)、一方から他方を引く(差)、一致する部分を抜き出す(積)など)によって作成する手法です。 ブーリアン演算 - Wikipedia Constructive Solid Geometry - Wikipedia いくつかの実装方法があると思いますが、スクリーンスペースで G-Buffer を加工することでこれを実現する Unity での実装を id:i-saint さんが作られており、実装も公開されていました。 playing with Unity 5's deferred shading pipeline - primitive: blog GitHub - i-saint/Unity5Effects G-Buffer 加工による利点は 3D ソフトなどで見られるメッシュ自体の変形に比べ、多数のオブジェクトを組合せ爆発しな

    Unity でスクリーンスペースのブーリアン演算をやってみた - 凹みTips
    nikutaiha
    nikutaiha 2016/09/10
    ブーリアン演算
  • Unity 5.1 から導入された新しいネットワーク機能の UNET について詳しく調べてみた - 凹みTips

    はじめに Unity 5.1 よりマルチプレイヤ用のネットワークシステム(UNET)が追加されました。 Unity 5.1 is here! | Unity Blog Announcing UNET - New Unity Multiplayer Technology | Unity Blog 古い Network 機能は今後 5.x のどこかのタイミングで廃止される予定です。 UNET は低レイヤのカスタマイズから、抽象化された高レベルな API 群、Unity のエディタ拡張から簡単に利用できるコンポーネント群およびプロファイラとの統合、そしてマッチメイキングといったマルチプレイヤゲーム向けのサービスまでを提供する、Unity 5 を代表する機能の一つです。ロードマップでは Phase.3 まで描かれていて、現在は Phase.1 が提供された段階です。 現状、英語・日語ともに下回り

    Unity 5.1 から導入された新しいネットワーク機能の UNET について詳しく調べてみた - 凹みTips
    nikutaiha
    nikutaiha 2015/10/03
    unet,unity
  • Maker Faire Tokyo 2015 にレゴ x ハードウェア x プロジェクションなシューティングゲーム LITTAI を出展してきた - 凹みTips

    はじめに 前回の記事で書いたように 8/1、8/2 に東京ビッグサイトにて開催された MFT 2015 へ友達趣味で制作していた LITTAI というゲームを出展してきました。お越しくださった皆様、ありがとうございました! LITTAI は Lit Table Interface の略の造語で、以下の様なコンセプトを掲げるゲームです。 テーブル上で実際にものを操作しながら遊ぶゲーム 操作するものはリアルタイムにカスタマイズ可能 ハードウェアとゲームの世界が連動 基的なコンセプトは以前出展した Mont Blanc Pj. とほぼ同じで、こういった技術を使いつつ遊び手に技術を意識されないようなゲームの新しい遊び方を模索するのが目的です。 製作期間はネタ出しで 1 ヶ月、実験・制作が 2 ヶ月半くらいです。私は認識部とゲーム部のソフトウェア全般を担当しました。ハードウェア全般は前作同様 i

    Maker Faire Tokyo 2015 にレゴ x ハードウェア x プロジェクションなシューティングゲーム LITTAI を出展してきた - 凹みTips
    nikutaiha
    nikutaiha 2015/08/07
    hecomi,maker faire
  • 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
    nikutaiha
    nikutaiha 2014/10/03
    leapmotion,oculus,vr
  • Unity でシェーダを使って 20,000 人が音楽に合わせてサイリウム振ってる様子を作ってみた - 凹みTips

    はじめに 以前、Unity のシェーダのエントリ(Unity のシェーダの基礎を勉強してみたのでやる気出してまとめてみた - 凹みTips)を書いた際に @yuujii さんからこんなご提案を頂きました! @hecomi 武道館とかで使えるような、会場全体で観客がサイリウム振っているようなやつの作成をお願いします。VJ Kitと合わせて音の強弱で動的に動かす感じで— ゆーじ (@yuujii) 2014年3月17日 面白そうなのでやってみました。 デモ 低音域・中音域・高音域を青・緑・赤にマッピングして、ボリュームに合わせて振り幅が変わり、音が大きくなると横振りから縦振りに変わります。サイリウムはシェーダで動いているので 20,000 人出してもかなり軽いです。音からテンポを検出するのは難しそうなのでやっていません。。 Unity Web Player | ShaderCyalume 音楽

    Unity でシェーダを使って 20,000 人が音楽に合わせてサイリウム振ってる様子を作ってみた - 凹みTips
    nikutaiha
    nikutaiha 2014/04/20
    あとで
  • Unity から Node.js を起動時に裏で実行・通信して諸々の処理を肩代わりしてもらう方法考えてみた - 凹みTips

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

    Unity から Node.js を起動時に裏で実行・通信して諸々の処理を肩代わりしてもらう方法考えてみた - 凹みTips
    nikutaiha
    nikutaiha 2014/04/20
    あとで
  • Unity のシェーダの基礎を勉強してみたのでやる気出してまとめてみた - 凹みTips

    はじめに 近年の GPU の進化に伴い 3D 周りの表現力がとても豊かになりました。そしてこの多彩な表現を可能としているのはシェーダによるところが大きく、シェーダを理解して書くことが出来ると、表現できることの幅がとても広がります。 Unity では素晴らしいことにシェーダを強力にサポートしていて、多様なデフォルトのシェーダに加え、カスタムシェーダを簡単に作るための土台が用意されています。しかしながら、パッとリファレンスや色々なサイトを見ただけでは、何がどうなっていて何をどうすれば良いのかなかなか分からないところがあります。 そこで、これから始める人の参考になればと思い、勉強しながら理解したことをまとめておこうと思います。調べながら書いているので、間違いなども多々あると思いますが、見つけた際はコメントや Twitter などでご指摘いただけると嬉しいです。 シェーダで色々出来る例 Unity

    Unity のシェーダの基礎を勉強してみたのでやる気出してまとめてみた - 凹みTips
    nikutaiha
    nikutaiha 2014/03/17
    あとで,unity,shader
  • Hyperlapse で環状八号線を南下する動画を Google ストリートビューからつくってみた - 凹みTips

    はじめに Googleストリートビュー上を移動するムービーを制作してくれる「Hyperlapse」 - GIGAZINE Hyperlapse は Google ストリートビューから取得した画像を用いてタイムラプス動画を作ってくれます。 コードは github に公開されており、覗いてみると分かる通り JS で記述されています。 Hyperlapse.js/examples at master · TeehanLax/Hyperlapse.js · GitHub 同作者の 3D ストリートビュービューワ GSVPano.js を用いて作られた WebGL ベースのアプリで、ヌルサクで動きます。 今回はこれを使って環八を走ってみる動画を作ってみました。 出来た動画 ブラウザ上で動かしたものをキャプりました。 大体 30 秒くらいで環八を北から南へ走り抜け…てるはずです、多分。 解説 exam

    Hyperlapse で環状八号線を南下する動画を Google ストリートビューからつくってみた - 凹みTips
    nikutaiha
    nikutaiha 2014/01/19
    hyperlapse
  • Unity でリアルタイムにリップシンクする MMD4Mecanim LipSync Plugin を作ってみた - 凹みTips

    はじめに 前回(Oculus Rift をかぶって VR の世界でおしゃべりしてきた - 凹みTips)、MMD4Mecanim を適用したモデル上でリップシンクを行うプラグインの紹介をしました。エントリでは、前回省略してしまった利用方法や仕組みの解説をしていきたいと思います。 デモ 歌をリップシンクさせたデモになります。曲は、しましまPさんの「LIFE -きみそらいのち-」を利用させて頂いています。 LIFE -きみそらいのち- 【初音ミク/しましまP】 - ニコニコ動画 LIFE -きみそらいのち- ボーカル配布(初音ミク) - ニコニ・コモンズ LIFE -きみそらいのち- (off vocal) - ニコニ・コモンズ 前回の会話をしてみたデモは以下になります。 できること 主に出来ることは以下の 3 種類になります。 オーディオファイルに合わせてリップシンク 文字列を発話しながら

    Unity でリアルタイムにリップシンクする MMD4Mecanim LipSync Plugin を作ってみた - 凹みTips
    nikutaiha
    nikutaiha 2014/01/01
    unity,リップシンク
  • Oculus Rift をかぶって VR の世界でおしゃべりしてきた - 凹みTips

    はじめに エントリは Oculus Rift Advent Calendar 2013の第1日目の記事になります。いよいよ始まりました!通常の Advent Calendar 同様 25 日だと少ない気がしたので 31 日に枠を拡大しましたが、無事開催前に満員御礼となりました。皆様、これから 1 ヶ月間よろしくお願いいたします! 概要 現在、「VR の世界のキャラクターと会話をする」ということを実現しようと色々と試みています。その経緯等については以前の記事(フォルマントから母音推定してリップシンクを目指してみる - 凹みTips)で大方語ってしまったので、そちらに譲るとしますが、ここで述べていたようなことを実現するために、MMD4Mecanim を適用したモデルにアタッチすることで以下の機能を実現するプラグインを作成しました: WAVE データの音声に同期したリップシンク 入力した日

    Oculus Rift をかぶって VR の世界でおしゃべりしてきた - 凹みTips
    nikutaiha
    nikutaiha 2013/12/02
    vr,chrome speech api,oculus rift,unity
  • Web Speech API で遊んでみた - 凹みTips

    はじめに “Web Speech API”をサポートした「Google Chrome 25」のベータ版が公開 - 窓の杜 2013/01/14 公開の Google Chrome v25.0.1364.29 beta-m から Web Speech API が実装されました。これで JavaScript から音声認識が出来ると言うわけで、ユーザビリティ改善やゲームへの応用など夢が広がりますね。 簡単に調べてみましたので備忘録的にメモしました。 作業/動作環境 Chrome Release Channels - The Chromium Projects 上記サイトより beta 版、もしくは dev 版をインストールします。私は以下のものを使用しています。 Chrome 26.0.1386.0 dev デモ 雰囲気を掴んでもらうためにデモを用意しました。ミクさんがディクテーションした結果を

    Web Speech API で遊んでみた - 凹みTips
    nikutaiha
    nikutaiha 2013/11/11
    webspeechapi,あとで試す
  • Maker Faire Tokyo 2013 でレゴへのプロジェクションマッピングネタで出展してきた - 凹みTips

    はじめに 11/3、4 で開催されていた Maker Faire Tokyo 2013 に、id:jonki と 凸P(Mont Blanc Pj.)というネタで出展してきました。レゴで作ったステージにゲーム画面をプロジェクションマッピングし、レゴを動かすとゲーム内のブロックも動的に変更されたり、そのゲーム内の物体とハードウェアが連動したりする、というネタです。ものづくり系のイベントに出展するのは今回が初めてで完成が直前になってしまいましたが、何とか形にすることが出来ました。そして2日間大きな問題も起こることなく多くの方に体験していただくことが出来て、とても楽しい時間を過ごすことが出来ました。 出展中は時間の都合上ざっくりとしか説明出来なかったのですが、私は主にソフト面を担当したので、その詳細な仕組みやコードをエントリで紹介させていただければと思います。 概要 展示で再生していた紹介動画

    Maker Faire Tokyo 2013 でレゴへのプロジェクションマッピングネタで出展してきた - 凹みTips
    nikutaiha
    nikutaiha 2013/11/08
    レゴ,プロジェクションマッピング,赤外線,
  • Boost.勉強会 #11 東京で発表してきた - 凹みTips

    はじめに 日、神保町の IIJ さんの社で行われた Boost.勉強会 #11 東京にて「Hello, C++ + JavaScript World!」というタイトルで発表して来ました。 ちなみに Boost.勉強会ですが、発表には Boost 成分は1ミリも含まれていないです。。 発表内容 当日の TL: Boost.勉強会 #11 (6ページ目) - Togetter 内容は C++JavaScript が関係してる技術群について、それぞれ Hello world に毛が生えた程度の内容を紹介して、C++ と JS が関連している世界観を紹介する、みたいな感じです。具体的には V8、Node.js の C++ モジュール、Qt Quick の C++ バインディング、Native Client、Emscripten を取り上げて紹介しました。過去のエントリの寄せ集めみたいな

    Boost.勉強会 #11 東京で発表してきた - 凹みTips
    nikutaiha
    nikutaiha 2013/07/30
    node.js,C++
  • PhantomJS でログインが必要なページでも自由自在にスクレイピング - 凹みTips

    はじめに PhantomJS - Scriptable Headless Browser PhantomJS はヘッドレスな(ブラウザ画面のない)QtWebKit ベースのブラウザで、JavaScriptAPI を通じて、そのブラウザを自由自在にあやつることが出来ます。使用シーンとしては、Jenkins などの CI ツールとの組み合わせによる Web ページの GUI の自動テストや、Web ページのスクリーンキャプチャ、スクレイピングなどが挙げられます。 今回は、ログインが必要なページの情報をパースして自分専用に RSS 化したいなと思い、3つ目のスクレイピング用途をベースに調べてみました。その内容を備忘録として残しておきます。 出来るようになること ログインが必要なページの HTML を取ってくる ログインが必要なページのスクリーンキャプチャを撮る PhantomJS の導入

    nikutaiha
    nikutaiha 2013/07/23
    あとで
  • Node.js で簡単に音声認識できるモジュールを作ってみた #nodefest - 凹みTips

    はじめに この記事は東京Node学園祭2012 アドベントカレンダーの 23 日目の記事です。 現在、オープンソースの大語彙連続音声認識エンジン Julius を利用して音声による家電操作を行なっているのですが、どんな言葉を認識させるかの文法をゴリゴリ書いたり、コールバックの処理を C++ でゴリゴリ書くのが大変だったので、これらを簡単に実現してくれる Node.js のモジュールをつくってみました。 WEB 関連の話題で扱われることの多い Node.js ですが、C++ でネイティブモジュールを作成することによる Node.js の可能性を感じてもらえれば、と思います。 出来るようになること 以下のように音声認識させる言葉を登録、その文言を Julius が解釈できる形式にコンパイルして、Julius インスタンスを生成、スタートするだけで音声認識が可能になります。 var Julius

    Node.js で簡単に音声認識できるモジュールを作ってみた #nodefest - 凹みTips
    nikutaiha
    nikutaiha 2012/11/10
    node,音声認識
  • 1