6月 24, 2014
Backgroundで動くEditorScript

これベンリ!

10:25pm  |   URL: http://tmblr.co/Zl-9Py1Jbson0
  
登録カテゴリ:: unity3d 
6月 1, 2014
Unityでお絵かき(Shader版)

image

ドラッグすると、描けます!以前に3DMeshで描くタイプのも作りました。

ぐぐってみたところ、ほかにUnityでお絵かきツールを作ったものを見つけました。ぱっと見たカンジ、Texture2Dを使ってCPUで色を塗る処理をしているみたいでした。

ぼくは、RenderTextureにMaterialをBlitしていく方法で作ってみました。
(1年くらい前に、同僚のLeeさんがやってて、こんど試そう!というまま、時が過ぎました)

動的なテクスチャを作るのに、結構、応用効くんじゃないかな。

(RenderTextureを使っているので、Proのみな気がします!自分のMacbook Airでしか動作確認していないです!)

3:04am  |   URL: http://tmblr.co/Zl-9Py1HQ6xDL
  
登録カテゴリ:: unity3d 
3月 5, 2014
SquareEffect

なおした

image

3:24am  |   URL: http://tmblr.co/Zl-9Py19AjYhW
登録カテゴリ:: Unity3D 
12月 17, 2013
Get Random Points on Mesh

image

メッシュ上の点をとる

10:41am  |   URL: http://tmblr.co/Zl-9Py11Q_DWK
登録カテゴリ:: unity scripting 
12月 2, 2013
1,000,000 Particles in Unity (on Macbook Air 2013)

100万個、パーティクルを出したい事って、良くあると思うのですが、UnityのParticleSystemを使ってやろうとすると、どうしても、処理が重すぎて使い物になりません。。

UnityのParticleSystemは、パーティクルの更新をマルチスレッドでやってくれるので、それなりに高速なのです!なので、動くモノを大量に出したい時は良く使ったりしています。

http://sugi.cc/post/64851479394

ですが、ParticleSystemで100万個パーティクルを出そうとすると、

image

このように、FPSが1.2まで落ちてしまいます。

EmissionRate 10,000(個/秒)* LifeTime 100(秒) = 1,000,000(個)で、パーティクルを100万個出そうとしているのですが、Statusの情報を見るとVerts = 3.0Mなので、この画像では、75万パーティクルしか出ていません。(パーティクル1個につき4Verts)100万パーティクルになる前に重すぎて諦めました。。

そこで、ぼくが作った、VertexParticleSystemなのですが、簡単に言うと、QuadのMeshがたくさん入ったMeshをつくり、VertexShaderでParticleみたいな動きを付け、大量のパーティクルを制御する。という、ヤツです。

image

■ParticleSystemでやろうとしたときのProfiler

image

ParticleSystem.WaitForUpdateThreadsがほとんどを占めています。つまり、メインスレッドは、ParticleSystemのスレッドを待っているだけで、何もしていません。かわいそう。

■VertexParticleSystemで100万個パーティクルを出してるときのProfiler

image

CPUでの処理がほとんど無くなりました!レンダリングだけです。

このシステムを使ういい点は、

  • たくさんのパーティクルを制御出来る。
  • ParticleSystemでは出来ないような動きを付けれる。
  • メインスレッドの待ちが無くなる。

また、よくない点としては、

  • Collision等の処理が作りにくい。
  • Shaderの処理数の制限がある。(instruction limitとか)
  • 動き毎にすべて、Shaderで作る必要がある。
  • GPUパワーが必要。(だけど、ParticleSystemでやるときもレンダリングはするから、いっしょかも。)

Source Code: https://gist.github.com/sugi-cho/7744818

また、RenderTextureに各Particleの位置情報や速度情報等を格納し、Graphics.Blit(rt,rt2,mat)で、パーティクルの位置情報を計算していく。という、方法もあります。

これは、マウスの位置にパーティクルが寄って来たり、クリックしているときは離れて行ったり、するように、作っています。

ParticleSystem便利で良く使うけど、ホンキでたくさんモノを出したい時は、Shaderでやった方が、良い!

11月 28, 2013
WebCam Squares

image

シーンにカメラしか置いてないので、Unityを使う意味、全然無いんですが。。

image

(フルスクリーンにすると4:3で見れます。たぶん)

1:14am  |   URL: http://tmblr.co/Zl-9Py-b9ytN
登録カテゴリ:: Unity3D Shader 
11月 27, 2013
Generate CheckerBoard with Shader

アンチエイリアスは、あとでかけてる。

11月 15, 2013
よく使うCginc

Shaderを書くときに、Libsディレクトリに入れているCginc。

SimplexNoiseとかよく使う。

https://gist.github.com/sugi-cho/6076993

11:16pm  |   URL: http://tmblr.co/Zl-9Py_Swu15
登録カテゴリ:: Unity3D Shader 
11月 15, 2013
3456羽の鳥 in Unity

Unity内で鳥の群れを飛ばすテスト。

3456羽の鳥がUnityEditor内で70FPS以上で飛んでいる。

動作の軽量化のためにボーンのアニメーションによる頂点の変形情報をテクスチャに書き込み、Vertex Shaderでメッシュの変形を行っている。

また、Static Batchingでも完全にはドローコールバッチングできないので、65000頂点ずつmesh.CombineMesh()でひとまとめにし、自前でドローコールバッチングをし、ドローコールを11に抑えている。

(Static Batchingだとドローコール250前後、Dynamicだと500前後になった。)

12:21am  |   URL: http://tmblr.co/Zl-9Py_NetuE
  
登録カテゴリ:: Unity3D 
11月 5, 2013
エンタメ技術部とは(。・ˇ_ˇ・。)?

html5j エンタメ技術部 第0回勉強会のための、発表資料です。

http://atnd.org/events/44788/

自己紹介

杉野 裕則

すぎの ひろのり

  • Interaction Engineer
  • Computational Graphics Specialist
  • teamLab★

すぎの ひろのり

チームラボという会社でインスタレーションやでデジタルサイネージを作ったりしている、にんげん

Interactive Team チームリーダー

html5j エンタメ技術部の勉強会に@tksさんに紹介して頂きました。

ありがとうございます!!

つくったもの

teamLab Body

医療系 iPad アプリ

image

つくったもの

Play with Onitsuka Tiger by teamLab

デジタルサイネージ Xtion

image

つくったもの

ウルトラピュアソフトウォーター TVCM

TVCM +プロジェクションマッピング

image

ウルトラピュアソフトウォーター 動画

モーションセンサ、カメラトラッキング、リアルタイムプロジェクションマッピング

Unity3D

Unityという、ゲームエンジンで作っています。

  • ゲームを作るソフト
  • MonoベースなのでC#でいろいろできる
  • すぐ、グラフィックが見れるので調整しやすい。
  • http://unity3d.com/
image

なによりも、見た目が、重要。

技術勉強会なのですが、技術も大事ですが、やっぱ、見た目が大事なんじゃないでしょうか??という、はなし。

先日、プロジェクションマッピングをしました。。

佐賀城にプロジェクションマッピングをしました。3日間で、来場者1万人!

  • 前半はインタラクティブプロジェクションマッピング
  • トランポリンで跳ぶと、大砲が撃てる。(Arduino)
  • 子どもには、結構人気があった。
  • 佐賀の歴史が学べる!
image
  • 後半は、アート作品をプロジェクション
  • インタラクティブより話題になってた。
  • 見た目が良いモノの方が、良い。
image

普通に見る人は、プロジェクターがムービングプロジェクタで人の位置をセンシングして、人の位置に合わせてプロジェクションしてるかどうか?

なんて、気にしない。絵が美しいかどうかだけ。

ちょっとがんばって、すこし見た目を良くすると、もっと注目されるコンテンツになるかも。

だから、デザイナーの人やクリエイターの人とかに、もっと参加して、もらいたい!

良いものがいっぱい、できそう。

あと、これからのデザインは、プログラミングが絶対に重要だから、エンジニア、プログラマーもがんばる。

コラボレーションしていきましょう!

まだ かみさまが いたるところにいたころの ものがたり

html5jの勉強会にお呼びいただき、ありがとうございます。

もう、最近はほとんど、Webはやってないのですが、エンタメ技術部ということで、お話の機会をいただきました。

こう、いままでやった案件をまとめてみると、結構エンタメ技術を使ってたんだなーっていう、印象を持ちました。

使ったデバイスについてお話ししても良かったし、常に最先端を目指しているので、いろんなデバイスを使っています!

が、最終的にはコンテンツのクオリティが非常に重要になってくる。ということに、案件をいくつかやって来て気づいたので、お話ししました。

みんなでエンタメしましょう!

12:15am  |   URL: http://tmblr.co/Zl-9PyzTqReG
登録カテゴリ:: 勉強会 発表資料 Unity3D 
Tumblrでのスキな投稿: スキな投稿をもっと見る »