狠狠撸

狠狠撸Share a Scribd company logo
LINQ in Unity
@仕事 C# 
@個人活動 http://neue.cc/ @neuecchttps://github.com/neuecc/UniRx
神獄のヴァルハラゲート モンスタハンターロアオブカード 
http://gihyo.jp/dev/serial/01/grani/0001 
http://grani.jp/recruit
using
Windows 
WinForms, WPF 
Mac 
Xamarin.Mac 
Windows Tablet 
Windows Store Application 
WebApplication 
ASP.NET MVC/Web API, OWIN 
Cloud 
Microsoft Azure, AWS 
C# Everywhere 
Game 
Unity, PlayStation Mobile SDK 
Mobile 
Xamarin.iOS 
Xamarin.Android 
Windows Phone 8 SDK 
Embedded 
Windows Embedded 
.NET Micro Framework 
NUI 
Kinect, LeapMotion
Windows 
WinForms, WPF 
Mac 
Xamarin.Mac 
Windows Tablet 
Windows Store Application 
WebApplication 
ASP.NET MVC/WebAPI, OWIN 
Cloud 
Microsoft Azure, AWS 
C# Everywhere -Current 
Game 
Unity, PlayStation Mobile SDK 
Mobile 
Xamarin.iOS 
Xamarin.Android 
Windows Phone 8 SDK 
Embedded 
Windows Embedded 
.NET Micro Framework 
NUI 
Kinect, LeapMotion
Windows 
WinForms, WPF 
Mac 
Xamarin.Mac 
Windows Tablet 
Windows Store Application 
WebApplication 
ASP.NET MVC/WebAPI, OWIN 
Cloud 
Microsoft Azure, AWS 
C# Everywhere-Future 
Game 
Unity, PlayStation Mobile SDK 
Mobile 
Xamarin.iOS 
Xamarin.Android 
Windows Phone 8 SDK 
Embedded 
Windows Embedded 
.NET Micro Framework 
NUI 
Kinect, LeapMotion
サーバーもクライアントもC# 
同一ソリューションファイルに格納 
言語依存を強みに変える 
サーバーサイド(C#/ASP.NET)と 
クライアントサイド(Unity)でデータ共有
Introduction to LINQ
Java/Delphi 
Generics 
LINQ 
dynamic 
async 
2002 C# 1.0 
2005 C# 2.0 
2008 C# 3.0 
2010 C# 4.0 
2012 C# 5.0 
anonymous method 
yield return
Java/Delphi 
Generics 
LINQ 
dynamic 
async 
2002 C# 1.0 
2005 C# 2.0 
2008 C# 3.0 
2010 C# 4.0 
2012 C# 5.0 
anonymous method 
yield return 
C# 4.0以降Unity非対応の壁 
(本当にはよ対応して欲しい)
LINQ...
厂蚕尝みたいなもの?
似てる、半分正しい。 
varquery = fromx insource 
wherex % 2 == 0 
selectx * x;
Language INtegrated Query 
鲍苍颈迟测での実用上の场合は
// クエリ構文 
varquery = fromx insource 
wherex % 2 == 0 
selectx * x; 
// メソッド構文 
varquery = source 
.Where(x => x % 2 == 0) 
.Select(x => x * x);
// クエリ構文 
varquery = fromx insource 
wherex % 2 == 0 
selectx * x; 
// メソッド構文 
varquery = source 
.Where(x => x % 2 == 0) 
.Select(x => x * x); 
メソッド構文のほうが機能が多い(使えるメソッド 数が多い)&ラムダ式に慣れれば書きやすいので、 基本的にはメソッド構文で書くのをお薦めします 
(IntelliSenseでメソッドチェーン楽しい!)
// 列挙してフィルタリングして詰め直す varlist = newList<int>(); foreach(varitem insource) { if(item % 2 == 0) { list.Add(item); } } // 列挙してフィルタリングして詰め直す vararray = source.Where(x => x % 2 == 0).ToArray(); 
(source = IEnumerable<int>) 
?LINQは一行で済む 
?一時変数(List<T>)の宣言が不要 
?配列がカジュアルに使える
フィルタして変形して詰め直しは頻出パターン 
(pythonでのリスト内包表記とかに相当) // 列挙してフィルタリングして詰め直す // + 日付を足したのを加える varlist = newList<DateTime>(); foreach(varitem insource) { if(item % 2 == 0) { list.Add(DateTime.Now.AddDays(item)); } } // 列挙してフィルタリングして詰め直す // + 日付を足したのを加える vararray = source.Where(x => x % 2 == 0) .Select(x => DateTime.Now.AddDays(x)) .ToArray();
Takeの他にSkipとか条件つきの TakeWhile/SkipWhileなどもあるよ // 列挙してフィルタリングして詰め直す // + 日付を足したのを加える // を、4個分だけ取得する varlist = newList<DateTime>(); foreach(varitem insource) { if(item % 2 == 0) { list.Add(DateTime.Now.AddDays(item)); } if(list.Count == 4) break; } // 列挙してフィルタリングして詰め直す // + 日付を足したのを加える // を、4個分だけ取得する vararray = source.Where(x => x % 2 == 0) .Select(x => DateTime.Now.AddDays(x)) .Take(4) .ToArray();
値がかぶった時に別の値で比較する、というの もThenBy/ThenByDescendingでつなげるだけで 出来るのが普通のSortよりも強い // 列挙してフィルタリングして詰め直す // + 日付を足したのを加える // を、4個分だけ取得する // を、降順にソートする varlist = newList<DateTime>(); foreach(varitem insource) { if(item % 2 == 0) { list.Add(DateTime.Now.AddDays(item)); } if(list.Count == 4) break; } list.Sort((x, y) => -x.CompareTo(y)); // 列挙してフィルタリングして詰め直す // + 日付を足したのを加える // を、4個分だけ取得する // を、降順にソートする vararray = source.Where(x => x % 2 == 0) .Select(x => DateTime.Now.AddDays(x)) .Take(4) .OrderByDescending(x => x) .ToArray();
foreachでいい? 
機能が弱ければ弱いほどコードが意図を伝える 
単機能だからこそ、見ただけで何をやっているのか分かる。 それに加えて短く書けるが故に書きやすいし、そのこと自 体が読みやすさにも寄与する
合成可能であるということ 
C#はIntelliSense指向言語 
UnityもVisual Studioで書こう(少な くとも素エディタはやめよう)
In Unity
データソースを見つけよう 
Unityにおいて、例えば?
// Unityで活かせるLINQの底力!! (後編)からの引用 // http://gamesonytablet.blogspot.jp/2013/01/unitylinq_24.html// ターゲットに最も近い順で、5つのタグつきオブジェクトのレンダラのマテリアルを取得する varmaterials = GameObject.FindGameObjectsWithTag("sometag") .Select(r => r.renderer) .Where(r => r != null) .OrderBy(r => (r.transform.position -transform.position).sqrMagnitude) .Take(5) .SelectMany(r => r.materials) .ToList(); 
配列っぽいもの見つけたら、必ず何か使える。 
LINQで考える事が習慣化されれば、LINQ firstで発想は浮かぶ。
データソースを作り出す 
http://neue.cc/2014/11/11_482.html 
https://github.com/neuecc/LINQ-to-GameObject-for-Unity// 子孫方向の全ゲームオブジェクトのうちtagが"foobar"のオブジェクトを破壊 origin.Descendants().Where(x => x.tag == "foobar").Destroy(); // 自分を含む子ノードからBoxCollider2Dを抽出 varcolliders = origin.ChildrenAndSelf().OfComponent<BoxCollider2D>(); // 自分の真下にPrefabをCloneして追加 origin.Add(new[] { prefab, prefab, prefab });
死ぬin iOS 
http://neue.cc/2014/07/01_474.html 
だが使う https://www.assetstore.unity3d.com/jp/#!/content/18131
Deep Dive LINQ
内部挙動気になる人へ 
http://www.slideshare.net/neuecc/an-internal-of-linq-to-objects-29200657 
Topics
IObservable<T> 
IEnumerable<T> 
(LINQ to Objects) 
DataSet 
XML 
IQueryable 
SQL 
Twitter
IEnumerable<T> 
IObservable<T> 
(Reactive Extensions) 
UI 
(ReactiveProperty) 
OAuth 
(ReactiveOAuth) 
IQbservable<T> 
WMI
時間軸を基盤にしたLINQの新しい形 
Pushスタイル、IObservable<T> 
time 
間隔は不定期でも可 
終わりがなくてもいい(無限に続く)
DataSource 
(IEnumerable<T>) 
Action 
値の要求(Pull) 
DataSource 
(IObservable<T>) 
Action 
値の送信(Push)
LINQ to Asynchronous/Events 
http://neue.cc/2014/08/23_476.htmlhttps://github.com/neuecc/UniRxhttp://u3d.as/content/7tT 
Reactive Game Architecture
Binding, ReactiveStateMachine, etchttps://www.assetstore.unity3d.com/jp/#!/content/14381 
メジャーライブラリとなる ことでより安心して使える よう前進
Conclusion
C#使うならLINQ使わなきゃmottainai 
ところで性能は?
LINQ in Unity

More Related Content

What's hot (20)

Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Yoshifumi Kawai
?
Async design with Unity3D
Async design with Unity3DAsync design with Unity3D
Async design with Unity3D
Kouji Hosoda
?
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
?
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみたADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
Narami Kiyokura
?
linq.js - Linq to Objects for JavaScript
linq.js - Linq to Objects for JavaScriptlinq.js - Linq to Objects for JavaScript
linq.js - Linq to Objects for JavaScript
Yoshifumi Kawai
?
Openresty
OpenrestyOpenresty
Openresty
ogawatti
?
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
Yoshifumi Kawai
?
Rx java x retrofit
Rx java x retrofitRx java x retrofit
Rx java x retrofit
Shun Nakahara
?
Cloud TPU Driver API ソースコード解析
Cloud TPU Driver API ソースコード解析Cloud TPU Driver API ソースコード解析
Cloud TPU Driver API ソースコード解析
Mr. Vengineer
?
静的サイトどこにする?
静的サイトどこにする?静的サイトどこにする?
静的サイトどこにする?
ogawatti
?
痴补谤苍颈蝉丑ではじめる贰厂滨
痴补谤苍颈蝉丑ではじめる贰厂滨痴补谤苍颈蝉丑ではじめる贰厂滨
痴补谤苍颈蝉丑ではじめる贰厂滨
Iwana Chan
?
Reactive Extensions v2.0
Reactive Extensions v2.0Reactive Extensions v2.0
Reactive Extensions v2.0
Yoshifumi Kawai
?
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
TensorFlow XLA 「XLAとは、から、最近の利用事例について」TensorFlow XLA 「XLAとは、から、最近の利用事例について」
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
Mr. Vengineer
?
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみようWebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
mganeko
?
Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)
Yuto Takei
?
Em synchrony について
Em synchrony についてEm synchrony について
Em synchrony について
Tomoya Kawanishi
?
Effective modern-c++#9
Effective modern-c++#9Effective modern-c++#9
Effective modern-c++#9
Tatsuki SHIMIZU
?
emc++ chapter32
emc++ chapter32emc++ chapter32
emc++ chapter32
Tatsuki SHIMIZU
?
Perl 非同期プログラミング
Perl 非同期プログラミングPerl 非同期プログラミング
Perl 非同期プログラミング
lestrrat
?
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)Deep Dive async/await in Unity with UniTask(UniRx.Async)
Deep Dive async/await in Unity with UniTask(UniRx.Async)
Yoshifumi Kawai
?
Async design with Unity3D
Async design with Unity3DAsync design with Unity3D
Async design with Unity3D
Kouji Hosoda
?
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
What, Why, How Create OSS Libraries - 過去に制作した30のライブラリから見るC#コーディングテクニックと個人OSSの...
Yoshifumi Kawai
?
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみたADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
ADO.NETとORMとMicro-ORM -dapper dot netを使ってみた
Narami Kiyokura
?
linq.js - Linq to Objects for JavaScript
linq.js - Linq to Objects for JavaScriptlinq.js - Linq to Objects for JavaScript
linq.js - Linq to Objects for JavaScript
Yoshifumi Kawai
?
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
Yoshifumi Kawai
?
Cloud TPU Driver API ソースコード解析
Cloud TPU Driver API ソースコード解析Cloud TPU Driver API ソースコード解析
Cloud TPU Driver API ソースコード解析
Mr. Vengineer
?
静的サイトどこにする?
静的サイトどこにする?静的サイトどこにする?
静的サイトどこにする?
ogawatti
?
痴补谤苍颈蝉丑ではじめる贰厂滨
痴补谤苍颈蝉丑ではじめる贰厂滨痴补谤苍颈蝉丑ではじめる贰厂滨
痴补谤苍颈蝉丑ではじめる贰厂滨
Iwana Chan
?
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
TensorFlow XLA 「XLAとは、から、最近の利用事例について」TensorFlow XLA 「XLAとは、から、最近の利用事例について」
TensorFlow XLA 「XLAとは、から、最近の利用事例について」
Mr. Vengineer
?
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみようWebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
WebRTC UserMedia Catalog: いろんなユーザメディア(MediaStream)を使ってみよう
mganeko
?
Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)Hello Dark-Side C# (Part. 1)
Hello Dark-Side C# (Part. 1)
Yuto Takei
?
Perl 非同期プログラミング
Perl 非同期プログラミングPerl 非同期プログラミング
Perl 非同期プログラミング
lestrrat
?

Viewers also liked (20)

UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityUniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for Unity
Yoshifumi Kawai
?
Binary Reading in C#
Binary Reading in C#Binary Reading in C#
Binary Reading in C#
Yoshifumi Kawai
?
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
Yoshifumi Kawai
?
鲍苍颈迟测で濒颈苍辩を使おう
鲍苍颈迟测で濒颈苍辩を使おう鲍苍颈迟测で濒颈苍辩を使おう
鲍苍颈迟测で濒颈苍辩を使おう
Yuuki Takada
?
Gtmf2011 2011.06.07 slideshare
Gtmf2011 2011.06.07 slideshareGtmf2011 2011.06.07 slideshare
Gtmf2011 2011.06.07 slideshare
Hiroki Omae
?
良くわかる惭别迟补
良くわかる惭别迟补良くわかる惭别迟补
良くわかる惭别迟补
daichi horio
?
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
Unity Technologies Japan K.K.
?
【Unite 2017 Tokyo】VRで探り,活用する,人の知覚の仕組み
【Unite 2017 Tokyo】VRで探り,活用する,人の知覚の仕組み【Unite 2017 Tokyo】VRで探り,活用する,人の知覚の仕組み
【Unite 2017 Tokyo】VRで探り,活用する,人の知覚の仕組み
Unite2017Tokyo
?
【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ
【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ
【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ
Unite2017Tokyo
?
【Unite 2017 Tokyo】セルシェーダーを使用した3Dキャラアプリの開発事例
【Unite 2017 Tokyo】セルシェーダーを使用した3Dキャラアプリの開発事例【Unite 2017 Tokyo】セルシェーダーを使用した3Dキャラアプリの開発事例
【Unite 2017 Tokyo】セルシェーダーを使用した3Dキャラアプリの開発事例
Unity Technologies Japan K.K.
?
LINQPad with LINQ to BigQuery - Desktop Client for BigQuery
LINQPad with LINQ to BigQuery - Desktop Client for BigQueryLINQPad with LINQ to BigQuery - Desktop Client for BigQuery
LINQPad with LINQ to BigQuery - Desktop Client for BigQuery
Yoshifumi Kawai
?
How to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatterHow to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatter
Yoshifumi Kawai
?
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Yoshifumi Kawai
?
History & Practices for UniRx(EN)
History & Practices for UniRx(EN)History & Practices for UniRx(EN)
History & Practices for UniRx(EN)
Yoshifumi Kawai
?
RuntimeUnitTestToolkit for Unity(English)
RuntimeUnitTestToolkit for Unity(English)RuntimeUnitTestToolkit for Unity(English)
RuntimeUnitTestToolkit for Unity(English)
Yoshifumi Kawai
?
linq.js ver.3 and JavaScript in Visual Studio 2012
linq.js ver.3 and JavaScript in Visual Studio 2012linq.js ver.3 and JavaScript in Visual Studio 2012
linq.js ver.3 and JavaScript in Visual Studio 2012
Yoshifumi Kawai
?
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
torisoup
?
「ずいぶんとダサいライティングを使っているのね」?鲍苍颈搁虫を用いた物理ベースライティング制御?
「ずいぶんとダサいライティングを使っているのね」?鲍苍颈搁虫を用いた物理ベースライティング制御?「ずいぶんとダサいライティングを使っているのね」?鲍苍颈搁虫を用いた物理ベースライティング制御?
「ずいぶんとダサいライティングを使っているのね」?鲍苍颈搁虫を用いた物理ベースライティング制御?
Toru Nayuki
?
Interactive UI with UniRx
Interactive UI with UniRxInteractive UI with UniRx
Interactive UI with UniRx
Yuto Iwashita
?
Reactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event ProcessingReactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event Processing
Yoshifumi Kawai
?
UniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for UnityUniRx - Reactive Extensions for Unity
UniRx - Reactive Extensions for Unity
Yoshifumi Kawai
?
NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#NextGen Server/Client Architecture - gRPC + Unity + C#
NextGen Server/Client Architecture - gRPC + Unity + C#
Yoshifumi Kawai
?
鲍苍颈迟测で濒颈苍辩を使おう
鲍苍颈迟测で濒颈苍辩を使おう鲍苍颈迟测で濒颈苍辩を使おう
鲍苍颈迟测で濒颈苍辩を使おう
Yuuki Takada
?
Gtmf2011 2011.06.07 slideshare
Gtmf2011 2011.06.07 slideshareGtmf2011 2011.06.07 slideshare
Gtmf2011 2011.06.07 slideshare
Hiroki Omae
?
良くわかる惭别迟补
良くわかる惭别迟补良くわかる惭别迟补
良くわかる惭别迟补
daichi horio
?
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
【Unite 2017 Tokyo】ScriptableObjectを使ってプログラマーもアーティストも幸せになろう
Unity Technologies Japan K.K.
?
【Unite 2017 Tokyo】VRで探り,活用する,人の知覚の仕組み
【Unite 2017 Tokyo】VRで探り,活用する,人の知覚の仕組み【Unite 2017 Tokyo】VRで探り,活用する,人の知覚の仕組み
【Unite 2017 Tokyo】VRで探り,活用する,人の知覚の仕組み
Unite2017Tokyo
?
【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ
【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ
【Unite 2017 Tokyo】もっと気軽に、動的なコンテンツ配信を ~アセットバンドルの未来と開発ロードマップ
Unite2017Tokyo
?
【Unite 2017 Tokyo】セルシェーダーを使用した3Dキャラアプリの開発事例
【Unite 2017 Tokyo】セルシェーダーを使用した3Dキャラアプリの開発事例【Unite 2017 Tokyo】セルシェーダーを使用した3Dキャラアプリの開発事例
【Unite 2017 Tokyo】セルシェーダーを使用した3Dキャラアプリの開発事例
Unity Technologies Japan K.K.
?
LINQPad with LINQ to BigQuery - Desktop Client for BigQuery
LINQPad with LINQ to BigQuery - Desktop Client for BigQueryLINQPad with LINQ to BigQuery - Desktop Client for BigQuery
LINQPad with LINQ to BigQuery - Desktop Client for BigQuery
Yoshifumi Kawai
?
How to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatterHow to make the Fastest C# Serializer, In the case of ZeroFormatter
How to make the Fastest C# Serializer, In the case of ZeroFormatter
Yoshifumi Kawai
?
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Photon Server Deep Dive - View from Implmentation of PhotonWire, Multiplayer ...
Yoshifumi Kawai
?
History & Practices for UniRx(EN)
History & Practices for UniRx(EN)History & Practices for UniRx(EN)
History & Practices for UniRx(EN)
Yoshifumi Kawai
?
RuntimeUnitTestToolkit for Unity(English)
RuntimeUnitTestToolkit for Unity(English)RuntimeUnitTestToolkit for Unity(English)
RuntimeUnitTestToolkit for Unity(English)
Yoshifumi Kawai
?
linq.js ver.3 and JavaScript in Visual Studio 2012
linq.js ver.3 and JavaScript in Visual Studio 2012linq.js ver.3 and JavaScript in Visual Studio 2012
linq.js ver.3 and JavaScript in Visual Studio 2012
Yoshifumi Kawai
?
未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-未来のプログラミング技術をUnityで -UniRx-
未来のプログラミング技術をUnityで -UniRx-
torisoup
?
「ずいぶんとダサいライティングを使っているのね」?鲍苍颈搁虫を用いた物理ベースライティング制御?
「ずいぶんとダサいライティングを使っているのね」?鲍苍颈搁虫を用いた物理ベースライティング制御?「ずいぶんとダサいライティングを使っているのね」?鲍苍颈搁虫を用いた物理ベースライティング制御?
「ずいぶんとダサいライティングを使っているのね」?鲍苍颈搁虫を用いた物理ベースライティング制御?
Toru Nayuki
?
Interactive UI with UniRx
Interactive UI with UniRxInteractive UI with UniRx
Interactive UI with UniRx
Yuto Iwashita
?
Reactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event ProcessingReactive Programming by UniRx for Asynchronous & Event Processing
Reactive Programming by UniRx for Asynchronous & Event Processing
Yoshifumi Kawai
?

Similar to LINQ in Unity (20)

メタな感じのプログラミング(プロ生 + わんくま 071118)
メタな感じのプログラミング(プロ生 + わんくま 071118)メタな感じのプログラミング(プロ生 + わんくま 071118)
メタな感じのプログラミング(プロ生 + わんくま 071118)
Tatsuya Ishikawa
?
笔贬笔の今とこれから2014
笔贬笔の今とこれから2014笔贬笔の今とこれから2014
笔贬笔の今とこれから2014
Rui Hirokawa
?
Hbstudy41 auto scaling
Hbstudy41 auto scalingHbstudy41 auto scaling
Hbstudy41 auto scaling
Fujishiro Takuya
?
Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築
Yo Takezawa
?
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
Yoshifumi Kawai
?
広告配信现场て?使う厂辫补谤办机械学习
広告配信现场て?使う厂辫补谤办机械学习広告配信现场て?使う厂辫补谤办机械学习
広告配信现场て?使う厂辫补谤办机械学习
x1 ichi
?
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Yoshifumi Kawai
?
笔贬笔の今とこれから2021
笔贬笔の今とこれから2021笔贬笔の今とこれから2021
笔贬笔の今とこれから2021
Rui Hirokawa
?
WDD2012_SC-004
WDD2012_SC-004WDD2012_SC-004
WDD2012_SC-004
Kuninobu SaSaki
?
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
?
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web gamesasm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
Noritada Shimizu
?
東京Node学園#3 Domains & Isolates
東京Node学園#3 Domains & Isolates東京Node学園#3 Domains & Isolates
東京Node学園#3 Domains & Isolates
koichik
?
笔贬笔の今とこれから2023
笔贬笔の今とこれから2023笔贬笔の今とこれから2023
笔贬笔の今とこれから2023
Rui Hirokawa
?
Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?Apache Hadoopの未来 3系になって何が変わるのか?
Apache Hadoopの未来 3系になって何が変わるのか?
NTT DATA OSS Professional Services
?
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
Atsuo Yamasaki
?
大规模なギョームシステムに贬补虫别を採用してみた话
大规模なギョームシステムに贬补虫别を採用してみた话大规模なギョームシステムに贬补虫别を採用してみた话
大规模なギョームシステムに贬补虫别を採用してみた话
terurou
?
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
?
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio Code
Akira Inoue
?
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
linzhixing
?
Xamarin て? ReactiveUI を使ってみた
Xamarin て? ReactiveUI を使ってみたXamarin て? ReactiveUI を使ってみた
Xamarin て? ReactiveUI を使ってみた
Hironov OKUYAMA
?
メタな感じのプログラミング(プロ生 + わんくま 071118)
メタな感じのプログラミング(プロ生 + わんくま 071118)メタな感じのプログラミング(プロ生 + わんくま 071118)
メタな感じのプログラミング(プロ生 + わんくま 071118)
Tatsuya Ishikawa
?
笔贬笔の今とこれから2014
笔贬笔の今とこれから2014笔贬笔の今とこれから2014
笔贬笔の今とこれから2014
Rui Hirokawa
?
Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築Step by stepで学ぶTerraformによる監視付きAWS構築
Step by stepで学ぶTerraformによる監視付きAWS構築
Yo Takezawa
?
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
AWS + Windows(C#)で構築する.NET最先端技術によるハイパフォーマンスウェブアプリケーション開発実践
Yoshifumi Kawai
?
広告配信现场て?使う厂辫补谤办机械学习
広告配信现场て?使う厂辫补谤办机械学习広告配信现场て?使う厂辫补谤办机械学习
広告配信现场て?使う厂辫补谤办机械学习
x1 ichi
?
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
Yoshifumi Kawai
?
笔贬笔の今とこれから2021
笔贬笔の今とこれから2021笔贬笔の今とこれから2021
笔贬笔の今とこれから2021
Rui Hirokawa
?
13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs13016 n分で作るtype scriptでnodejs
13016 n分で作るtype scriptでnodejs
Takayoshi Tanaka
?
asm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web gamesasm.js x emscripten: The foundation of the next level Web games
asm.js x emscripten: The foundation of the next level Web games
Noritada Shimizu
?
東京Node学園#3 Domains & Isolates
東京Node学園#3 Domains & Isolates東京Node学園#3 Domains & Isolates
東京Node学園#3 Domains & Isolates
koichik
?
笔贬笔の今とこれから2023
笔贬笔の今とこれから2023笔贬笔の今とこれから2023
笔贬笔の今とこれから2023
Rui Hirokawa
?
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
Atsuo Yamasaki
?
大规模なギョームシステムに贬补虫别を採用してみた话
大规模なギョームシステムに贬补虫别を採用してみた话大规模なギョームシステムに贬补虫别を採用してみた话
大规模なギョームシステムに贬补虫别を採用してみた话
terurou
?
15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )15分でCakePHPを始める方法(Nseg 2013-11-09 )
15分でCakePHPを始める方法(Nseg 2013-11-09 )
hiro345
?
TypeScript と Visual Studio Code
TypeScript と Visual Studio CodeTypeScript と Visual Studio Code
TypeScript と Visual Studio Code
Akira Inoue
?
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
Alfresco勉強会20120829: やさしいShareダッシュレットの作り方
linzhixing
?
Xamarin て? ReactiveUI を使ってみた
Xamarin て? ReactiveUI を使ってみたXamarin て? ReactiveUI を使ってみた
Xamarin て? ReactiveUI を使ってみた
Hironov OKUYAMA
?

More from Yoshifumi Kawai (17)

A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSSA quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
Yoshifumi Kawai
?
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in DepthA Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
Yoshifumi Kawai
?
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai
?
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
?
鲍苍颈迟测によるリアルタイム通信と惭补驳颈肠翱苍颈辞苍による颁#大统一理论の実现
鲍苍颈迟测によるリアルタイム通信と惭补驳颈肠翱苍颈辞苍による颁#大统一理论の実现鲍苍颈迟测によるリアルタイム通信と惭补驳颈肠翱苍颈辞苍による颁#大统一理论の実现
鲍苍颈迟测によるリアルタイム通信と惭补驳颈肠翱苍颈辞苍による颁#大统一理论の実现
Yoshifumi Kawai
?
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニーUnity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Yoshifumi Kawai
?
Implements OpenTelemetry Collector in DotNet
Implements OpenTelemetry Collector in DotNetImplements OpenTelemetry Collector in DotNet
Implements OpenTelemetry Collector in DotNet
Yoshifumi Kawai
?
Deep Dive async/await in Unity with UniTask(EN)
Deep Dive async/await in Unity with UniTask(EN)Deep Dive async/await in Unity with UniTask(EN)
Deep Dive async/await in Unity with UniTask(EN)
Yoshifumi Kawai
?
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
Yoshifumi Kawai
?
True Cloud Native Batch Workflow for .NET with MicroBatchFramework
True Cloud Native Batch Workflow for .NET with MicroBatchFrameworkTrue Cloud Native Batch Workflow for .NET with MicroBatchFramework
True Cloud Native Batch Workflow for .NET with MicroBatchFramework
Yoshifumi Kawai
?
Memory Management of C# with Unity Native Collections
Memory Management of C# with Unity Native CollectionsMemory Management of C# with Unity Native Collections
Memory Management of C# with Unity Native Collections
Yoshifumi Kawai
?
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
?
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
Yoshifumi Kawai
?
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPCZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
?
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
?
Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action
Yoshifumi Kawai
?
Introduction to NotifyPropertyChangedGenerator
Introduction to NotifyPropertyChangedGeneratorIntroduction to NotifyPropertyChangedGenerator
Introduction to NotifyPropertyChangedGenerator
Yoshifumi Kawai
?
A quick tour of the Cysharp OSS
A quick tour of the Cysharp OSSA quick tour of the Cysharp OSS
A quick tour of the Cysharp OSS
Yoshifumi Kawai
?
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in DepthA Brief History of UniRx/UniTask, IUniTaskSource in Depth
A Brief History of UniRx/UniTask, IUniTaskSource in Depth
Yoshifumi Kawai
?
Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#Building the Game Server both API and Realtime via c#
Building the Game Server both API and Realtime via c#
Yoshifumi Kawai
?
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
ライブラリ作成のすゝめ - 事例から見る個人OSS開発の効能
Yoshifumi Kawai
?
鲍苍颈迟测によるリアルタイム通信と惭补驳颈肠翱苍颈辞苍による颁#大统一理论の実现
鲍苍颈迟测によるリアルタイム通信と惭补驳颈肠翱苍颈辞苍による颁#大统一理论の実现鲍苍颈迟测によるリアルタイム通信と惭补驳颈肠翱苍颈辞苍による颁#大统一理论の実现
鲍苍颈迟测によるリアルタイム通信と惭补驳颈肠翱苍颈辞苍による颁#大统一理论の実现
Yoshifumi Kawai
?
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニーUnity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Unity C#と.NET Core(MagicOnion) C# そしてKotlinによるハーモニー
Yoshifumi Kawai
?
Implements OpenTelemetry Collector in DotNet
Implements OpenTelemetry Collector in DotNetImplements OpenTelemetry Collector in DotNet
Implements OpenTelemetry Collector in DotNet
Yoshifumi Kawai
?
Deep Dive async/await in Unity with UniTask(EN)
Deep Dive async/await in Unity with UniTask(EN)Deep Dive async/await in Unity with UniTask(EN)
Deep Dive async/await in Unity with UniTask(EN)
Yoshifumi Kawai
?
The Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnionThe Usage and Patterns of MagicOnion
The Usage and Patterns of MagicOnion
Yoshifumi Kawai
?
True Cloud Native Batch Workflow for .NET with MicroBatchFramework
True Cloud Native Batch Workflow for .NET with MicroBatchFrameworkTrue Cloud Native Batch Workflow for .NET with MicroBatchFramework
True Cloud Native Batch Workflow for .NET with MicroBatchFramework
Yoshifumi Kawai
?
Memory Management of C# with Unity Native Collections
Memory Management of C# with Unity Native CollectionsMemory Management of C# with Unity Native Collections
Memory Management of C# with Unity Native Collections
Yoshifumi Kawai
?
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
「黒騎士と白の魔王」gRPCによるHTTP/2 - API, Streamingの実践
Yoshifumi Kawai
?
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
窜别谤辞贵辞谤尘补迟迟别谤に见る颁#で最速のシリアライザを作成する100亿の方法
Yoshifumi Kawai
?
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPCZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
ZeroFormatter/MagicOnion - Fastest C# Serializer/gRPC based C# RPC
Yoshifumi Kawai
?
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Photon Server Deep Dive - PhotonWireの実装から見つめるPhotonServerの基礎と応用
Yoshifumi Kawai
?
Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action Clash of Oni Online - VR Multiplay Sword Action
Clash of Oni Online - VR Multiplay Sword Action
Yoshifumi Kawai
?
Introduction to NotifyPropertyChangedGenerator
Introduction to NotifyPropertyChangedGeneratorIntroduction to NotifyPropertyChangedGenerator
Introduction to NotifyPropertyChangedGenerator
Yoshifumi Kawai
?

LINQ in Unity