サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
keijiro.github.io
Unity のパーティクルエフェクトをスクリプトから制御する方法について実験したもの。 Unity のパーティクルエフェクトシステムでは、スクリプトから個々のパーティクルへアクセスする手段として GetParticles/SetParticles が用意されている。提供されているプロパティはそれほど多くないものの、直接アクセスすることで標準機能では不可能な動きを作り出すことができる。 上の映像では、特定のオブジェクトに吸い寄せられるような動きと、そこから反発するような動きを試してみている。ソースコードは次のような感じ。 ExternalControl.cs C# から逐次処理を行っているため、それなりの負荷が発生することは避けられない。ただ、個々のパーティクルを GameObject として実装する方法と比較すれば、負荷は遥かに低くて済む。見た目の数を稼ぎたいときには有効な方法だと思う。
Unity から連番ビットマップを出力して Final Cut で動画にするまでのワークフローを整理した。上の映像はそのテスト。このプロジェクトは実機でもリアルタイムに動作するけれど、動画を出力しながらの実行では流石に処理落ちする。このような処理落ちを回避したい場合に、このテクニックは便利だ。 Unity からの出力 Unity の画面をキャプチャーするには Application.CaptureScreenshot を使う。ただし、この関数を使って毎フレームキャプチャーを行うと、当然処理落ちする。処理落ちをそのままにキャプチャーを続けるとフレームの欠落が生じてしまう。 このようなフレームの欠落を防ぐには Time.captureFramerate が使える。これにフレームレートを設定すると、Unity は実時間の進行を無視して、固定の deltaTime で進行するようになる。 これらの
November 6, 2013 Unity-MIDI 連携の最終形として、無料の Unity Basic でも使える Unity MIDI ブリッジを作成した。 ライブラリはこちら。 github.com/keijiro/unity-midi-bridge この中にあるブリッジソフトウェア (midi-bridge-osx.zip) を起動しておくことによって、Unity から MIDI デバイスへのアクセスが可能になる、という仕組み。 MIDI Input のように MIDI デバイスからの入力が可能になるのはもちろん、今回は MIDI デバイスへの出力にも対応している。 ブリッジソフトウェアのソースコードはこちら。 github.com/keijiro/midi-bridge-osx 今後の課題は以下の通り。 Windows 版ブリッジソフトウェアの作成 ドキュメントの整備 Unit
ビジュアライザ向けオーディオスペクトル分析 (Unity, C#) October 16, 2013 github.com/keijiro/unity-audio-spectrum Unity でオーディオスペクトルを分析するための簡単なライブラリを作成した。この手のライブラリは以前にも作ったことがあったけれど、それはあまりビジュアライザに適したものではなかった。今回の実装は、より一般的なオーディオビジュアライザの挙動に沿ったものとなっている。 作成にあたって、主にこの辺りの資料を参考にした。 blog.leeburrows.com/2011/01/creating-an-audio-visualiser apmr.matelys.com/Standards/OctaveBands.html このライブラリは前の VJ システムの実験で実際に使用している。自分で使ってみた感想は以下の通り。
今までに作り貯めた部品を使って VJ 的なことを行うシステムを試験的に作ってみた。それほどジェネラティブな要素を前面に押し出しているわけではないので、「ジェネラティブな VJ システム」と言い切ってしまっていいものか分からないけれど、ともかく、作り置きの動画素材を使わずに遊べるシステムになっている。 ベースのシステムは Unity を使って構築した。動画では暗くてよく見えないけれど、Akai LPD8 をコントローラーとして接続し、リアルタイムにパラメーターの操作を行っている。オーディオ入力に反応するオブジェクトを基調とすることで音楽へのシンクロ感を生み出しつつ、楽曲の展開に合わせてパラメーターを操作することで楽曲との一体感を生み出している。 使用した部品は、主には以下の通り。 github.com/keijiro/unity-midi-receiver github.com/keijir
October 10, 2013 Oblique projection (斜投影)は平行投影の一種だ。同じく平行投影の一種である Orthographic projection (正投影)と似ているけれど、ちょっと違う。上の図のように、正面は正投影っぽい見た目になりつつ、奥行きは斜めに傾いた軸として表現される。 Orthographic projection でいいじゃん、と思われるかもしれないけれど、2.5D 的な表現を用いたい場合に oblique projection の方が適している場合もある。 例えば、Orthographic projection で上と同じような絵を作ろうとすると、下のようになる。 2D 的な平面感を強調したい場合に、横軸が傾いているのは都合が悪いこともある。だからと言って横軸の傾きをなくすと、奥行きが垂直の線になってしまい、厚みの表現が弱くなってしまう。 平
October 8, 2013 Unity でいわゆる icosphere を動的に生成するためのライブラリを作成した。 Unity に標準で備わっている sphere メッシュは、いわゆる UV sphere というやつで、極付近と赤道付近とで密度に大きな偏りがある。また、分割数の設定も変更できない。これは球体を変形させて使おうという場合には大きな弱点になる。 Icosphere なら密度が均一だからキレイに変形ができるし、分割数を自由に設定できるのも表現の幅になりえる。下のアニメーションのように敢えて荒い分割数でいじくるのも面白い。 このアニメーションは今回の icosphere と Perlin noise の組み合わせで作成した。 この icosphere を生成するライブラリは、将来的に他の形状を生成する機能も含めていくことで、よりライブラリらしいものにまとめていこうと考えている
先週一週間、ちょくちょく隙間の時間を見つけては、Unity を使ったプロジェクションマッピングの実験を行っていた。それなりに成果を得られたので、これをチュートリアルという形で文書にまとめた。 Unity によるプロジェクションマッピング入門 Unity でプロジェクションマッピングを行うのは難しくない、要は実世界と同じシーンを構築して、プロジェクターの位置にカメラを置くだけ。無料版の Unity でも相当に遊べる。プロジェクターもごく普通のもので構わない。 そこから先、何を表現するかによって、難易度は変化していく。錯視的効果を得たければ render texture (Unity Pro の機能)が必要になるし、中規模以上のプロジェクションになればレーザー距離計のような機材も必要になってくる。プロジェクターも光量の大きなものが必要になるかもしれない。 ただ、よほど欲張らない限りは、ごく普通
Unity iOS/Android におけるテクスチャ画質の改善 October 4, 2013 iOS/Android においてテクスチャ圧縮は必須ですが、画質の著しい劣化を招く可能性があり、嫌われる傾向にあります。特に厳しいのはアルファチャンネルを使う場合です。どうしてもこの劣化を受け入れることができず、泣く泣く 32 bit true color を使っているケースも少なくないのではないかと思います。 ただ、多くのケースにおいては、ちょっとした工夫を行うことにより、これらの問題の改善が可能です。その代表的な3つの手法を文書にまとめてみました。 github.com/keijiro/unity-dither4444 16 bit 減色を行う際にディザリングを適用することによって画質の改善を図る。 github.com/keijiro/unity-pvr-cleaner アルファが 0%
Unity を使った生成的なアニメーション表現 September 9, 2013 unity-ropelike-physics (source code) 『ジェネラティブ・アート』を読んで色々と考えるところあって、自分でも生成的な何らかを作ってみようと思い立った。 道具はなんでもいいのだけれど、とりあえずは Unity を使うのが手軽だろう。 Unity を使うという前提のもとで考えた場合、最も手軽に生成的なアプローチができるのは何だろう? そこでまず考えたのは、物理挙動を生成的なアニメーションに用いるというアイデアだった。 物理挙動を使ってアニメーションを作る方法はいくつかある。単純な加速や衝突を用いるのは最もシンプルな方法だけれど、若干味気ない動きに落ち着くきらいがある。複雑かつ有機的な動きを作るには、ジョイントを用いるのが手軽でいい。ジョイントを使って複数の物体間に拘束条件を与え
Unity と OSC, MIDI September 4, 2013 Unity 上で OSC と MIDI を使用するためのいくつかのプラグインを開発しました。 開発の目的 Unity と音楽の同期を実現することが目的です。そのため、これらのプラグインは OSC や MIDI の信号を受信あるいは再生することに特化しています。OSC や MIDI の送信側になることは考慮していません。 プラグイン群 以下のプラグインを開発しました。 unity-osc UDP 経由で送信された OSC を受信するためのプラグイン (C#) keijiro/unity-osc unity-midi-receiver MIDI インタフェースから入力された MIDI 信号を受信するためのプラグイン (native) keijiro/unity-midi-receiver keijiro/unity-mid
このページを最初にブックマークしてみませんか?
『Keijiro Takahashi』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く