SlideShare uma empresa Scribd logo
1 de 89
Baixar para ler offline
ハードウェアの性能を活かす為の、

Unityの新しい3つの機能
ユニティ・テクノロジーズ・ジャパン
山村 達彦
Unityの目指しているもの
ゲーム開発の民主化 難しい問題の解決 成功を支援
今回得に解決するもの
環境にフィットしたエンジン
グラフィック
エンジンの機能
オブジェクト制御
Vulkan / Metal / DirectX / OpenGL
内部でプラットフォームのAPIを使う
環境毎にある程度最適化
Monobehaviour

…どうだろう
最近余り良くない
スクリプト、基礎から考え直す
ECS
C# Job System
Burstコンパイラ
GameObject
MonoBehaviour
(簡単、様々な用途で使える。だが遅い) (よりHWに寄り添う)
(パフォーマンスのために

 難しい事をする必要がある)
“ ”
Performance
By Default
デフォルトで高性能なコードを
3つの機能
・C# Job System
・Entity Component System (ECS)
・Burst Compiler
今回はコレの話
・C# Job System
・Entity Component System (ECS)
・Burst Compiler
“ ”
Entity
Component
System
オブジェクトを制御する
コンポーネントは状態と処理を持つ
GameObjectはコンポーネントのコンテナ
GameObject
GameObject
• ゲーム世界内での物体
• 複数のComponentを持つ
Transform
Car
Component
• GameObjectの機能
• フィールドを持つ
• ロジックを持つ
• 他のComponentを操作する

(Transform等)
EntityはComponentDataのコンテナ
ComponentDataは値のみを持つ
Entity
Entity
• ゲーム世界でのモノ
• 複数のComponentDataを持つPosition
Wheel
Engine
ComponentData
• Entityの持つ概念
• 値を持つ

(持たない事もある)
• ロジックは持たない
ComponentSystemがEntityを一括制御
操作対象はComponentDataでフィルタリング
ComponentSystem
Position
Wheel
Engine
• 毎フレーム呼ばれる
Group
• フィルタリングした

データをシステムに渡す
Entity
“ ”
なるほど

わからん
大体の人の意見
通常のクラスの場合
くるま
はんどる
たいや
えんじん
乗り物
is a
has-a
乗り物=クルマの動きを表現するために、様々な種類のパーツを持つ
各パーツは自身のステート、自身のロジックに沿って振る舞いを決める
はんどるデータ
はんどるロジック
たいやデータ
たいやロジック
えんじんデータ
えんじんロジック
has-a
has-a
通常のクラスの場合
乗り物
is a
自身の振る舞いを決めるため、大抵は他のオブジェクトへ参照できるようにする
誰でも何処からでも参照できるシングルトンさんはお友達
○○マネージャー
通常クラスの場合
乗り物
is a
is a
is a
has a
○○マネージャー
ECSの場合
Entityの持つComponentDataの組み合わせで動作が決まる
ハンドル
タイヤ
エンジン
曲がる動作
加速する動作
ハンドルの入力
Systemの要求するEntityだけ処理する
タイヤ
人力
荷物
タイヤ
人力
タイヤ
荷物
タイヤ
エンジン エンジン
人力で

移動
荷物を

運ぶ
エンジンで

移動
ECSの場合
Entityに「タイヤ」と「エンジン」があれば「車」の振る舞いを実現する
type:乗り物のような、特定のクラスは無くても良い
タイヤ タイヤ タイヤ
人力 エンジン エンジン
荷物 荷物
タイヤ
人力
タイヤ
エンジン
Entityの動作の切り替え
タイヤ
荷物
タイヤ
エンジンエンジン
荷物
ComponentDataを追加・削除して
Systemからのフィルターに入る・外れる
タイヤ
操作 (AI)
エンジン
タイヤ
エンジン
(Player)
ShardComponentDataを「種類毎」に
集めて、種類ごとに一括処理する
Systemは誰がEntityを作ったかも知らなくていい
タイヤ
エンジン
タイヤ
エンジン
タイヤ
エンジン
タイヤ
エンジン
タイヤ
エンジン
条件が一致するEntityを自動取得
タイヤ
人力
タイヤ
Systemは誰がEntityを作ったかも知らなくていい
タイヤ
エンジン
タイヤ
エンジン
タイヤ
エンジン
タイヤ
エンジン
タイヤ
エンジン
条件が一致するEntityを自動取得
ユニークなEntityが欲しければ、
特別なComponentDataをもたせておく
勇者イヤ
人力
タイヤ
複数のシステムでEntityの動きを作る
入力

システム
当たり判定

システム
死亡判定移動

システム
入力
座標
形状
耐久力
コントロール
何か呼ぶ
流れ作業のようにComponentDataを操作して、動きを作る
“ ”
ECSを使う
概念ではなく使い方が知りたい!
手順 1/3 ComponentDataの定義
public struct Engine : IComponentData {
public float power;
}
IComponentData を定義
IComponentDataを継承
フィールドのみ持つ
何もデータを持たない事もある
手順 2/3 ComponentDataの組み合わせ定義
var entity_manager = World.Active.GetOrCreateManager<EntityManager>();
arche_type = entity_manager.CreateArchetype(
typeof(Position)
, typeof(Rotation)
, typeof(Engine)
, typeof(Wheel)
, typeof(Handle)
, typeof(MeshInstanceRenderer));
Entityに含める”ComponentDataの組わせを”作成
先程定義したComponentData
手順 3/3Entity つくる
var entity = entity_manager.CreateEntity(arche_type);
var entity = entity_manager.CreateEntity(arche_type);
var pos0 = new Position { Value = new float3(0,0,0), };
entity_manager.SetComponentData<Position>(entity, pos0);
SetComponentDataで初期化
CreateEntityでEntityを作成
Entityが一つ出来た
Position
Wheel
Engine
Entity
Handle
Rotation
Renderer
public class CarSytem: ComponentSystem
{
}
手順(1/4) Systemを作る
ComponentSystemを継承
実行順がある場合は、

UpdateAfter(type)属性で

呼び出しタイミングを制御
手順(2/4) グループを作成
public class CarSytem: ComponentSystem
{
struct Group {
public int Length;
public ComponentDataArray<Wheel> wheels;
[ReadOnly] public ComponentDataArray<Engine> engines;
private SubtractiveComponent<Wing> wings;
}
}
タイヤとエンジンを

持つEntity
羽を持つものは除く
条件を
フィルタリング
手順(3/4) グループを注入
public class CarSytem: ComponentSystem
{
struct Group {
public int Length;
public ComponentDataArray<Wheel> wheels;
[ReadOnly] public ComponentDataArray<Engine> engines;
private SubtractiveComponent<Wing> wings;
}
[Inject] Group group;
}
グループの条件に一致した

ComponentDataが自動的に登録される
条件を
フィルタリング
手順(4/4) 処理を追加
public class CarSytem: ComponentSystem
{
…
[Inject] Group group;
protected override void OnUpdate() {
for(int i=0; i<group.Length; i++){
var engine = group.engines[i];
//何かの処理
group.engines[i] = engine;

}
}
}
毎フレーム呼ばれる処理
グループと一致した

要素の分だけ回す
ComponentDataを

取り出して色々と処理
普通のC#
Entityを制御するシステムも出来た
Position
Wheel
Engine
Entity
Handle
Rotation
Renderer
車を表現するシステム
Model
Model
Model
Model
“ ”
で、ECSは

何が良いの?
ハードのお勉強
メモリキャッシュ・CPUコア
CPU CPU
メモリ
メモリからデータをロード

するのは時間がかかる
1アクセスの間に
200サイクルも
処理ができる
メモリのアクセス速度と

CPUの性能は大きな差がある
メモリキャッシュ・CPUコア
CPU CPU
メモリ
キャッシュを活用して
ギャップを緩和
キャッシュから使えば
100倍早くなる
L1

キャッシュ
L1

キャッシュ
L2キャッシュ
2〜3

サイクル
20〜30

サイクル
一回でロードするのは64バイト
1byteしかデータを使用しない
場合でも64byte単位でロード
いかに無駄なくデータを

配置できるかがポイント
メモリ
CPU
L1

キャッシュ
L2キャッシュ
64byte
64byte
64byte
キャッシュライン
「クラシック」の問題(1)
データが散在していてキャッシュが使いにくい
必要なデータを集めるのに何度もロードが必要
Transform
GameObject 1 Data Renderer Data
Data Data Data Monobehavour Data Data
TransformRigidbody Data DataData
GameObject 2 Data
Monobehavour Data
GameObject 3 Data Transform Data Data Rigidbody Data
Data
Data
「クラシック」の問題(2)
float Speed;
Transform transform
…
Vector3 up;
Vector3 right;
Vector3 forward;
Vector3 position;
Vector3 localPosition;
Quatrainion rotation;
Quatrainion localRotation;
…
MoveScript Transform
余計なデータが
たくさん含まれる
余計なデータで
キャッシュがすぐ埋まる
太字:必要なデータ
細字:不要なデータ
ECSのメモリレイアウト(見た目)
Positoin Positoin Positoin Positoin
Rotation Rotation Rotation Rotation
Speed Speed Speed Speed
Entity 0 Entity 1 Entity 2 Entity 3
EntityはComponentDataを持つコンテナのように見えるが…
ECSのメモリレイアウト(実際に近いイメージ)
Positoin Positoin Positoin Positoin
Rotation Rotation Rotation Rotation
Speed Speed Speed Speed
pos Array
rot Array
spd Array
…
…
…
※実際にはもっと複雑で様々な最適化を含む
Entityは唯のID、実態は構造体の配列
0 1 2 3
Entity2
ECSのシステムがアクセスするデータ
Positoin Po
Rotation Ro
Speed Sp
Pos
Array
Rot
Array
Spd
Array
使用するデータのみ
アクセスする
余計なデータで
キャッシュがすぐ埋まらない
連続するデータは先読み予測が効く
POS POS POS POS POS POS POS POS POS POS POS POS
読んだ
キャッシュライン
読んだ 多分次はココやろ
先に読んどいたる
プリフェッチ
オブジェクトの増減が低コスト
POS POS POS POS POS POS POS POS POS POS POS POS
POS POS POS POS POS POS POS POS POS POS
最後の要素で塗り直すだけ
ガベージコレクションは発生しない
要素を削除したときは
POS
メモリはNative Containerで確保
•アンマネージドなメモリを提供 = GCは発生しない
•利便性を損なわず効率アップ
•IL2CPPではインデクサが1命令
•AOSやSOAのなどに対応
(get/setのオーバーヘッドなし)
NativeArraySOANativeArray
NativeArray
var a = new NativeArray<MyStruct>(32, Allocator.Persistent);
生成
解放
Allocator.Persistent
Allocator.Temp
Allocator.TempJob
永続的に使用可能
同じフレームで解放しないとエラー
4フレーム以内に解放しないとエラー

ジョブ終了時に自動開放させるオプション有
a.Dispose();
ECSまとめ
新しいオブジェクトを制御する機構
メモリレイアウトがCPUに優しい
コンポーネント志向に近い形のオブジェクト制御
データ志向のレイアウト
キャッシュ、フェッチを活用してアクセスを効率化
ECSで組めばHWを知らなくてもよしなにしてくれる
“ ”
C# Job System
安全・簡単にマルチコアを活用
最近のコアは増加傾向にある
1コア辺りのクロック数
コアの数
1989 2018
※イメージ図
モバイルですら6〜8コア積んでる時代
iOS/Android
一つのコアで複数の処理を実行
Core 0 Core 1
Work Work Work Work Work Work
index[0] index[1] index[2] index[3] index[4] index[5]
ZZZzzz
一つのコアが作業している間、他のコアは仕事が無い
複数のコアで複数の処理を実行
複数のコアで分担して作業すれば早くおわる
Core 0 Core 1
Work Work Work Work Work Work
index[0] index[1] index[2] index[3] index[4] index[5]
だからもっとコアを活用しよう!と言いたいが、
とはいえ、マルチスレッドは難しい
粒度
同期
競合
大きな区分で仕事を任せた方が色々と早いが、分担が難しい
同僚の仕事が終わらないと自分の仕事を始められない
使用中のデータを、誰かが書き換えて結果がおかしくなる
デッドロック
互いに完了待ちしてしまい、仕事が停止する
バグるとデバッグしんどいです
C# Job Systemでしんどくないマルチスレッド対応
ルールに従えば簡単・安心にマルチコア活用
ECSとも簡単に連携できる
Burstを通すと、もっと高速化
並列処理で処理が完了するまでの時間を短縮
メインスレッド以外もガンガン使う
C# Job Systemの2つのAPI
IJob
Main
Worker 0
Worker 1
Worker 2
IJobParallelFor
別のコアで処理 複数のコアで一括処理
Main
Worker 0
Worker 1
Worker 2
処理
メインスレッドはジョブ発行するマン 処理が追いつかなければメインスレッドも使って一括処理
C# Job Systemの基本的な流れ(1/3)
pos[0] pos[1] pos[2] pos[3] pos[4] pos[5]
res[0] res[1] res[2] res[3] res[4] res[5]
バッファーを用意する
Jobの処理は全て確保したバッファーに対して行う
NativeArray <float3>
NativeArray <int>
計算に利用するデータ
結果を格納する用
NativeArray <int>
最終的な判断する用 ans[0]
C# Job Systemの基本的な流れ(2/3)
pos[0] pos[1] pos[2] pos[3] pos[4] pos[5]
res[0] res[1] res[2] res[3] res[4] res[5]
複数のジョブで担当する要素を処理し

結果をバッファに格納する
NativeArray <float3>
NativeArray <int>
計算に利用するデータ
結果を格納する
Core 1 で処理 Core 3 で処理Core 2 で処理
C# Job Systemの基本的な流れ(3/3)
res[0] res[1] res[2] res[3] res[4] res[5]
ans[0]
結果をまとめて最終的な判定を行う
NativeArray <int>
最終的な結果
Core 1 で処理
NativeArray <int>
結果を格納する
IJobParallelForを定義(1/3)
struct AJob : IJobParallelFor {
public void Execute(int id) {
}
}
IJobParallelForを継承した構造体を定義
継承
IJobParallelForを定義(2/3)
struct AJob : IJobParallelFor {
public NativeArray<Vector3> positions;
public void Execute(int id) {
}
}
Jobが使用するバッファを定義
入出力のバッファ
IJobParallelForを定義(3/3)
struct AJob : IJobParallelFor {
public NativeArray<Vector3> positions;
public void Execute(int id) {
var pos = positions[id];
pos.y += 1f;
positions[id] = pos;
}
}
Jobの処理をExecuteに記述
idは供給される
Jobが実行する処理
IJobParallelForを使う(1/4)
struct AJob : IJobParallelFor {
public NativeArray<Vector3> positions;
public void Execute(int id) {
var pos = positions[id];
pos.y += 1f;
positions[id] = pos;
}
}
Jobを生成
void Update() {
var ajob = new AJob() ;
}
生成
IJobParallelForを使う(2/4)
struct AJob : IJobParallelFor {
public NativeArray<Vector3> positions;
public void Execute(int id) {
var pos = positions[id];
pos.y += 1f;
positions[id] = pos;
}
}
Jobにバッファを登録
void Update() {
var ajob = new AJob() { positions = m_Positions, };
}
データ参照
IJobParallelForを使う(3/4)
struct AJob : IJobParallelFor {
public NativeArray<Vector3> positions;
public void Execute(int id) {
var pos = positions[id];
pos.y += 1f;
positions[id] = pos;
}
}
void Update() {
var ajob = new AJob() { positions = m_Positions, };
var handle = ajob.Schedule(positions.Length, 8);
}
実行指令
1ジョブでまとめて
実行する回数
毎フレームScheduleを呼ぶ
IJobParallelForを使う(4/4)
struct AJob : IJobParallelFor {
public NativeArray<Vector3> positions;
public void Execute(int id) {
var pos = positions[id];
pos.y += 1f;
positions[id] = pos;
}
}
void Update() {
var ajob = new AJob() { positions = m_Positions, };
var handle = ajob.Schedule(positions.Length, 8);
JobHandle.ScheduleBatchedJobs();
handle.Complete();
}
即時ジョブ起動
完了まで待つ
以下は必要に応じて
IJob
struct BJob : IJob {
public void Execute() {
}
}
継承
IJob
struct BJob : IJob {
public NativeArray<Vector3> positions;
public NativeArray<int> result;
public void Execute() {
}
}
入出力
IJob
struct BJob : IJob {
public NativeArray<Vector3> positions;
public NativeArray<int> result;
public void Execute() {
for (var i = 0; i < positions.Length; ++i) {
var pos = positions[i];
if( pos.x > -0.5f && pos.x < 0.5f){
}
}
}
}
ジョブの実行内容
IJob
struct BJob : IJob {
public NativeArray<Vector3> positions;
public NativeArray<int> result;
public void Execute() {
for (var i = 0; i < positions.Length; ++i) {
var pos = positions[i];
if( pos.x > -0.5f && pos.x < 0.5f){
result[0] = 1; return;
}
}
result[0] = 0;
}
}
結果を格納
IJob
struct BJob : IJob {
public NativeArray<Vector3> positions;
public NativeArray<int> result;
public void Execute() {
for (var i = 0; i < positions.Length; ++i) {
var pos = positions[i];
if( pos.x > -0.5f && pos.x < 0.5f){
result[0] = 1; return;
}
}
}
}
参照なので危険がつきまとう
読込専用なら兎も角、読み書きするジョブが複数同時に同じ要素を操作するとヤバイ
[ReadOnly]や[WriteOnly]属性をつける
データの読取専用 データの書込専用
問題が起こりそうならエラーを出してくれる
InvalidOperationException: The previously scheduled job Job1:AJob
writes to the NativeArray AJob.positions. You are trying to schedule a
new job Job1:BJob, which writes to the same NativeArray (via
BJob.positions).
要約:複数のジョブが同じNativeArrayに同時に書き込むかも
InvalidOperationException: The native container has been
declared as [WriteOnly] in the job, but you are reading from it.
要約:書込専用のNativeArrayを読み込んじゃあかん
問題が起こりそうならエラーを出してくれる
ありがたや
ジョブの依存関係
Scheduleの引数にJobHandleを入れる
void Update() {
var ajob = new AJob() { positions = m_Positions, };
var bjob = new BJob() { positions = m_Positions, };
var handle = ajob.Schedule(positions.Length, 8);
handle = bjob.Schedule(handle);
JobHandle.ScheduleBatchedJobs();
handle.Complete();
}
bJobはaJobが
完了したら実行
Injectで取得したComponentDataArrayをそのまま渡せる
struct RigidbodyPositionJob : IJobParallelFor {
public ComponentDataArray<Unity.Transforms.Position> positions;
public ComponentDataArray<RigidbodyPosition> rigidbodies;
public void Execute(int i){
// 処理
}
}
ECSとのC# Job Systemの連携(1)
ECSとのC# Job Systemの連携(2)
public struct RigidbodyPositionJob
: IJobProcessComponentData<Position, RigidbodyPosition> {
public void Execute(ref Position pos, ref RigidbodyPosition rot) {
// 処理
}
}
[Inject]記述が不要になる他、若干効率的
[ReadOnly][WriteOnly]は引数に付与
競合しないようジョブの依存をよしなにしてくれる
必要なComponentDataはジェネリックで定義
IJobProcessComponentDataを使う
High Performance C# (C# Job Systemの制約)
Class Type無し
Boxing無し
GC Allocation無し
Exception無し
大丈夫!
まだ (一応) C#
All Basic Types
Struct
Enum
Generic
Properties
Safe Sandbox
.NETのThreadと比較して、どう違うの?
UnityのWorker Thread上で動作
オーバーヘッドが少ない
コンテキストスイッチの増加を防ぐ
※IL2CPPでビルドした場合
使うための制約がキツイ
ハイパフォーマンスなC#記述を強制
複数フレームを跨ぐ処理に向かない
ケースバイケースで使い分け推奨
.NET 4.xやC#7.2対応で
使いやすくなった
.NETのThreadと比較して、どう違うの?
UnityのWorker Thread上で動作
オーバーヘッドが少ない
コンテキストスイッチの増加を防ぐ
※IL2CPPでビルドした場合
使うための制約がキツイ
ハイパフォーマンスなC#記述を強制
複数フレームを跨ぐ処理に向かない
ケースバイケースで使い分け推奨
.NET 4.xやC#7.2対応で
使いやすくなった
結局、マルチスレッドの難しい点は解決出来たか?
• ジョブのまとめて実行する数を指定できる
 →粒度をある程度コントロールする
・複数のジョブが同じ参照先に書き込み可能だとエラー
 →競合の発生をエディターで防ぐ
結局、マルチスレッドの難しい点は解決出来たか?
・ジョブはメインスレッドでのみCompleteできる
 →デッドロックを起こさない
・ジョブはメインスレッドでのみScheduleできる
 →Completeとの整合性を重視
危険なのは自由すぎるマルチスレッド
“ ”
Burst
厳しい条件下で最適化するコンパイラ
第三の選択肢
IL2CPP
Burstコンパイラ
使い勝手を維持しつつ
単純にC++へ変換
厳しい条件下で最適化
Mono IL
1
2
3
option
option
option
厳しい条件の上で最適化
High Performance C#前提
Class Type無し
Boxing無し
GC Allocation無し
Exception無し
ECSのメモリレイアウト前提
データの入出力が確定してる前提
スレッドで処理が前提
自由に組めると

最適化にも遊びが必要
制約を設ける事で
限界まで最適化
実際、かなり速くなる
様々な最適化
最適化しやすいMathライブラリも提供
CPU拡張命令を積極的に使う
計算の精度を下げる
厳密な結果が必要ない箇所に使うオプション
プロセッサ向けの最適化をUnityで行う
avx2, sse4, neon, arrch
下手なC++コードより高速らしい
[Unity.Burst.BurstCompile]
struct AJob : IJobParallelFor
{
public NativeArray<Vector2> positions;
public void Execute(int index)
{
var pos = positions[index];
pos.x += 0.2f;
positions[index] = pos;
}
}
使い方
IJob系のインターフェースに
BurstCompile属性をつける
すべての場所で使える訳ではない
Burstでコンパイルした後のアセンブリを確認
アセンブラを書くまでは逆行しないが
アセンブラを理解すると価値がある(かも)
PackageManagerで提供
ECSのPackageに同梱
新しいプロセッサが追加された際、

Unityエンジンをアップデートせずに対応
“ ”
ECSでメモリレイアウト制御(面倒)をよしなにしてくれる
C# Job Systemでマルチコア対応(面倒)をよしなにしてくれる
BurstでCPU演算の最適化(面倒)をよしなにしてくれる
まとめ
“ ”
高度なプログラミングを比較的手軽に実現
もっと多くの要素をゲームにつぎ込めるように
Thank You

Mais conteúdo relacionado

Mais procurados

【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しようUnity Technologies Japan K.K.
 
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介UnityTechnologiesJapan002
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するYoshifumi Kawai
 
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」fukuoka.ex
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityYoshifumi Kawai
 
実験心理学者のためのPython
実験心理学者のためのPython実験心理学者のためのPython
実験心理学者のためのPythonMasataka Miyoshi
 
Away3D 4.1 パーティクル入門
Away3D 4.1 パーティクル入門Away3D 4.1 パーティクル入門
Away3D 4.1 パーティクル入門Yasunobu Ikeda
 
boost::shared_ptr tutorial
boost::shared_ptr tutorialboost::shared_ptr tutorial
boost::shared_ptr tutorialNU_Pan
 
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Atsushi Odagiri
 
Enjoy handwritten digits recognition AI !!
Enjoy handwritten digits recognition AI !!Enjoy handwritten digits recognition AI !!
Enjoy handwritten digits recognition AI !!KAIKenzo
 
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」fukuoka.ex
 
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門Yosuke Onoue
 
【Unite Tokyo 2019】【あら簡単】インテルのGPAを使ってあなたのUnityタイトルを高速化
【Unite Tokyo 2019】【あら簡単】インテルのGPAを使ってあなたのUnityタイトルを高速化【Unite Tokyo 2019】【あら簡単】インテルのGPAを使ってあなたのUnityタイトルを高速化
【Unite Tokyo 2019】【あら簡単】インテルのGPAを使ってあなたのUnityタイトルを高速化UnityTechnologiesJapan002
 
葉物野菜を見極めたい!by Keras
葉物野菜を見極めたい!by Keras葉物野菜を見極めたい!by Keras
葉物野菜を見極めたい!by KerasYuji Kawakami
 
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 TipsTakaaki Suzuki
 
あるコンテキストスイッチの話
あるコンテキストスイッチの話あるコンテキストスイッチの話
あるコンテキストスイッチの話nullnilaki
 
2018年01月27日 TensorFlowの計算グラフの理解
2018年01月27日 TensorFlowの計算グラフの理解2018年01月27日 TensorFlowの計算グラフの理解
2018年01月27日 TensorFlowの計算グラフの理解aitc_jp
 

Mais procurados (20)

【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
【Unite Tokyo 2018】さては非同期だなオメー!async/await完全に理解しよう
 
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
【Unite Tokyo 2019】〈七つの大罪〉をゲームで!高品質グラフィックを具現化するための技法と開発最適化のご紹介
 
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭するCEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
CEDEC 2018 最速のC#の書き方 - C#大統一理論へ向けて性能的課題を払拭する
 
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」
【LT版】Elixir入門「第7回:Python/KerasをElixirから繋いでアレコレする」
 
RuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for UnityRuntimeUnitTestToolkit for Unity
RuntimeUnitTestToolkit for Unity
 
実験心理学者のためのPython
実験心理学者のためのPython実験心理学者のためのPython
実験心理学者のためのPython
 
Away3D 4.1 パーティクル入門
Away3D 4.1 パーティクル入門Away3D 4.1 パーティクル入門
Away3D 4.1 パーティクル入門
 
Unityで覚えるC#
Unityで覚えるC#Unityで覚えるC#
Unityで覚えるC#
 
boost::shared_ptr tutorial
boost::shared_ptr tutorialboost::shared_ptr tutorial
boost::shared_ptr tutorial
 
Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定Pythonでの開発を効率的に進めるためのツール設定
Pythonでの開発を効率的に進めるためのツール設定
 
Enjoy handwritten digits recognition AI !!
Enjoy handwritten digits recognition AI !!Enjoy handwritten digits recognition AI !!
Enjoy handwritten digits recognition AI !!
 
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
【macOSにも対応】AI入門「第3回:数学が苦手でも作って使えるKerasディープラーニング」
 
PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門PyOpenCLによるGPGPU入門
PyOpenCLによるGPGPU入門
 
【Unite Tokyo 2019】【あら簡単】インテルのGPAを使ってあなたのUnityタイトルを高速化
【Unite Tokyo 2019】【あら簡単】インテルのGPAを使ってあなたのUnityタイトルを高速化【Unite Tokyo 2019】【あら簡単】インテルのGPAを使ってあなたのUnityタイトルを高速化
【Unite Tokyo 2019】【あら簡単】インテルのGPAを使ってあなたのUnityタイトルを高速化
 
Boost Fusion Library
Boost Fusion LibraryBoost Fusion Library
Boost Fusion Library
 
葉物野菜を見極めたい!by Keras
葉物野菜を見極めたい!by Keras葉物野菜を見極めたい!by Keras
葉物野菜を見極めたい!by Keras
 
今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips今日からできる!簡単 .NET 高速化 Tips
今日からできる!簡単 .NET 高速化 Tips
 
あるコンテキストスイッチの話
あるコンテキストスイッチの話あるコンテキストスイッチの話
あるコンテキストスイッチの話
 
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
UE4 Hair & Groomでのリアルタイムファーレンダリング (UE4 Character Art Dive Online)
 
2018年01月27日 TensorFlowの計算グラフの理解
2018年01月27日 TensorFlowの計算グラフの理解2018年01月27日 TensorFlowの計算グラフの理解
2018年01月27日 TensorFlowの計算グラフの理解
 

Semelhante a 【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能

CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会Yoshihisa Ozaki
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナーTakahiro Iwase
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギMasaki Yamakawa
 
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。Satoshi Mimura
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについてtako pons
 
人工知能学会RTM講習会 第3部:プログラミング実習
人工知能学会RTM講習会 第3部:プログラミング実習 人工知能学会RTM講習会 第3部:プログラミング実習
人工知能学会RTM講習会 第3部:プログラミング実習 openrtm
 
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題Makoto Setoh
 
Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊
Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊
Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊Supership株式会社
 
Entity Framework 5.0 deep dive
Entity Framework 5.0 deep diveEntity Framework 5.0 deep dive
Entity Framework 5.0 deep diveAtsushi Fukui
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みChihiro Ito
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例gree_tech
 
Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点) Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点) Norito Agetsuma
 
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI Osamu Monoe
 

Semelhante a 【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能 (20)

CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会CLRの基礎 - プログラミング .NET Framework 第3版 読書会
CLRの基礎 - プログラミング .NET Framework 第3版 読書会
 
20120405 setsunaセミナー
20120405 setsunaセミナー20120405 setsunaセミナー
20120405 setsunaセミナー
 
インメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギインメモリーで超高速処理を実現する場合のカギ
インメモリーで超高速処理を実現する場合のカギ
 
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
APASEC 2013 - ROP/JIT を使わずに DEP/ASLR を回避する手法を見てみた。
 
Apache Torqueについて
Apache TorqueについてApache Torqueについて
Apache Torqueについて
 
Groovyコンファレンス
GroovyコンファレンスGroovyコンファレンス
Groovyコンファレンス
 
20120721_ishkawa
20120721_ishkawa20120721_ishkawa
20120721_ishkawa
 
人工知能学会RTM講習会 第3部:プログラミング実習
人工知能学会RTM講習会 第3部:プログラミング実習 人工知能学会RTM講習会 第3部:プログラミング実習
人工知能学会RTM講習会 第3部:プログラミング実習
 
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
軽量EvernoteクライアントSmartEverにおけるアプリ高速化の工夫と課題
 
ロボット用Open Source Software
ロボット用Open Source Softwareロボット用Open Source Software
ロボット用Open Source Software
 
HTML5&API総まくり
HTML5&API総まくりHTML5&API総まくり
HTML5&API総まくり
 
Zealup - React
Zealup - ReactZealup - React
Zealup - React
 
Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊
Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊
Graviton2プロセッサの性能特性と適用箇所/Supership株式会社 中野 豊
 
Entity Framework 5.0 deep dive
Entity Framework 5.0 deep diveEntity Framework 5.0 deep dive
Entity Framework 5.0 deep dive
 
Apache geode at-s1p
Apache geode at-s1pApache geode at-s1p
Apache geode at-s1p
 
Javaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組みJavaはどのように動くのか~スライドでわかるJVMの仕組み
Javaはどのように動くのか~スライドでわかるJVMの仕組み
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
 
Dotnetconf2017
Dotnetconf2017Dotnetconf2017
Dotnetconf2017
 
Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点) Java Batch 仕様 (Public Review時点)
Java Batch 仕様 (Public Review時点)
 
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI for Developer、Microsoft Edge とInternet Explorer で新しくサポートされるAPI
for Developer、 Microsoft Edge とInternet Explorer で 新しくサポートされるAPI
 

Mais de Unity Technologies Japan K.K.

建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】Unity Technologies Japan K.K.
 
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!Unity Technologies Japan K.K.
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnity Technologies Japan K.K.
 
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようUnity Technologies Japan K.K.
 
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーションビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - UnityステーションUnity Technologies Japan K.K.
 
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうUnity Technologies Japan K.K.
 
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!Unity Technologies Japan K.K.
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】Unity Technologies Japan K.K.
 
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity Technologies Japan K.K.
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発Unity Technologies Japan K.K.
 
FANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えますFANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えますUnity Technologies Japan K.K.
 
インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021Unity Technologies Japan K.K.
 
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】Unity Technologies Japan K.K.
 
Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話Unity Technologies Japan K.K.
 
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るCinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るUnity Technologies Japan K.K.
 
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unity Technologies Japan K.K.
 
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unity Technologies Japan K.K.
 
Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-Unity Technologies Japan K.K.
 

Mais de Unity Technologies Japan K.K. (20)

建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
建築革命、更に更に進化!便利さ向上【Unity Reflect ver 3.0 】
 
UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!UnityのクラッシュをBacktraceでデバッグしよう!
UnityのクラッシュをBacktraceでデバッグしよう!
 
Unityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクションUnityで始めるバーチャルプロダクション
Unityで始めるバーチャルプロダクション
 
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしようビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
ビジュアルスクリプティング (旧:Bolt) で始めるUnity入門3日目 ゲームをカスタマイズしよう
 
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーションビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
ビジュアルスクリプティングで始めるUnity入門2日目 ゴールとスコアの仕組み - Unityステーション
 
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそうビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
ビジュアルスクリプティングで始めるUnity入門1日目 プレイヤーを動かそう
 
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
PlasticSCMの活用テクニックをハンズオンで一緒に学ぼう!
 
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
点群を使いこなせ! 可視化なんて当たり前、xRと点群を組み合わせたUnityの世界 【Interact , Stipple】
 
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しようUnity教える先生方注目!ティーチャートレーニングデイを体験しよう
Unity教える先生方注目!ティーチャートレーニングデイを体験しよう
 
「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発「原神」におけるコンソールプラットフォーム開発
「原神」におけるコンソールプラットフォーム開発
 
FANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えますFANTASIANの明日使えない特殊テクニック教えます
FANTASIANの明日使えない特殊テクニック教えます
 
インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021インディーゲーム開発の現状と未来 2021
インディーゲーム開発の現状と未来 2021
 
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
建築革命、更に進化!デジタルツイン基盤の真打ち登場【概要編 Unity Reflect ver 2.1 】
 
Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話Burstを使ってSHA-256のハッシュ計算を高速に行う話
Burstを使ってSHA-256のハッシュ計算を高速に行う話
 
Cinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作るCinemachineで見下ろし視点のカメラを作る
Cinemachineで見下ろし視点のカメラを作る
 
徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【開発編 ver2.0】徹底解説 Unity Reflect【開発編 ver2.0】
徹底解説 Unity Reflect【開発編 ver2.0】
 
徹底解説 Unity Reflect【概要編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】徹底解説 Unity Reflect【概要編 ver2.0】
徹底解説 Unity Reflect【概要編 ver2.0】
 
Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-Unityティーチャートレーニングデイ -認定プログラマー編-
Unityティーチャートレーニングデイ -認定プログラマー編-
 
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-Unityティーチャートレーニングデイ -認定3Dアーティスト編-
Unityティーチャートレーニングデイ -認定3Dアーティスト編-
 
Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-Unityティーチャートレーニングデイ -認定アソシエイト編-
Unityティーチャートレーニングデイ -認定アソシエイト編-
 

Último

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directoryosamut
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。iPride Co., Ltd.
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Último (9)

[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory20240412_HCCJP での Windows Server 2025 Active Directory
20240412_HCCJP での Windows Server 2025 Active Directory
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ       2024/04/12の勉強会で発表されたものです。新人研修のまとめ       2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

【GTMF2018OSAKA】ハードウェアの性能を活かす為の、Unityの新しい3つの機能