SlideShare a Scribd company logo
1 of 59
プログラムで映像をつくるとは??
超入門編!!
神田 竜
目次
• 自己紹介
• 作例紹介
• 触ってみよう
自己紹介
• 神田竜
• Kezzardrix名義で活動
• フリーランスのプログラマ
• VJ
• SjQ++
• VMO
• HEXPIXELS
• 展示の手伝いとか
自己紹介
• LINEスタンプなども出しました
• ケザドリ
自己紹介
• クリエイターケザドリ
自己紹介
• ヒップホップケザドリ
自己紹介
• ケザジジケザババ
本日よろしくお願い致します!!!
作例紹介
映像仕事多い
ほぼ全てプログラミングして作る
プログラミング映像の利点
• レンダリング待ちがない!
• リアルタイムに色々出来る!
→ 何かに反応
→ パラメータを変更可
• かゆいところに手が届く!
→ 便利な機能を思いついたら自分で作る
→ デバイスと組み合わせるとか
オーディオリアクティブVJ
• https://www.youtube.com/watch?v=eryQb3e
77r8
• http://www.creativeapplications.net/maxmsp
/hexpixels-c-punks-a-unit-for-realtime-visual-
expression/
• パラメータやシーンをリアルタイムで操作
• ミキサーをプログラミング
SjQ++
• https://vimeo.com/77019029
• オーディオビジュアルな即興演奏バンド
• 楽器を個別にセンシング
• 演奏を聞いて映像を変える
• 映像を見て演奏を変える
→ お互いにフィードバックする
SDKezzardrix
• https://vimeo.com/160073609
• レーザー担当のMotoi Shimizu君とのユニット
• レーザーとPJをキャリブレーションして使う
パフォーマンス
• Dividual Plays
• 安藤洋子 + YCAMによるプロジェクト
• http://special.ycam.jp/ram/
• 自作モーションキャプチャを利用
• https://vimeo.com/121890356
→ 客ではなくダンサーに見せる映像
→ダンスの動きのアイデアになる情報を作る
展示案件
• 天吊のセンサーカメラ(KinectV2)で人を検知
• ネットに出せません案件
映像制作
• LITEのMV
• https://www.youtube.com/watch?v=tTVs1Mo
R2kA
• 事前に楽器のファイルをバラで貰って解析
• リアルタイムで動かしてキャプチャ
• Take20くらい撮った
• 初回のを未編集で採用。。。
まとめ
• 普通の映像制作じゃ無理なこと
→ インタラクティブ、他セクションとの連携
• 普通の映像制作じゃめんどいこと
→ 事前解析、データベース、ランダマイズ
んじゃ、実際どんな感じで作るの?
何使うの?
&
どんな流れで作るの?
プログラミング環境の種類
• 色々あります
• ビジュアルプログラミング
• コードをガリガリ書くもの
• ゲームエンジン
↓
それぞれ特性が違う!
ビジュアルプログラミング
ビジュアルのプログラミング?
ビジュアルでプログラミング!
ビジュアルプログラミング
• GUIを使って開発
• 多くの環境が、箱と箱を線で繋いで開発
→ パッチング
→ 動かしながら開発できる
• プログラミング初心者でも参入しやすい
Max7
• Cycling74が開発
→ https://cycling74.com/
• 音楽と映像を同時に扱える
• 業界標準
• 元々は音楽用のソフト
→ 音響処理が超得意
Max7
• 有料
• 昔は高かったけど、今は安い
Pure data
• https://puredata.info/
• Maxにも関わっていた音楽家が立ち上げ
• 無料
• 音響処理は強い
• 映像も扱える
• 編集のこなれ具合でいうとMaxには劣る
→ パッチの整理とか
VVVV
• https://vvvv.org/documentation/jp.propagand
a
• Windowsのみ
• 有志が開発したプラグインが凄い
• DirectXによるレンダリング
Touch Designer
• http://www.derivative.ca/
• Windowsのみ
• GUIが独特
• 照明の制御などにも使われる
まとめ
• プログラミングの入門にはかなり良い
• Maxがオススメ
• かゆいところに手が届かないことがある
→ 自分で箱自体を作ることも可能
→ ソースが公開されてるので頑張って書く
• GUIを描画しているので、少し重い
2、コードベース
コードベース
• エディタを使ってコードを書く
• コードからアプリケーションを生成
コードベース
• 利点
• (ほぼ)なんでも好きなように出来る
→ 足りない機能は自分で開発可能
• 欠点
• 全部自分で書かないといけない
→ カメラの設定、物体の質感
→ 設定を保存したかったら保存機能を開発
コードベース
• 多くの環境が開発と実行が分かれている
→ 動かしながらコードを変えられない
→ コードがアプリケーションを吐くまで待つ
→ コンピュータがコードを解釈
→ アプリに固める処理をやる
→ コンパイル
閑話休題
プログラミング言語の話
言語は色々あります
• C言語
• C++
• C#
• Java
• JavaScript
→ 全部文法が違う
→ 文法は違うけど、基本は同じ
→ 英語とか日本語と同じ
今日紹介するのは
• それらの言語で書かれた便利なコード集
• アートとかデザイン向けの機能
• ツールキット
• ライブラリ
→ 便利な機能は先人が作ってくれている
→ ウィンドウを作るとか誰が開発しても同じ
→ その上で中身のネタを作る
• 言語そのものがわかれば拡張可能
クリエイティブコーディング
• oFとかProcessingとかをまとめてこう呼ぶ
• Cinderがカンヌをとったくらいから?
• バズワード
Processing
• https://processing.org/
• 教育向け
• Javaベースの言語
Processing
• 難易度は比較的低め
• 開発環境の導入がしやすい
→ 落としたらすぐに動く
• Javaで動いているのでちょっと重い
openFrameworks
• http://openframeworks.cc/ja/
• 通称oF
• 日本では恐らく一番人気
openFrameworks
• 様々なオープンソースのコードを利用
→ 映像生成
→ 動画再生
→ サウンド
→ デバイスなど
• これらを繋ぐ「糊」のようなもの
• アドオンと呼ばれる拡張機能を有志が開発
→ http://ofxaddons.com/
openFrameworks
• 利点
• C++ベースなので速い
• 日本のユーザー多めでコミュニティもある
→ 質問がしやすい
• C++が難しい
• C++は果てしない
Cinder
• https://libcinder.org/about
• oFと同じくC++
• モダンOpenGLなど、新しい機能を積極的に取
り入れる
Cinder
• 映像のかなり深いところまで開発しやすい
• oFよりもエンジニア向けに色々設計されてる
• 初心者向けではない
→ exampleも難しめ
→ 映像プログラミングの深いところを知らな
いと意味不明なコードが多い
Three.js
• http://threejs.org/
• Javascirptベースのツールキット
• WebGLが動く
→ スマホでも3Dが表示できる
ちょっとoF書いてみます?
openFrameworks
• void 〜()というブロック
• 関数と呼ぶ
→ 仕事毎に役割分担するようなもの
• それぞれの関数に処理を分けて書く
openFrameworks
• setup
→ アプリ全体で使う設定
→ アプリ起動時に一度だけ呼ばれる
• update
→ 毎フレームの更新処理
• draw
→ 描画処理
まとめ
• 細かいことは色々出来る
• リッチな表現などをやろうとすると大変そう
ゲームエンジン
• ゲームを開発する用途に作られたもの
• GUIで操作
• コードもかける
• 便利な機能が盛りだくさん
• デザイナーでも作業できる
• 自分で拡張するのも可能
• 出来ないことは出来ない
ゲームエンジン
• 昔はゲーム会社だけが大金払って使用
• モバイルゲームなどの普及でゲーム開発も
個人へ
• 個人でも使えるようにライセンス緩和
• 売り上げが少なければタダで使える
ゲームエンジン
• ゲーム作んないけどアートとか展示に便利そ
う
• oFで全部作ると
→ 最新のレンダリングテクニックの実装大変
Unity
• http://japan.unity3d.com/
• 最新バージョンは5
• 昔は有料だった機能もタダで使えるように
• デスクトップアプリ、モバイルアプリ、web開発
など幅広く対応
• アセットストアが充実
→ 金の力で解決だ
Unreal Engine
• https://www.unrealengine.com/ja/what-is-
unreal-engine-4
• ゲーム業界での実績が凄い
• 立ち上げた瞬間から絵が綺麗
→ハイスペックのPCでないと動かない
Unityを体験してみる
• GUIで操作
• マテリアルの設定とかすぐ
• コードも書ける
→ 外部エディタで書く
→ 言語はC#かJavaScript
• drawがないので描画はUnity任せ
→ 拡張しようとすると色々めんどい
→ でも、僕ら的にはそこが一番楽しい

More Related Content

What's hot

低レイヤー入門
低レイヤー入門低レイヤー入門
低レイヤー入門
demuyan
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
Kota Mizushima
 

What's hot (20)

【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現【Unity道場】VectorGraphicsで作る エモい表現
【Unity道場】VectorGraphicsで作る エモい表現
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
 
Unityでオニオンアーキテクチャ
UnityでオニオンアーキテクチャUnityでオニオンアーキテクチャ
Unityでオニオンアーキテクチャ
 
【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう
【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう
【GTMF2018TOKYO】ScriptableRenderPipelineでアプリに最適な描画をしよう
 
低レイヤー入門
低レイヤー入門低レイヤー入門
低レイヤー入門
 
RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装RPGにおけるイベント駆動型の設計と実装
RPGにおけるイベント駆動型の設計と実装
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
Machinationの紹介
Machinationの紹介Machinationの紹介
Machinationの紹介
 
テストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jpテストとリファクタリングに関する深い方法論 #wewlc_jp
テストとリファクタリングに関する深い方法論 #wewlc_jp
 
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
CEDEC 2020 - 高品質かつ低負荷な3Dライブを実現するシェーダー開発 ~『ラブライブ!スクールアイドルフェスティバル ALL STARS』(スク...
 
VRM 標準シェーダ MToon の使い方
VRM 標準シェーダ MToon の使い方VRM 標準シェーダ MToon の使い方
VRM 標準シェーダ MToon の使い方
 
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
「スキルなし・実績なし」 32歳窓際エンジニアがシリコンバレーで働くようになるまで
 
メタプログラミングって何だろう
メタプログラミングって何だろうメタプログラミングって何だろう
メタプログラミングって何だろう
 
「宴」実装時に得られたUnityプログラムノウハウ
「宴」実装時に得られたUnityプログラムノウハウ「宴」実装時に得られたUnityプログラムノウハウ
「宴」実装時に得られたUnityプログラムノウハウ
 
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
オンラインで同期した100体の巨大生物から地球を衛る方法  UNREAL FEST EXTREME 2021 SUMMERオンラインで同期した100体の巨大生物から地球を衛る方法  UNREAL FEST EXTREME 2021 SUMMER
オンラインで同期した100体の巨大生物から地球を衛る方法 UNREAL FEST EXTREME 2021 SUMMER
 
「伝わるチケット」の書き方
「伝わるチケット」の書き方「伝わるチケット」の書き方
「伝わるチケット」の書き方
 
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
 
ゲーム開発とデザインパターン
ゲーム開発とデザインパターンゲーム開発とデザインパターン
ゲーム開発とデザインパターン
 
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
 
ゲームエンジンの中の話
ゲームエンジンの中の話ゲームエンジンの中の話
ゲームエンジンの中の話
 

Similar to プログラムで映像をつくるとは?? ~超入門編~

Google Glassでできること XE11版 最新開発情報 Mirror API & GDK
Google Glassでできること XE11版 最新開発情報 Mirror API & GDKGoogle Glassでできること XE11版 最新開発情報 Mirror API & GDK
Google Glassでできること XE11版 最新開発情報 Mirror API & GDK
Masahiro Wakame
 
Webサイトのようには作れない!Webアプリ設計の考え方
Webサイトのようには作れない!Webアプリ設計の考え方Webサイトのようには作れない!Webアプリ設計の考え方
Webサイトのようには作れない!Webアプリ設計の考え方
girigiribauer
 
endeworksでのWebAppの作り方
endeworksでのWebAppの作り方endeworksでのWebAppの作り方
endeworksでのWebAppの作り方
33rpm
 
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDKGoogle Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Masahiro Wakame
 

Similar to プログラムで映像をつくるとは?? ~超入門編~ (20)

WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際WEB業界でほしい人材とは? そしてWEB業界の実際
WEB業界でほしい人材とは? そしてWEB業界の実際
 
Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13
Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13
Oculus 体験・勉強会「VRコンテンツ制作入門」 2015/05/13
 
Google Glass XE17版
Google Glass XE17版Google Glass XE17版
Google Glass XE17版
 
Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2Swiftビギナーズ倶楽部 vol.2
Swiftビギナーズ倶楽部 vol.2
 
コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意コード嫌いのためのDreamweaver デザインビューの極意
コード嫌いのためのDreamweaver デザインビューの極意
 
Swift gesture
Swift gestureSwift gesture
Swift gesture
 
とある Perl Monger の働き方
とある Perl Monger の働き方とある Perl Monger の働き方
とある Perl Monger の働き方
 
ゲームデザインについて
ゲームデザインについてゲームデザインについて
ゲームデザインについて
 
今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜
今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜
今すぐ始められるモバイルVR〜あなたも今日からVRエンジニア〜
 
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
Developers Summit 2013【14-E-4】デザインをするときにデザイナーが考えること〜デザイナーの頭の中〜
 
Live2Dの描画の裏側の話
Live2Dの描画の裏側の話Live2Dの描画の裏側の話
Live2Dの描画の裏側の話
 
Google Glassでできること XE11版 最新開発情報 Mirror API & GDK
Google Glassでできること XE11版 最新開発情報 Mirror API & GDKGoogle Glassでできること XE11版 最新開発情報 Mirror API & GDK
Google Glassでできること XE11版 最新開発情報 Mirror API & GDK
 
Webサイトのようには作れない!Webアプリ設計の考え方
Webサイトのようには作れない!Webアプリ設計の考え方Webサイトのようには作れない!Webアプリ設計の考え方
Webサイトのようには作れない!Webアプリ設計の考え方
 
endeworksでのWebAppの作り方
endeworksでのWebAppの作り方endeworksでのWebAppの作り方
endeworksでのWebAppの作り方
 
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
アイデアを塩漬けにしない-世界中の人に手伝ってもらう方法-
 
Node.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしようNode.jsでサーバプログラマ デビューしよう
Node.jsでサーバプログラマ デビューしよう
 
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDKGoogle Glassでできること XE12版 最新開発情報 Mirror API & GDK
Google Glassでできること XE12版 最新開発情報 Mirror API & GDK
 
Vi Boot Camp #1
Vi Boot Camp #1Vi Boot Camp #1
Vi Boot Camp #1
 
WebGL入門ハンズオン資料
WebGL入門ハンズオン資料WebGL入門ハンズオン資料
WebGL入門ハンズオン資料
 
Cmujp21_node-webkit
Cmujp21_node-webkitCmujp21_node-webkit
Cmujp21_node-webkit
 

プログラムで映像をつくるとは?? ~超入門編~