凹みTips

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

JavaScript

uLipSync x WebGL における再生方法の制限について

はじめに 先日、uLipSync の WebGL ビルドでランタイム生成した際、音声は再生されるもののリップシンクしない、という報告を受けて調査をしてみました。 tips.hecomi.com 原因解説 原因としては AudioSource.PlayOneShot() の利用でした。こちらを詳しく解…

Unity の WebGL ビルドでマイク入力を扱えるライブラリを作ってみた

はじめに Unity には Microphone というクラスがあり、これを通じてマイクの情報や入力を取得できます。しかしながら Microphone は WebGL では利用することが出来ません。 docs.unity3d.com Unity では FMOD をオーディオ周りとして利用しているようで、基…

uLipSync の WebGL 対応をしてみた

はじめに 前回調査記事を書きました。 tips.hecomi.com 今回は続きで、調査を元に実際に WebGL のサポートを行いました(マイクサポートのみまた後日)。実装しながら気づいたことや、問題に対してどのように対応したかなどについてまとめましたのでご紹介し…

キューブ型ロボットの toio を制御できる toio.js を触ってみた

はじめに toio はソニーから発売されているキューブ型のロボットです。配布されている様々なキットと合わせて遊ぶことで、子供でも実際にものを触りながらゲームを遊んだり動く工作をしたりといったことが簡単に楽しく遊べるおもちゃです。 発売日に私も買っ…

ネットとつながる LED 時計の LaMetric を手に入れたので遊んでみた

はじめに Kickstarter で Back していた LaMetric が先月届きました。 https://www.kickstarter.com/projects/smartatoms/lametric-customizable-smart-ticker-for-life-and-bu Connected clock for a Smart Home | LaMetric TIME LaMetric は 2014/7 より K…

Unity WebGL x WebSocket で複数クライアント間の大量のオブジェクトを簡単に同期できる仕組みを作ってみた

はじめに まだ実験中なのですが、Unity WebGL x WebSocket で大量のクライアント間で大量のオブジェクトを同期できる仕組みを作っています。UNET や Photon によって近いうちに対応されると思うのですが、現状では使えないのと、制限なく扱えたりチューニン…

Unity 5 の WebGL で WebSocket を利用した通信をする方法について調べてみた

はじめに Unity の WebGL では現状ではネットワーク機能に制約がありますが、WebSocket は使えるようです。 (English) On the future of Web publishing in Unity – Unity Blog 以前の記事では外側の JavaScript で Socket.IO を通じて通信した内容を用いま…

Unity 5 の WebGL で外部からテクスチャを与える方法について調べてみた

はじめに Unity 5 の WebGL 出力で、外部(自分で書いた JavaScript のコード)からテクスチャを与えたいと思い、色々調べてみましたので情報を共有したいと思います。通常の画像をテクスチャとして指定する方法と、base64 エンコードした画像をテクスチャと…

Unity 5 x WebGL について詳しく調べてみた

はじめに 本エントリは Unity Advent Calendar 2014 8日目の記事になります。 Unity 5 からは Build ターゲットに WebGL が追加されます。Unity 5 プリオーダ向けベータ版で現在試すことが出来ます。 Unity 2020.2b - Unity 今年の 3/18 に行われた GDC2014 …

JavaScript(Node.js)で色々なハードウェアモジュールが動くマイコンボード Tessel を手に入れたので詳しく調べてみた

はじめに 今日、昨年夏に Back していた Tessel が届きました。 Tessel 2 次世代マイコン「Tessel」はJavaScriptとNode.jsをサポートしWi-Fiからアップデート可能 - GIGAZINE Tessel は、Node.js ベースの JavaScript 環境を利用してハードウェア制御可能な…

JavaScript で Pebble アプリを開発できる Simply.js をオンライン IDE の CloudPebble 上で試してみた

はじめに スマートウォッチの Pebble は Simply.js を利用することで JavaScript のみの開発が可能です。 Simply.js ひとりぶろぐ » 2.0で面白くなったスマートウォッチPebbleを、JavaScriptゴリゴリでネット監視装置として使う また、Pebble は開発環境とし…

Unity から Node.js を裏でこっそり立ち上げてアレコレ出来るアセットをつくってみた

はじめに 先日書いたエントリ(Unity から Node.js を起動時に裏で実行・通信して諸々の処理を肩代わりしてもらう方法考えてみた - 凹みTips)のネタをだれでも使えるようにアセットにしました。起動時に Node.js を裏で実行して面倒なネットワーク周りの処…

Unity から Node.js を起動時に裏で実行・通信して諸々の処理を肩代わりしてもらう方法考えてみた

はじめに Unity の C# の世界で完結して色々と実行してくれるのはライブラリの利用者側から見るととても楽ですが、プロトタイプをそれで作ろうとすると結構大変です。そこで、Processing なり oF なり自分の慣れ親しんだ環境で作成したものを別途動かし、そ…

Netatmo ウェザーステーションを買ってみたので Node.js でいじってみた

はじめに Netatmo という商品はご存知でしょうか?【日本正規代理店品・保証付】Netatmo ウェザーステーション NET-OT-000001出版社/メーカー: Netatmo発売日: 2013/10/10メディア: エレクトロニクスこの商品を含むブログ (1件) を見る 【レビュー】台風の接…

WebRTC でスクリーンキャプチャ(動画)をしてみた

はじめに WebRTC ではカメラからの映像だけでなくスクリーンキャプチャも可能です。イメージとしては Google Hangouts の画面共有のような形です。余り解説を見かけなかったので調べてみましたので紹介します。 デモ https://html5-demos.appspot.com/static…

Pebble SDK 2.0 Beta の JavaScript framework で Hello World してみた

はじめに 11 月末に $20 ディスカウントセールをやっていたので Pebble を買ってしまいました。Pebble は Kickstarter 発のスマートウォッチで、スマホと Bluetooth で連携してアプリが動いたり通知を垂れ流したりしてくれます(ただし日本語は現状は文字化…

結婚式二次会用に Node.js x ブラウザでタイピング対決アプリを作ってみた

はじめに 先月、友人の結婚式の二次会でタイピング対決をしたいとの企画を、幹事の友人から受けました。面白かった要件としては、 二人の顔を 2 台のカメラで映したい タイピングしてる様子をリアルタイムで見たい というものです。これをサーバは Node.js …

Qt Quick Local Storage で設定をお手軽に保存する

はじめに Qt Quick では Local Storage という SQLite ベースの DB を利用して設定の保存が可能です。 Qt Quick Local Storage QML Types | QtQuick 5.1 | Documentation | Qt Project ただ生で SQL を扱うのは面倒なので key-value ベースでデータを保存し…

Windows でも Node.js C/C++ アドオンを作ってみる

はじめに Linux や Mac で動かしている方が多いと思いますが、Windows でも Node.js を動かすことが出来ます。手順はとても簡単で、インストーラを実行するだけです。 Node.js 日本ユーザグループ 他の PF と比較すると数は減りますが、コンパイルが必要な s…

QML で表示した WebView をシェーダでいじって遊んでみた

はじめに QML では ShaderEffect という要素を利用して、表示している要素をソースにシェーダでいじることが出来ます。 http://qt-project.org/doc/qt-5.0/qtquick/qml-qtquick2-shadereffect.html そこで WebView で表示した Web ページをソースに色々と遊…

Canvas を使ってみんなもお手軽に弾幕作ろうぜ!! - 其の伍 -

はじめに 1年間更新していなかったのですが、先日コメントを頂きまして再開しました。ゲーム用 JS ライブラリを使わずに弾幕シューティング作ってみる企画です。今回が最終回で、弾幕シューティングゲーム一番の醍醐味の弾幕を作ってみる回です。 第1回 〜 …

QML の WebView 内の JavaScript と外の JavaScript でやり取りをする

はじめに QML の WebView 内をゴニョゴニョしたいなと思って調べると、evaluateJavaScript すれば出来るよ!と書いてあったのですが、どうやら Qt Quick 2.0 の QtWebKit 3.0 からは API が変わったようです。 How to call JavaScript methods from HTML con…

Boost.勉強会 #11 東京 での質問への回答

はじめに Boost.勉強会 #11 東京での発表内容(Boost.勉強会 #11 東京で発表してきた - 凹みTips)で頂きましたご質問について、簡単にですが調査しましたのでまとめます。 質問の返答 Emscripten の行数が 12万行になった理由 結論としては「iostream の中…

Boost.勉強会 #11 東京で発表してきた

はじめに 本日、神保町の IIJ さんの本社で行われた Boost.勉強会 #11 東京にて「Hello, C++ + JavaScript World!」というタイトルで発表して来ました。 ちなみに Boost.勉強会ですが、本発表には Boost 成分は1ミリも含まれていないです。。 発表内容 当日…

Qt Quick での C++ × QML バインディングについてまとめてみた

はじめに QML で特定のフォルダ内に含まれる画像をスライドショーする処理を書いてみた - 凹みTips でもチラッと書きましたが、もう少し詳細に Qt Quick での C++ バインディングについて調べてみたのでまとめてみました。 Qt 始めたてなので幾つか間違い含…

QML で特定のフォルダ内に含まれる画像をスライドショーする処理を書いてみた

はじめに QML は JavaScript ベースなので、ファイルを扱うことができません(XHR とかは出来ます)。なので、特定のディレクトリに含まれる画像をスライドショーしたいなぁ、と思っても、画像パスのリストを JS から取得することが出来ず、ファイル名を JS …

Hyperlapse で環状八号線を南下する動画を Google ストリートビューからつくってみた

はじめに Googleストリートビュー上を移動するムービーを制作してくれる「Hyperlapse」 - GIGAZINE Hyperlapse は Google ストリートビューから取得した画像を用いてタイムラプス動画を作ってくれます。コードは github に公開されており、覗いてみると分か…

Emscripten で C++ の Hello World を JavaScript に変換してみた

はじめに Emscripten は今流行りのコンパイラ基盤 LLVM を利用して C/C++ のコード(正確には LLVM-IR)を JavaScript に変換してくれるコンパイラです。フロントエンドである Clang を利用して C/C++ のコードを LLVM-IR という中間言語へ変換、Emscripten …

1文字足すだけで Twitter API 1.1 対応する

はじめに みなさん、API 1.1 対応していますか?私はまだです。 今回は、既存の node-twitter(jdub/node-twitter · GitHub)を使用している人向けに、1文字足すと API 1.1 対応できるよ!というモジュール、mtwitter を紹介したいと思います。 passcod/mtwi…

SimSimi API x Web Speech API x OpenJTalk x mmd.gl.enchant.js でブラウザ上で音声対話できるヤツ作った

はじめに SimSimi とは巷で噂の凄いチャットロボットです。 参考: simsimiってアプリが凄すぎてワロタwwwwww : 無題のドキュメント 例 で、この SimSimi さんですが、API を公開しています。 SimSimi API 無料では使用制限があるようで 1ヶ月しか使え…