描画するメッシュをスクリプトから動的に生成する方法のメモ書きです。 これを行うことで、スクリプトから好きな図形のメッシュを作成できるようになります。 まず、以下の手順を踏んでメッシュを描画するための準備を行います。 1.ゲームオブジェクトを生成する 2.Mesh Filterを1.で作成したゲームオブジェクトにアタッチ...
備忘録( 9 )
Category
UnityでAudioSourceを使って効果音を鳴らすとき、AudioSource自体が破棄されてしまうとこのAudioSourceから鳴っている効果音も同時に止まります。 たとえばオブジェクトが破棄されるときに爆発音を鳴らそうとすると、鳴った瞬間に音が止まってしまうためまったく音が聞こえなくなってしまいます。 また...
昨日に引き続いてC++によるC#のようなDelegateを扱うメモです。 boost.signals2を使えばDelegateクラスをわざわざ実装せずともDelegateのような扱いができることを書きました。 しかし、C#のような任意クラスの任意メソッドを指定することはできませんでした。 結局は関数しか扱えないのか・・...
C#のdelegateをC++で実現できないかと考え、こちらの記事にその方法を書きました。 上記を実現するために、C++でC#っぽく使えるDelegateクラスを実装しました。 しかし、boost.signals2でほぼ同様のことができることを知りました。 以下にそのboost.signals2を用いて書き直したソース...
今回から実際にWebGLを使って何らかのオブジェクトを描画してみたいと思います。 まずは、サンプルを記します。 <!DOCTYPE html> <head> <title>Hello WebGL</title> </head> <body onload=...
今回から早速WebGLを使ったプログラミングについて解説していきたいと思います。 WebGLでは文字をはじめ、2D図形や3Dポリゴンなど様々なグラフィックをブラウザ上で描画できるわけですが、これらはすべてキャンバスと呼ばれる領域に描画されます。 このキャンバスは絵を描くための画用紙のようなものだと考えれば想像しやすいか...
HTML5の登場により、Webブラウザ上で動的なコンピュータグラフィックを描画できるようになったことはとても衝撃的です。 たとえば、以下に記すリンク先のコンテンツは全てWebブラウザ上で動いているものです。 http://www.ro.me/ 上記サイトはデンジャー・マウスとダニエル・ルッピによるCDアルバム「ROME...
UnityのスクリプトをGameObjectに追加すると、publicなフィールドをインスペクタから編集することができます。 以下のような設定項目は基本的にpublicなフィールドに指定する初期値を入力する画面です。 一方、protectedやprivateなメンバはインスペクタから参照することができません。 しかし、...
NGUIでスプライトをスクリプトから動的に変更するときに嵌ったメモです。 NGUIでは、スプライトはUISpriteコンポーネントで管理します。 あらかじめAtlasで作成したスプライトは、UISprite.spriteNameで設定できます。 // スプライトコンポーネント取得 UISprite sprite = t...
Unity上でスプライトを徐々にフェードアウトさせる方法についてのメモ書きです。 これは簡単な爆発エフェクトなどに使えます。 スプライト描画を行うコンポーネントはSpriteRendererであり、この中にColorフィールドがあります。 Colorフィールドはスプライトの絵を貼り付ける下地となる紙のようなもので、この...