Category: Unity

Unity:WebGLでビルドするとHTMLのInputでキーボード入力ができない問題

Unity で WebGL を出力するとブラウザで実行可能な出力が可能になります。上記のWebGL は HTML5 の Canvas 要素で実装されているのですが、このHTML内に以下のようなテキスト入力欄を同時に表示すると、ここの入力ができなくなる問題があるようです。

Unity:Compute Shader と Geometry Shader で60fps/100万個のキューブを描画!

Compute Shaderの勉強中なので、簡単なサンプルとしてキューブを100万個動かしてみました。主にPositionを再計算する処理をCompute Shader で実装しております。比較用としてスクリプト(CPU)でのPositionを再計算する処理とのパフォーマンスの違いも見ます。

Unity:1万個のキューブ/Cube/立方体を頂点移動だけで動かす

1万個のキューブを移動する場合、プリミティブ型のキューブオブジェクトを1万個素直に配置して、transform.position を移動する方法、shader で描画する方法(過去に作りました)、1メッシュに結合してメッシュの頂点を移動する方法など様々あります。今回は1メッシュに結合して頂点情報を書き換える事により描画を行ってみました。
Shader で描画する方法は高速なのですが、WebGLでは Geometry Shaderが使えなかったため、本手法で検証してみました。

Unity:byte配列からjpg/pngをテクスチャ(Texture)に変換

Unity で テクスチャ(Texture) を動的に生成する方法はいくつかあります。Resourceに画像を保存して Resources.Load する方法や、Assetsに画像を保存しておきインスペクターで性的に設定する方法など。今回は byte配列 をテクスチャ(Texture) にする方法を紹介します。

NVIDIA FleX for Unity のサンプルを見る

NVIDIA FleX for Unity (1.0 BETA) を使うと簡単に水流・水しぶきなどの表現ができるので、物理演算などの表現力を確認するため本アセットに含まれているサンプルを全部実行して確認してみました。

Unity:GPU インスタンシング(Instancing) を WebGL で実行する

Unityの高速化の一般的な手法、GPU インスタンシングを使ってパフォーマンスを改善するようなデモを作成したので動作してみてください。

また、WebGLで出力した場合も有効かどうか確認し有効でしたので合わせてデモページもありますので各自の環境で試してみてください。

Unity であらゆる C#(.NET) パッケージを使う(例:opencv)

はじめに

Microsoft がサポートする .NET のパッケージ管理である NuGet はみなさんご存知だと思いますが本パッケージマネージャーを Unity で使う方法があります。

もちろん Unity は Mono で動作していますが、.NET2.0用のライブラリが存在していればほぼそのまま使えます。

NuGetForUnity

.unitypackage をダウンロードします。

https://github.com/GlitchEnzo/NuGetForUnity/rele…