SlideShare uma empresa Scribd logo
1 de 89
Baixar para ler offline
3D3D勉強会勉強会 第第11回回
3D3Dプログラミングのススメプログラミングのススメ
~~33次元空間における座標変換~次元空間における座標変換~
株式会社インフィニットループ株式会社インフィニットループ
齊藤齊藤 一誠一誠
・・自己紹介自己紹介
・・自己紹介自己紹介
名前名前 齊藤齊藤 一誠一誠
・・自己紹介自己紹介
名前名前 齊藤齊藤 一誠一誠
元コンシューマゲーム開発者元コンシューマゲーム開発者
・・自己紹介自己紹介
名前名前 齊藤齊藤 一誠一誠
元コンシューマゲーム開発者元コンシューマゲーム開発者
開発経験のあるプラットフォームは開発経験のあるプラットフォームはPS2PS2・・PSPPSP・・PS3PS3
・・自己紹介自己紹介
名前名前 齊藤齊藤 一誠一誠
元コンシューマゲーム開発者元コンシューマゲーム開発者
開発経験のあるプラットフォームは開発経験のあるプラットフォームはPS2PS2・・PSPPSP・・PS3PS3
3D3Dプログラミングはプログラミングはそこそこそこそこできるはずできるはず
・・自己紹介自己紹介
名前名前 齊藤齊藤 一誠一誠
元コンシューマゲーム開発者元コンシューマゲーム開発者
開発経験のあるプラットフォームは開発経験のあるプラットフォームはPS2PS2・・PSPPSP・・PS3PS3
3D3Dプログラミングはプログラミングはそこそこそこそこできるはずできるはず
ということで、前置きとしてということで、前置きとして3D3Dプログラミング入門のプログラミング入門の
心得のようなものをお話していきます。心得のようなものをお話していきます。
3D3Dの勉強を始めるにあたっての心理的障壁の勉強を始めるにあたっての心理的障壁
3D3Dの勉強を始めるにあたっての心理的障壁の勉強を始めるにあたっての心理的障壁
11..むずそう(小並感)むずそう(小並感)
3D3Dの勉強を始めるにあたっての心理的障壁の勉強を始めるにあたっての心理的障壁
11..むずそう(小並感)むずそう(小並感)
・・3D3Dって高度な数学の知識が必要なんでしょう?って高度な数学の知識が必要なんでしょう?
3D3Dの勉強を始めるにあたっての心理的障壁の勉強を始めるにあたっての心理的障壁
11..むずそう(小並感)むずそう(小並感)
・・3D3Dって高度な数学の知識が必要なんでしょう?って高度な数学の知識が必要なんでしょう?
・数学とか高校レベルで止まってるし文系だったしもう忘れたし・・・・数学とか高校レベルで止まってるし文系だったしもう忘れたし・・・
3D3Dの勉強を始めるにあたっての心理的障壁の勉強を始めるにあたっての心理的障壁
11..むずそう(小並感)むずそう(小並感)
・・3D3Dって高度な数学の知識が必要なんでしょう?って高度な数学の知識が必要なんでしょう?
・数学とか高校レベルで止まってるし文系だったしもう忘れたし・・・・数学とか高校レベルで止まってるし文系だったしもう忘れたし・・・
・そもそも何から勉強し始めたらいいのかわからない・・・・そもそも何から勉強し始めたらいいのかわからない・・・
3D3Dプログラミングを始めるのにプログラミングを始めるのに
数学力は必要なのか数学力は必要なのか
3D3Dプログラミングを始めるのにプログラミングを始めるのに
数学力は必要なのか数学力は必要なのか
・・3D3Dプログラミングを始めた頃の私の数学力についてプログラミングを始めた頃の私の数学力について
3D3Dプログラミングを始めるのにプログラミングを始めるのに
数学力は必要なのか数学力は必要なのか
・・3D3Dプログラミングを始めた頃の私の数学力についてプログラミングを始めた頃の私の数学力について
・高校では普通科の文系コース・高校では普通科の文系コース ・・・・・・ 数学数学CCやってないやってない
3D3Dプログラミングを始めるのにプログラミングを始めるのに
数学力は必要なのか数学力は必要なのか
・・3D3Dプログラミングを始めた頃の私の数学力についてプログラミングを始めた頃の私の数学力について
・高校では普通科の文系コース・高校では普通科の文系コース ・・・・・・ 数学数学CCやってないやってない
・・数学のテストで赤点とった事も無くはない(小声)数学のテストで赤点とった事も無くはない(小声)
3D3Dプログラミングを始めるのにプログラミングを始めるのに
数学力は必要なのか数学力は必要なのか
・・3D3Dプログラミングを始めた頃の私の数学力についてプログラミングを始めた頃の私の数学力について
・高校では普通科の文系コース・高校では普通科の文系コース ・・・・・・ 数学数学CCやってないやってない
・・数学のテストで赤点とった事も無くはない(小声)数学のテストで赤点とった事も無くはない(小声)
・高校卒業してすぐ専門学校へ・高校卒業してすぐ専門学校へ ・・・・・・ 大学数学やってない大学数学やってない
でもなんとか頑張って人並みにはでもなんとか頑張って人並みには3D3Dプログラミングプログラミング
出来るようになれた。出来るようになれた。
でもなんとか頑張って人並みにはでもなんとか頑張って人並みには3D3Dプログラミングプログラミング
出来るようになれた。出来るようになれた。
つまり知識は今から付けても遅くはない。つまり知識は今から付けても遅くはない。
でもなんとか頑張って人並みにはでもなんとか頑張って人並みには3D3Dプログラミングプログラミング
出来るようになれた。出来るようになれた。
つまり知識は今から付けても遅くはない。つまり知識は今から付けても遅くはない。
最初は本を読んで知識を詰め込むより、サンプル等最初は本を読んで知識を詰め込むより、サンプル等
をいじってプログラムに触ることを重視する。をいじってプログラムに触ることを重視する。
でもなんとか頑張って人並みにはでもなんとか頑張って人並みには3D3Dプログラミングプログラミング
出来るようになれた。出来るようになれた。
つまり知識は今から付けても遅くはない。つまり知識は今から付けても遅くはない。
最初は本を読んで知識を詰め込むより、サンプル等最初は本を読んで知識を詰め込むより、サンプル等
をいじってプログラムに触ることを重視する。をいじってプログラムに触ることを重視する。
分からない事が発生したら勉強する。分からない事が発生したら勉強する。
3D3Dの勉強を始めるにあたっての心理的障壁の勉強を始めるにあたっての心理的障壁
11..むずそう(小並感)むずそう(小並感)
・・3D3Dって高度な数学の知識が必要なんでしょう?って高度な数学の知識が必要なんでしょう?
・数学とか高校レベルで止まってるし文系だったしもう忘れたし・・・・数学とか高校レベルで止まってるし文系だったしもう忘れたし・・・
・そもそも何から勉強し始めたらいいのかわからない・・・・そもそも何から勉強し始めたらいいのかわからない・・・
22..始めてみたけどすぐ挫折した始めてみたけどすぐ挫折した
3D3Dの勉強を始めるにあたっての心理的障壁の勉強を始めるにあたっての心理的障壁
11..むずそう(小並感)むずそう(小並感)
・・3D3Dって高度な数学の知識が必要なんでしょう?って高度な数学の知識が必要なんでしょう?
・数学とか高校レベルで止まってるし文系だったしもう忘れたし・・・・数学とか高校レベルで止まってるし文系だったしもう忘れたし・・・
・そもそも何から勉強し始めたらいいのかわからない・・・・そもそも何から勉強し始めたらいいのかわからない・・・
22..始めてみたけどすぐ挫折した始めてみたけどすぐ挫折した
・何かの講座を見て箱を1個表示しただけで満足して終わってしまった・・・・何かの講座を見て箱を1個表示しただけで満足して終わってしまった・・・
3D3Dの勉強を始めるにあたっての心理的障壁の勉強を始めるにあたっての心理的障壁
11..むずそう(小並感)むずそう(小並感)
・・3D3Dって高度な数学の知識が必要なんでしょう?って高度な数学の知識が必要なんでしょう?
・数学とか高校レベルで止まってるし文系だったしもう忘れたし・・・・数学とか高校レベルで止まってるし文系だったしもう忘れたし・・・
・そもそも何から勉強し始めたらいいのかわからない・・・・そもそも何から勉強し始めたらいいのかわからない・・・
22..始めてみたけどすぐ挫折した始めてみたけどすぐ挫折した
・何かの講座を見て箱を1個表示しただけで満足して終わってしまった・・・・何かの講座を見て箱を1個表示しただけで満足して終わってしまった・・・
・満足ゆく見た目になるまで凄く時間がかかりそうで心が折れた・満足ゆく見た目になるまで凄く時間がかかりそうで心が折れた
モチベーションの保ち方モチベーションの保ち方
モチベーションの保ち方モチベーションの保ち方
小目標を決める小目標を決める
・目標なしに勉強し続けるのは辛い。あと区切りを作れる。・目標なしに勉強し続けるのは辛い。あと区切りを作れる。
モチベーションの保ち方モチベーションの保ち方
小目標を決める小目標を決める
・目標なしに勉強し続けるのは辛い。あと区切りを作れる。・目標なしに勉強し続けるのは辛い。あと区切りを作れる。
出来るところまで進める出来るところまで進める
・とりあえず自分の持ってる知識で出来るとこまで進めてみる。・とりあえず自分の持ってる知識で出来るとこまで進めてみる。
モチベーションの保ち方モチベーションの保ち方
小目標を決める小目標を決める
・目標なしに勉強し続けるのは辛い。あと区切りを作れる。・目標なしに勉強し続けるのは辛い。あと区切りを作れる。
出来るところまで進める出来るところまで進める
・とりあえず自分の持ってる知識で出来るとこまで進めてみる。・とりあえず自分の持ってる知識で出来るとこまで進めてみる。
わからなくなったらその時に調べるわからなくなったらその時に調べる
・何に使うかわからない知識を勉強するのは辛い。・何に使うかわからない知識を勉強するのは辛い。
モチベーションの保ち方モチベーションの保ち方
小目標を決める小目標を決める
・目標なしに勉強し続けるのは辛い。あと区切りを作れる。・目標なしに勉強し続けるのは辛い。あと区切りを作れる。
出来るところまで進める出来るところまで進める
・とりあえず自分の持ってる知識で出来るとこまで進めてみる。・とりあえず自分の持ってる知識で出来るとこまで進めてみる。
わからなくなったらその時に調べるわからなくなったらその時に調べる
・何に使うかわからない知識を勉強するのは辛い。・何に使うかわからない知識を勉強するのは辛い。
無理しない無理しない
・前提知識が複数必要なものなどは各要素を個別に理解してからでもいい。・前提知識が複数必要なものなどは各要素を個別に理解してからでもいい。
無理せず後回しする。無理せず後回しする。
モチベーションの保ち方モチベーションの保ち方
小目標を決める小目標を決める
・目標なしに勉強し続けるのは辛い。あと区切りを作れる。・目標なしに勉強し続けるのは辛い。あと区切りを作れる。
出来るところまで進める出来るところまで進める
・とりあえず自分の持ってる知識で出来るとこまで進めてみる。・とりあえず自分の持ってる知識で出来るとこまで進めてみる。
わからなくなったらその時に調べるわからなくなったらその時に調べる
・何に使うかわからない知識を勉強するのは辛い。・何に使うかわからない知識を勉強するのは辛い。
無理しない無理しない
・前提知識が複数必要なものなどは各要素を個別に理解してからでもいい。・前提知識が複数必要なものなどは各要素を個別に理解してからでもいい。
無理せず後回しする。無理せず後回しする。
目標を達成したら新たな目標を決める目標を達成したら新たな目標を決める
・別のプログラムを作る・別のプログラムを作るoror現在のプログラムへの機能追加等、現在のプログラムへの機能追加等、
とにかく興味が持てる事を。とにかく興味が持てる事を。
おすすめの勉強法は・・・おすすめの勉強法は・・・
ショボショボくてもくてもいいから何かいいから何か11本ゲーム的なものを作る本ゲーム的なものを作る
おすすめの勉強法は・・・おすすめの勉強法は・・・
ショボショボくてもくてもいいから何かいいから何か11本ゲーム的なものを作る本ゲーム的なものを作る
楽なのはシューティングゲーム楽なのはシューティングゲーム
おすすめの勉強法は・・・おすすめの勉強法は・・・
ショボショボくてもくてもいいから何かいいから何か11本ゲーム的なものを作る本ゲーム的なものを作る
楽なのはシューティングゲーム楽なのはシューティングゲーム
当たり判定は当たり判定は2D2D的でもいい。必要な前提知識が少なめで的でもいい。必要な前提知識が少なめで
入門には最適。入門には最適。
おすすめの勉強法は・・・おすすめの勉強法は・・・
ショボショボくてもくてもいいから何かいいから何か11本ゲーム的なものを作る本ゲーム的なものを作る
楽なのはシューティングゲーム楽なのはシューティングゲーム
当たり判定は当たり判定は2D2D的でもいい。必要な前提知識が少なめで的でもいい。必要な前提知識が少なめで
入門には最適。入門には最適。
凝った事が出来るようになったら色々要素が追加できる。凝った事が出来るようになったら色々要素が追加できる。
ということで前置きはこれぐらいにして・・・ということで前置きはこれぐらいにして・・・
ということで前置きはこれぐらいにして・・・ということで前置きはこれぐらいにして・・・
今回は今回は3D3Dプログラミングにおいて非常に重要な概プログラミングにおいて非常に重要な概
念である「変換行列」について触り程度にお話させ念である「変換行列」について触り程度にお話させ
て頂きます。て頂きます。
ということで前置きはこれぐらいにして・・・ということで前置きはこれぐらいにして・・・
今回は今回は3D3Dプログラミングにおいて非常に重要な概プログラミングにおいて非常に重要な概
念である「変換行列」について触り程度にお話させ念である「変換行列」について触り程度にお話させ
て頂きます。て頂きます。
行列行列・・・・・・英語で言うと英語で言うとMatrixMatrix
そもそも行列ってなんじゃそもそも行列ってなんじゃらほいらほい
そもそも行列ってなんじゃそもそも行列ってなんじゃらほいらほい
2D2D空間では空間ではXX・・YY座標・拡大縮小・回転で大体全て表現できる座標・拡大縮小・回転で大体全て表現できる
そもそも行列ってなんじゃそもそも行列ってなんじゃらほいらほい
2D2D空間では空間ではXX・・YY座標・拡大縮小・回転で大体全て表現できる座標・拡大縮小・回転で大体全て表現できる
また、画面上への反映が容易である(また、画面上への反映が容易である(XX・・YY座標がほぼそのままウィンド座標がほぼそのままウィンド
ウ上の座標になる)ウ上の座標になる)
そもそも行列ってなんじゃそもそも行列ってなんじゃらほいらほい
2D2D空間では空間ではXX・・YY座標・拡大縮小・回転で大体全て表現できる座標・拡大縮小・回転で大体全て表現できる
また、画面上への反映が容易である(また、画面上への反映が容易である(XX・・YY座標がほぼそのままウィンド座標がほぼそのままウィンド
ウ上の座標になる)ウ上の座標になる)
3D3Dではどうなのかではどうなのか
そもそも行列ってなんじゃそもそも行列ってなんじゃらほいらほい
2D2D空間では空間ではXX・・YY座標・拡大縮小・回転で大体全て表現できる座標・拡大縮小・回転で大体全て表現できる
また、画面上への反映が容易である(また、画面上への反映が容易である(XX・・YY座標がほぼそのままウィンド座標がほぼそのままウィンド
ウ上の座標になる)ウ上の座標になる)
3D3Dではどうなのかではどうなのか
そもそもそもそも3D3D空間を画面に描画するまでどのような変換が行われるのか空間を画面に描画するまでどのような変換が行われるのか
まず比較のためにまず比較のために
2D2Dでは大体このような変換順序となるでは大体このような変換順序となる
まず比較のためにまず比較のために
2D2Dでは大体このような変換順序となるでは大体このような変換順序となる
ローカル座標(スプライトの矩形の各頂点の座標とか)ローカル座標(スプライトの矩形の各頂点の座標とか)
まず比較のためにまず比較のために
2D2Dでは大体このような変換順序となるでは大体このような変換順序となる
ローカル座標(スプライトの矩形の各頂点の座標とか)ローカル座標(スプライトの矩形の各頂点の座標とか)
↓↓
ワールド座標(スプライト自体の移動・回転・拡大縮小を適用)ワールド座標(スプライト自体の移動・回転・拡大縮小を適用)
まず比較のためにまず比較のために
2D2Dでは大体このような変換順序となるでは大体このような変換順序となる
ローカル座標(スプライトの矩形の各頂点の座標とか)ローカル座標(スプライトの矩形の各頂点の座標とか)
↓↓
ワールド座標(スプライト自体の移動・回転・拡大縮小を適用)ワールド座標(スプライト自体の移動・回転・拡大縮小を適用)
まず比較のためにまず比較のために
2D2Dでは大体このような変換順序となるでは大体このような変換順序となる
ローカル座標(スプライトの矩形の各頂点の座標とか)ローカル座標(スプライトの矩形の各頂点の座標とか)
↓↓
ワールド座標(スプライト自体の移動・回転・拡大縮小を適用)ワールド座標(スプライト自体の移動・回転・拡大縮小を適用)
↓↓
スクリーン座標(実際の画面上に出力される座標)スクリーン座標(実際の画面上に出力される座標)
そしてそして3D3Dの場合はの場合は
そしてそして3D3Dの場合はの場合は
ローカル座標(ポリゴンの各頂点の座標とか)ローカル座標(ポリゴンの各頂点の座標とか)
そしてそして3D3Dの場合はの場合は
ローカル座標(ポリゴンの各頂点の座標とか)ローカル座標(ポリゴンの各頂点の座標とか)
↓↓
ワールド座標(ポリゴン自体の座標・回転・拡大縮小を適用)ワールド座標(ポリゴン自体の座標・回転・拡大縮小を適用)
そしてそして3D3Dの場合はの場合は
ローカル座標(ポリゴンの各頂点の座標とか)ローカル座標(ポリゴンの各頂点の座標とか)
↓↓
ワールド座標(ポリゴン自体の座標・回転・拡大縮小を適用)ワールド座標(ポリゴン自体の座標・回転・拡大縮小を適用)
↓↓
カメラ座標(ワールド座標をカメラから見た座標へ変換)カメラ座標(ワールド座標をカメラから見た座標へ変換)
そしてそして3D3Dの場合はの場合は
ローカル座標(ポリゴンの各頂点の座標とか)ローカル座標(ポリゴンの各頂点の座標とか)
↓↓
ワールド座標(ポリゴン自体の座標・回転・拡大縮小を適用)ワールド座標(ポリゴン自体の座標・回転・拡大縮小を適用)
↓↓
カメラ座標(ワールド座標をカメラから見た座標へ変換)カメラ座標(ワールド座標をカメラから見た座標へ変換)
↓↓
透視投影座標(遠近感を持たせる座標へ変換)透視投影座標(遠近感を持たせる座標へ変換)
そしてそして3D3Dの場合はの場合は
ローカル座標(ポリゴンの各頂点の座標とか)ローカル座標(ポリゴンの各頂点の座標とか)
↓↓
ワールド座標(ポリゴン自体の座標・回転・拡大縮小を適用)ワールド座標(ポリゴン自体の座標・回転・拡大縮小を適用)
↓↓
カメラ座標(ワールド座標をカメラから見た座標へ変換)カメラ座標(ワールド座標をカメラから見た座標へ変換)
↓↓
透視投影座標(遠近感を持たせる座標へ変換)透視投影座標(遠近感を持たせる座標へ変換)
↓↓
スクリーン座標(実際の画面上に出力される座標へ変換)スクリーン座標(実際の画面上に出力される座標へ変換)
この流れを見ると普通の人はこう思うこの流れを見ると普通の人はこう思う
この流れを見ると普通の人はこう思うこの流れを見ると普通の人はこう思う
なんだか凄く複雑な計算が必要そうなんだか凄く複雑な計算が必要そう
この流れを見ると普通の人はこう思うこの流れを見ると普通の人はこう思う
なんだか凄く複雑な計算が必要そうなんだか凄く複雑な計算が必要そう
確かに、この手順をベタで計算すると大変手間がかかります確かに、この手順をベタで計算すると大変手間がかかります
この流れを見ると普通の人はこう思うこの流れを見ると普通の人はこう思う
なんだか凄く複雑な計算が必要そうなんだか凄く複雑な計算が必要そう
確かに、この手順をベタで計算すると大変手間がかかります確かに、この手順をベタで計算すると大変手間がかかります
最近のゲームではシーン全体で数十万ポリゴンとかザラ最近のゲームではシーン全体で数十万ポリゴンとかザラ
この流れを見ると普通の人はこう思うこの流れを見ると普通の人はこう思う
なんだか凄く複雑な計算が必要そうなんだか凄く複雑な計算が必要そう
確かに、この手順をベタで計算すると大変手間がかかります確かに、この手順をベタで計算すると大変手間がかかります
最近のゲームではシーン全体で数十万ポリゴンとかザラ最近のゲームではシーン全体で数十万ポリゴンとかザラ
このポリゴンの全ての頂点に対して移動・回転・拡大縮小をこのポリゴンの全ての頂点に対して移動・回転・拡大縮小を
この手順通りに適用する・・・どう考えてもヤバイこの手順通りに適用する・・・どう考えてもヤバイ
お待たせしました!お待たせしました!
ここで変換行列の登場です!ここで変換行列の登場です!
お待たせしました!お待たせしました!
ここで変換行列の登場です!ここで変換行列の登場です!
この気の遠くなるような手順を簡単で軽くするために必要なのが変換行この気の遠くなるような手順を簡単で軽くするために必要なのが変換行
列なのです。列なのです。
お待たせしました!お待たせしました!
ここで変換行列の登場です!ここで変換行列の登場です!
この気の遠くなるような手順を簡単で軽くするために必要なのが変換行この気の遠くなるような手順を簡単で軽くするために必要なのが変換行
列なのです。列なのです。
変換行列のデータ構造変換行列のデータ構造
float matrix[4][4];float matrix[4][4]; //// 4x44x4の浮動小数点配列で表されるの浮動小数点配列で表される
お待たせしました!お待たせしました!
ここで変換行列の登場です!ここで変換行列の登場です!
この気の遠くなるような手順を簡単で軽くするために必要なのが変換行この気の遠くなるような手順を簡単で軽くするために必要なのが変換行
列なのです。列なのです。
変換行列のデータ構造変換行列のデータ構造
float matrix[4][4];float matrix[4][4]; //// 4x44x4の浮動小数点配列で表されるの浮動小数点配列で表される
変換行列には変換行列には33次元での移動・拡大縮小・回転の要素を全て詰めること次元での移動・拡大縮小・回転の要素を全て詰めること
ができる!ができる!
お待たせしました!お待たせしました!
ここで変換行列の登場です!ここで変換行列の登場です!
この気の遠くなるような手順を簡単で軽くするために必要なのが変換行この気の遠くなるような手順を簡単で軽くするために必要なのが変換行
列なのです。列なのです。
変換行列のデータ構造変換行列のデータ構造
float matrix[4][4];float matrix[4][4]; //// 4x44x4の浮動小数点配列で表されるの浮動小数点配列で表される
変換行列には変換行列には33次元での移動・拡大縮小・回転の要素を全て詰めること次元での移動・拡大縮小・回転の要素を全て詰めること
ができる!ができる!
行列のどこに何を代入すればいいの?とかの話は長くなるので今回は行列のどこに何を代入すればいいの?とかの話は長くなるので今回は
割愛。割愛。
先ほどの変換手順はローカル座標以外、先ほどの変換手順はローカル座標以外、
全て変換行列で表現できる全て変換行列で表現できる
ローカル座標(ただの座標情報なのでこのままでいい)ローカル座標(ただの座標情報なのでこのままでいい)
↓↓
ワールド座標ワールド座標・・・・・・ワールド変換行列ワールド変換行列
↓↓
カメラ座標カメラ座標・・・・・・カメラ変換行列カメラ変換行列
↓↓
透視投影座標透視投影座標・・・・・・透視投影変換行列透視投影変換行列
↓↓
スクリーン座標スクリーン座標・・・・・・スクリーン変換行列スクリーン変換行列
では、この変換行列をでは、この変換行列を
具体的にどうすればいいのか具体的にどうすればいいのか
とても大事な変換行列の性質とても大事な変換行列の性質
変換行列をローカル座標に掛けると、変換行列に設定されている移動・拡大縮変換行列をローカル座標に掛けると、変換行列に設定されている移動・拡大縮
小・回転が全て適用された座標になる小・回転が全て適用された座標になる
とても大事な変換行列の性質とても大事な変換行列の性質
変換行列をローカル座標に掛けると、変換行列に設定されている移動・拡大縮変換行列をローカル座標に掛けると、変換行列に設定されている移動・拡大縮
小・回転が全て適用された座標になる小・回転が全て適用された座標になる
ローカル座標ローカル座標××ワールド変換行列ワールド変換行列 == ワールド座標ワールド座標
とても大事な変換行列の性質とても大事な変換行列の性質
変換行列をローカル座標に掛けると、変換行列に設定されている移動・拡大縮変換行列をローカル座標に掛けると、変換行列に設定されている移動・拡大縮
小・回転が全て適用された座標になる小・回転が全て適用された座標になる
ローカル座標ローカル座標××ワールド変換行列ワールド変換行列 == ワールド座標ワールド座標
掛け算の順番は掛け算の順番は
http://msdn.microsoft.com/enhttp://msdn.microsoft.com/en--us/library/windows/desktop/bb206269(v=vs.85).aspxus/library/windows/desktop/bb206269(v=vs.85).aspx
とても大事な変換行列の性質とても大事な変換行列の性質
変換行列をローカル座標に掛けると、変換行列に設定されている移動・拡大縮変換行列をローカル座標に掛けると、変換行列に設定されている移動・拡大縮
小・回転が全て適用された座標になる小・回転が全て適用された座標になる
ローカル座標ローカル座標××ワールド変換行列ワールド変換行列 == ワールド座標ワールド座標
掛け算の順番は掛け算の順番は
http://msdn.microsoft.com/enhttp://msdn.microsoft.com/en--us/library/windows/desktop/bb206269(v=vs.85).aspxus/library/windows/desktop/bb206269(v=vs.85).aspx
つまりローカル座標つまりローカル座標××ワールド変換行列ワールド変換行列××カメラ変換行列カメラ変換行列××透視投影変換行列透視投影変換行列
××スクリーン変換行列スクリーン変換行列
== 求めたい最終結果の座標!求めたい最終結果の座標!
変換行列の性質その変換行列の性質その22
行列同士も掛け算できる行列同士も掛け算できる
変換行列の性質その変換行列の性質その22
行列同士も掛け算できる行列同士も掛け算できる
つまりローカル座標に掛ける前にあらかじめつまりローカル座標に掛ける前にあらかじめ
変換行列同士を掛けておくことで更に計算量変換行列同士を掛けておくことで更に計算量
を減らすことが出来る!を減らすことが出来る!
変換行列の性質その変換行列の性質その22
行列同士も掛け算できる行列同士も掛け算できる
つまりローカル座標に掛ける前にあらかじめつまりローカル座標に掛ける前にあらかじめ
変換行列同士を掛けておくことで更に計算量変換行列同士を掛けておくことで更に計算量
を減らすことが出来る!を減らすことが出来る!
変換行列ありがとう!変換行列最高!変換行列ありがとう!変換行列最高!
変換行列の性質その3変換行列の性質その3
((行列1行列1××行列2行列2)と、)と、 ((行列2行列2××行列1行列1)では)では
計算結果が異なる!=交換法則が成り立たない計算結果が異なる!=交換法則が成り立たない
変換行列の性質その3変換行列の性質その3
((行列1行列1××行列2行列2)と、)と、 ((行列2行列2××行列1行列1)では)では
計算結果が異なる!=交換法則が成り立たない計算結果が異なる!=交換法則が成り立たない
これはこれはBLBL作品等におけるカップリングと同様の性質作品等におけるカップリングと同様の性質
であり、掛ける順番には注意が必要であるであり、掛ける順番には注意が必要である
変換行列の性質その3変換行列の性質その3
((行列1行列1××行列2行列2)と、)と、 ((行列2行列2××行列1行列1)では)では
計算結果が異なる!=交換法則が成り立たない計算結果が異なる!=交換法則が成り立たない
これはこれはBLBL作品等におけるカップリングと同様の性質作品等におけるカップリングと同様の性質
であり、掛ける順番には注意が必要であるであり、掛ける順番には注意が必要である
実際のプログラムで動作を確認してみよう!実際のプログラムで動作を確認してみよう!
変換行列の生成方法変換行列の生成方法
変換行列の生成は多くの変換行列の生成は多くの3D3Dライブラリにおいて豊富なヘルパー関数がライブラリにおいて豊富なヘルパー関数が
用意されており、イチから計算する必要はありません。用意されており、イチから計算する必要はありません。
移動行列生成関数(回転・拡大縮小の関数ももちろんある)移動行列生成関数(回転・拡大縮小の関数ももちろんある)
http://msdn.microsoft.com/jahttp://msdn.microsoft.com/ja--jp/library/cc372906.aspxjp/library/cc372906.aspx
カメラ行列生成関数カメラ行列生成関数
http://msdn.microsoft.com/jahttp://msdn.microsoft.com/ja--jp/library/cc372877.aspxjp/library/cc372877.aspx
透視投影変換行列生成関数透視投影変換行列生成関数
http://msdn.microsoft.com/jahttp://msdn.microsoft.com/ja--jp/library/cc372898.aspxjp/library/cc372898.aspx
スクリーン変換行列スクリーン変換行列
ライブラリ初期化時にウィンドウ情報と一緒にセットされるライブラリ初期化時にウィンドウ情報と一緒にセットされる
通常意識する必要なし通常意識する必要なし
まとめまとめ
まとめまとめ
行列こそが行列こそが3D3Dプログラミングの基本!とっても大事!プログラミングの基本!とっても大事!
まとめまとめ
行列こそが行列こそが3D3Dプログラミングの基本!とっても大事!プログラミングの基本!とっても大事!
3D3D描画について、一から全て自分で計算する必要はない!描画について、一から全て自分で計算する必要はない!
まとめまとめ
行列こそが行列こそが3D3Dプログラミングの基本!とっても大事!プログラミングの基本!とっても大事!
3D3D描画について、一から全て自分で計算する必要はない!描画について、一から全て自分で計算する必要はない!
かなり大部分をライブラリでカバーしてくれている。かなり大部分をライブラリでカバーしてくれている。
まとめまとめ
行列こそが行列こそが3D3Dプログラミングの基本!とっても大事!プログラミングの基本!とっても大事!
3D3D描画について、一から全て自分で計算する必要はない!描画について、一から全て自分で計算する必要はない!
かなり大部分をライブラリでカバーしてくれている。かなり大部分をライブラリでカバーしてくれている。
実際の具体的な演算を理解するのは実際の具体的な演算を理解するのは3D3Dプログラミングという概念に慣れプログラミングという概念に慣れ
てからでも遅くはない!てからでも遅くはない!
まとめまとめ
行列こそが行列こそが3D3Dプログラミングの基本!とっても大事!プログラミングの基本!とっても大事!
3D3D描画について、一から全て自分で計算する必要はない!描画について、一から全て自分で計算する必要はない!
かなり大部分をライブラリでカバーしてくれている。かなり大部分をライブラリでカバーしてくれている。
実際の具体的な演算を理解するのは実際の具体的な演算を理解するのは3D3Dプログラミングという概念に慣れプログラミングという概念に慣れ
てからでも遅くはない!てからでも遅くはない!
3D3Dを恐れる必要はない。簡単なを恐れる必要はない。簡単な3D3Dプログラムならそんなに知識は必要プログラムならそんなに知識は必要
ない。ない。
そして最後に私からの提案・・・そして最後に私からの提案・・・
そして最後に私からの提案・・・そして最後に私からの提案・・・
社内社内3D3D勉強会やりませんか?勉強会やりませんか?
そして最後に私からの提案・・・そして最後に私からの提案・・・
社内社内3D3D勉強会やりませんか?勉強会やりませんか?
これからスマホアプリでもこれからスマホアプリでも3D3D描画によるものが更に増えてくる筈。描画によるものが更に増えてくる筈。
そして最後に私からの提案・・・そして最後に私からの提案・・・
社内社内3D3D勉強会やりませんか?勉強会やりませんか?
これからスマホアプリでもこれからスマホアプリでも3D3D描画によるものが更に増えてくる筈。描画によるものが更に増えてくる筈。
今すぐに今すぐに3D3Dアプリ開発に手を出すわけではないにしても、技術の蓄積をアプリ開発に手を出すわけではないにしても、技術の蓄積を
しておくに越したことはない。しておくに越したことはない。
そして最後に私からの提案・・・そして最後に私からの提案・・・
社内社内3D3D勉強会やりませんか?勉強会やりませんか?
これからスマホアプリでもこれからスマホアプリでも3D3D描画によるものが更に増えてくる筈。描画によるものが更に増えてくる筈。
今すぐに今すぐに3D3Dアプリ開発に手を出すわけではないにしても、技術の蓄積をアプリ開発に手を出すわけではないにしても、技術の蓄積を
しておくに越したことはない。しておくに越したことはない。
UnityUnityを利用した開発にも絶対役立つ。なんならを利用した開発にも絶対役立つ。なんならUnityUnity勉強会を含めてし勉強会を含めてし
まってもよい。まってもよい。
そして最後に私からの提案・・・そして最後に私からの提案・・・
社内社内3D3D勉強会やりませんか?勉強会やりませんか?
これからスマホアプリでもこれからスマホアプリでも3D3D描画によるものが更に増えてくる筈。描画によるものが更に増えてくる筈。
今すぐに今すぐに3D3Dアプリ開発に手を出すわけではないにしても、技術の蓄積をアプリ開発に手を出すわけではないにしても、技術の蓄積を
しておくに越したことはない。しておくに越したことはない。
UnityUnityを利用した開発にも絶対役立つ。なんならを利用した開発にも絶対役立つ。なんならUnityUnity勉強会を含めてし勉強会を含めてし
まってもよい。まってもよい。
将来への研究投資として会社からの支援があればと思います。将来への研究投資として会社からの支援があればと思います。
ご清聴ありがとうございました!ご清聴ありがとうございました!

Mais conteúdo relacionado

Semelhante a 3D勉強会 第1回 3Dプログラミングのススメ

Braindots-開発秘話- Cocos2d-x3.5 開発事例 -
Braindots-開発秘話- Cocos2d-x3.5 開発事例 -Braindots-開発秘話- Cocos2d-x3.5 開発事例 -
Braindots-開発秘話- Cocos2d-x3.5 開発事例 -和樹 川端
 
Regional Scrum Gathering Tokyo 2023 Keiji Kikuchi Remote Mobbing
Regional Scrum Gathering Tokyo 2023 Keiji Kikuchi Remote MobbingRegional Scrum Gathering Tokyo 2023 Keiji Kikuchi Remote Mobbing
Regional Scrum Gathering Tokyo 2023 Keiji Kikuchi Remote MobbingKeiji Kikuchi
 
ライティングについて 考えてみようの巻-公開版-
ライティングについて 考えてみようの巻-公開版-ライティングについて 考えてみようの巻-公開版-
ライティングについて 考えてみようの巻-公開版-poko ponmaru
 
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事Manabu Koga
 
エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜 (Gunma.web #12 2013/02/09)
エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜  (Gunma.web #12 2013/02/09)  エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜  (Gunma.web #12 2013/02/09)
エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜 (Gunma.web #12 2013/02/09) parrotstudio
 
Cocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたCocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたTomohiro Suzuki
 
ゲーム屋ですがこんな風にXD使ってます(Xd勉強会20180316)
ゲーム屋ですがこんな風にXD使ってます(Xd勉強会20180316)ゲーム屋ですがこんな風にXD使ってます(Xd勉強会20180316)
ゲーム屋ですがこんな風にXD使ってます(Xd勉強会20180316)Kaku Okuda
 
3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法
3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法
3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法Drecom Co., Ltd.
 
3Dプリンタことはじめ
3Dプリンタことはじめ3Dプリンタことはじめ
3DプリンタことはじめNISHIMOTO Keisuke
 
Rustで3D graphics programming
Rustで3D graphics programmingRustで3D graphics programming
Rustで3D graphics programmingKiyotomoHiroyasu
 
ゲームデータDLとの戦い ~幻塔戦記グリフォン~
ゲームデータDLとの戦い ~幻塔戦記グリフォン~ゲームデータDLとの戦い ~幻塔戦記グリフォン~
ゲームデータDLとの戦い ~幻塔戦記グリフォン~Syougo Yoshino
 
唐揚げ屋さんから学ぶプロデューサーのお仕事 in CEDEC+KYUSU 2023.11.25
唐揚げ屋さんから学ぶプロデューサーのお仕事 in CEDEC+KYUSU 2023.11.25唐揚げ屋さんから学ぶプロデューサーのお仕事 in CEDEC+KYUSU 2023.11.25
唐揚げ屋さんから学ぶプロデューサーのお仕事 in CEDEC+KYUSU 2023.11.25Takanori Nakayama
 
SIG-Audio#3 アンケート集計結果
SIG-Audio#3 アンケート集計結果SIG-Audio#3 アンケート集計結果
SIG-Audio#3 アンケート集計結果IGDA Japan SIG-Audio
 
Devsumi2013Summer EnterpriseTED MikuKinoshita
Devsumi2013Summer EnterpriseTED MikuKinoshitaDevsumi2013Summer EnterpriseTED MikuKinoshita
Devsumi2013Summer EnterpriseTED MikuKinoshitaKinoshita Miku
 
背景を作って苦労してみた ~Amplify Impostors~
背景を作って苦労してみた ~Amplify Impostors~背景を作って苦労してみた ~Amplify Impostors~
背景を作って苦労してみた ~Amplify Impostors~poko ponmaru
 
わんくま名古屋 #29 (2013/11/23) TDD道場 #17
わんくま名古屋 #29 (2013/11/23) TDD道場 #17わんくま名古屋 #29 (2013/11/23) TDD道場 #17
わんくま名古屋 #29 (2013/11/23) TDD道場 #17Yasuhiko Yamamoto
 
コンセプトから始めるゲーム作成の流れ と その時々の決め事
コンセプトから始めるゲーム作成の流れ と その時々の決め事コンセプトから始めるゲーム作成の流れ と その時々の決め事
コンセプトから始めるゲーム作成の流れ と その時々の決め事kappa1116jp
 
実体験に基づく、少人数制作によるシューティングゲームの提案
実体験に基づく、少人数制作によるシューティングゲームの提案実体験に基づく、少人数制作によるシューティングゲームの提案
実体験に基づく、少人数制作によるシューティングゲームの提案IGDA Japan
 
Game Development and Automation @ Agile Sapporo 2018 #1
Game Development and Automation @ Agile Sapporo 2018 #1Game Development and Automation @ Agile Sapporo 2018 #1
Game Development and Automation @ Agile Sapporo 2018 #1Michael Tedder
 

Semelhante a 3D勉強会 第1回 3Dプログラミングのススメ (20)

Braindots-開発秘話- Cocos2d-x3.5 開発事例 -
Braindots-開発秘話- Cocos2d-x3.5 開発事例 -Braindots-開発秘話- Cocos2d-x3.5 開発事例 -
Braindots-開発秘話- Cocos2d-x3.5 開発事例 -
 
Regional Scrum Gathering Tokyo 2023 Keiji Kikuchi Remote Mobbing
Regional Scrum Gathering Tokyo 2023 Keiji Kikuchi Remote MobbingRegional Scrum Gathering Tokyo 2023 Keiji Kikuchi Remote Mobbing
Regional Scrum Gathering Tokyo 2023 Keiji Kikuchi Remote Mobbing
 
ライティングについて 考えてみようの巻-公開版-
ライティングについて 考えてみようの巻-公開版-ライティングについて 考えてみようの巻-公開版-
ライティングについて 考えてみようの巻-公開版-
 
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
サーバー未経験者がソーシャルゲームを通して知ったサーバーの事
 
エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜 (Gunma.web #12 2013/02/09)
エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜  (Gunma.web #12 2013/02/09)  エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜  (Gunma.web #12 2013/02/09)
エンジニアがTRPGをやるべき理由 〜隣り合わせの遊びと技術〜 (Gunma.web #12 2013/02/09)
 
Cocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたCocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみました
 
ゲーム屋ですがこんな風にXD使ってます(Xd勉強会20180316)
ゲーム屋ですがこんな風にXD使ってます(Xd勉強会20180316)ゲーム屋ですがこんな風にXD使ってます(Xd勉強会20180316)
ゲーム屋ですがこんな風にXD使ってます(Xd勉強会20180316)
 
3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法
3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法
3Dリアルマップを用いたモバイルゲーム開発における課題とその解決方法
 
3Dプリンタことはじめ
3Dプリンタことはじめ3Dプリンタことはじめ
3Dプリンタことはじめ
 
Rustで3D graphics programming
Rustで3D graphics programmingRustで3D graphics programming
Rustで3D graphics programming
 
ゲームデータDLとの戦い ~幻塔戦記グリフォン~
ゲームデータDLとの戦い ~幻塔戦記グリフォン~ゲームデータDLとの戦い ~幻塔戦記グリフォン~
ゲームデータDLとの戦い ~幻塔戦記グリフォン~
 
唐揚げ屋さんから学ぶプロデューサーのお仕事 in CEDEC+KYUSU 2023.11.25
唐揚げ屋さんから学ぶプロデューサーのお仕事 in CEDEC+KYUSU 2023.11.25唐揚げ屋さんから学ぶプロデューサーのお仕事 in CEDEC+KYUSU 2023.11.25
唐揚げ屋さんから学ぶプロデューサーのお仕事 in CEDEC+KYUSU 2023.11.25
 
Unreal Studio+機械CADのワークフロー
Unreal Studio+機械CADのワークフローUnreal Studio+機械CADのワークフロー
Unreal Studio+機械CADのワークフロー
 
SIG-Audio#3 アンケート集計結果
SIG-Audio#3 アンケート集計結果SIG-Audio#3 アンケート集計結果
SIG-Audio#3 アンケート集計結果
 
Devsumi2013Summer EnterpriseTED MikuKinoshita
Devsumi2013Summer EnterpriseTED MikuKinoshitaDevsumi2013Summer EnterpriseTED MikuKinoshita
Devsumi2013Summer EnterpriseTED MikuKinoshita
 
背景を作って苦労してみた ~Amplify Impostors~
背景を作って苦労してみた ~Amplify Impostors~背景を作って苦労してみた ~Amplify Impostors~
背景を作って苦労してみた ~Amplify Impostors~
 
わんくま名古屋 #29 (2013/11/23) TDD道場 #17
わんくま名古屋 #29 (2013/11/23) TDD道場 #17わんくま名古屋 #29 (2013/11/23) TDD道場 #17
わんくま名古屋 #29 (2013/11/23) TDD道場 #17
 
コンセプトから始めるゲーム作成の流れ と その時々の決め事
コンセプトから始めるゲーム作成の流れ と その時々の決め事コンセプトから始めるゲーム作成の流れ と その時々の決め事
コンセプトから始めるゲーム作成の流れ と その時々の決め事
 
実体験に基づく、少人数制作によるシューティングゲームの提案
実体験に基づく、少人数制作によるシューティングゲームの提案実体験に基づく、少人数制作によるシューティングゲームの提案
実体験に基づく、少人数制作によるシューティングゲームの提案
 
Game Development and Automation @ Agile Sapporo 2018 #1
Game Development and Automation @ Agile Sapporo 2018 #1Game Development and Automation @ Agile Sapporo 2018 #1
Game Development and Automation @ Agile Sapporo 2018 #1
 

Mais de infinite_loop

ChatGPT触ってみた
ChatGPT触ってみたChatGPT触ってみた
ChatGPT触ってみたinfinite_loop
 
社内ソフトスキルを考える
社内ソフトスキルを考える社内ソフトスキルを考える
社内ソフトスキルを考えるinfinite_loop
 
3Dプリンタって いいね
3Dプリンタって いいね3Dプリンタって いいね
3Dプリンタって いいねinfinite_loop
 
VRChatでお酒が注げる飲み物アセットの紹介
VRChatでお酒が注げる飲み物アセットの紹介VRChatでお酒が注げる飲み物アセットの紹介
VRChatでお酒が注げる飲み物アセットの紹介infinite_loop
 
アニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdfアニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdfinfinite_loop
 
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
I ❤ Virtual Machines 仮想環境をより便利に使うツールたちI ❤ Virtual Machines 仮想環境をより便利に使うツールたち
I ❤ Virtual Machines 仮想環境をより便利に使うツールたちinfinite_loop
 
500万行のPHPプロジェクトにおけるログ出力の歩み
500万行のPHPプロジェクトにおけるログ出力の歩み500万行のPHPプロジェクトにおけるログ出力の歩み
500万行のPHPプロジェクトにおけるログ出力の歩みinfinite_loop
 
ADRという考えを取り入れてみて
ADRという考えを取り入れてみてADRという考えを取り入れてみて
ADRという考えを取り入れてみてinfinite_loop
 
リファクタリングで実装が○○分短縮した話
リファクタリングで実装が○○分短縮した話リファクタリングで実装が○○分短縮した話
リファクタリングで実装が○○分短縮した話infinite_loop
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますinfinite_loop
 
楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19doinfinite_loop
 
Start rl with_unity_machine_learning_agents
Start rl with_unity_machine_learning_agentsStart rl with_unity_machine_learning_agents
Start rl with_unity_machine_learning_agentsinfinite_loop
 
がんばれ PHP Fiber
がんばれ PHP Fiberがんばれ PHP Fiber
がんばれ PHP Fiberinfinite_loop
 
心に残った名前ランキング
心に残った名前ランキング心に残った名前ランキング
心に残った名前ランキングinfinite_loop
 
プログラムと名前にまつわる座談会
プログラムと名前にまつわる座談会プログラムと名前にまつわる座談会
プログラムと名前にまつわる座談会infinite_loop
 
名は体を表していますか
名は体を表していますか名は体を表していますか
名は体を表していますかinfinite_loop
 
大切な名前[Intro]公開版
大切な名前[Intro]公開版大切な名前[Intro]公開版
大切な名前[Intro]公開版infinite_loop
 
JupyterNotebookとMySQLでゼロからはじめるデータサイエンス
JupyterNotebookとMySQLでゼロからはじめるデータサイエンスJupyterNotebookとMySQLでゼロからはじめるデータサイエンス
JupyterNotebookとMySQLでゼロからはじめるデータサイエンスinfinite_loop
 

Mais de infinite_loop (20)

ChatGPT触ってみた
ChatGPT触ってみたChatGPT触ってみた
ChatGPT触ってみた
 
社内ソフトスキルを考える
社内ソフトスキルを考える社内ソフトスキルを考える
社内ソフトスキルを考える
 
3Dプリンタって いいね
3Dプリンタって いいね3Dプリンタって いいね
3Dプリンタって いいね
 
VRChatでお酒が注げる飲み物アセットの紹介
VRChatでお酒が注げる飲み物アセットの紹介VRChatでお酒が注げる飲み物アセットの紹介
VRChatでお酒が注げる飲み物アセットの紹介
 
アニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdfアニメーションとスキニングをBurstで独自実装する.pdf
アニメーションとスキニングをBurstで独自実装する.pdf
 
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
I ❤ Virtual Machines 仮想環境をより便利に使うツールたちI ❤ Virtual Machines 仮想環境をより便利に使うツールたち
I ❤ Virtual Machines 仮想環境をより便利に使うツールたち
 
500万行のPHPプロジェクトにおけるログ出力の歩み
500万行のPHPプロジェクトにおけるログ出力の歩み500万行のPHPプロジェクトにおけるログ出力の歩み
500万行のPHPプロジェクトにおけるログ出力の歩み
 
ADRという考えを取り入れてみて
ADRという考えを取り入れてみてADRという考えを取り入れてみて
ADRという考えを取り入れてみて
 
リファクタリングで実装が○○分短縮した話
リファクタリングで実装が○○分短縮した話リファクタリングで実装が○○分短縮した話
リファクタリングで実装が○○分短縮した話
 
ゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せますゲームのインフラをAwsで実戦tips全て見せます
ゲームのインフラをAwsで実戦tips全て見せます
 
楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do楽しいVR空間を作る技術と支える技術 #osc19do
楽しいVR空間を作る技術と支える技術 #osc19do
 
Start rl with_unity_machine_learning_agents
Start rl with_unity_machine_learning_agentsStart rl with_unity_machine_learning_agents
Start rl with_unity_machine_learning_agents
 
UniRx の1歩目
UniRx の1歩目UniRx の1歩目
UniRx の1歩目
 
がんばれ PHP Fiber
がんばれ PHP Fiberがんばれ PHP Fiber
がんばれ PHP Fiber
 
心に残った名前ランキング
心に残った名前ランキング心に残った名前ランキング
心に残った名前ランキング
 
プログラムと名前にまつわる座談会
プログラムと名前にまつわる座談会プログラムと名前にまつわる座談会
プログラムと名前にまつわる座談会
 
名は体を表していますか
名は体を表していますか名は体を表していますか
名は体を表していますか
 
名前の力
名前の力名前の力
名前の力
 
大切な名前[Intro]公開版
大切な名前[Intro]公開版大切な名前[Intro]公開版
大切な名前[Intro]公開版
 
JupyterNotebookとMySQLでゼロからはじめるデータサイエンス
JupyterNotebookとMySQLでゼロからはじめるデータサイエンスJupyterNotebookとMySQLでゼロからはじめるデータサイエンス
JupyterNotebookとMySQLでゼロからはじめるデータサイエンス
 

3D勉強会 第1回 3Dプログラミングのススメ