【playcanvas×ncmb...

45
PlayCanvas運営事務局 津田

Upload: playcanvas

Post on 21-Jan-2018

102 views

Category:

Engineering


1 download

TRANSCRIPT

Page 1: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvas運営事務局

津田

Page 3: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

アジェンダ

• PlayCanvasとは– グラフィックスAPI ・ WebGLとは

– WebGLアプリ開発のイマドキ

– PlayCanvas詳細

– PlayCanvasでできること

– PlayCanvasの開発スタイル

• WebGLアプリの今後– ゲームプラットフォームとしてのWeb

– HTML5ゲームプラットフォームとPlayCanvas

– 拡充されるWebAPI

• まとめ

Page 4: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvasとは

Page 5: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvasとは

• HTML5 WebGLで動く3Dゲームを

ブラウザ上で開発配信できる統合環境

• Editor + Engine + Community 一体型

「クラウドホスティングゲーム開発環境」– リアルタイムコラボレーションに焦点を当てた開発・プレイ環境を目

指し、日々改善が進められている

Page 6: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

そもそもグラフィックスAPIって

• 2D/3Dの3DCGを描画するためのAPI– 大きく分けて、DirectXとOpenGLの2つがある

• DirectX:MS向けの高速GL

• OpenGL:クロスプラットフォーム

• WebGLはOpen GLの仲間!– WebGL 1.0はOpenGL ES 2.0の互換

– ブラウザからGPUアクセスするJavaScript API

OpenGL1.3

OpenGL ES 2.0

WebGL 2.0

OpenGL ES 3.0

OpenGL ES 3.2 OpenGL4.5

Page 7: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

WebGLとは

• Webブラウザ上で3DCGを表示させる標準仕様– WebブラウザからGPUアクセスするJavascript API

– 特別なプラグイン必要なし!

• Web上での3D表現のデファクトスタンダード

Page 8: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

WebGLのための開発ライブラリ・フレームワーク

• WebGLを簡単に扱うための多くのライブラリ・フレームワークが登場

– Web• three.js 一番使われているWebGLライブラリ。無料。

• A-FRAME three.jsを利用して開発されたWebVR用フレームワーク

– ゲーム

• Unity

• Unreal Engine emscriptenを利用してJavaScriptにクロスコンパイル

Page 9: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

WebGLのための開発ライブラリ・フレームワーク

• 最終的にはJSでWebGLを叩く形になるWeb ゲーム

– WebGLライブラリに深い部分は任せて、アプリの開発に専念。

– 開発者は抽象化されたHLAPIを使用– マークアップや、コードベースで開発していく

スタイルが多く、無料でOSSがほとんど

WebGL(GPU)

WebGL library(JS)

アプリケーション(html,JS)

HLAPI

LLAPI C# IL C++LLVM

IL JS

mono IL2CPP Clang Binaryen

– C#およびC++で記述されたコードを、さまざまな技術を利用してJavaScriptにクロスコンパイル

Page 10: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvas Engine

• MITライセンスで公開されているOSS• JavaScriptだけで記述された軽量なエンジン• 多機能

– 豊富なグラフィックス– 衝突・物理– 音声– リソース管理– Entity/コンポーネントシステム– スクリプティングシステム– 各種I/O

• 軽量なのが特徴– ソースコード8MB– ランタイムコード2.43MB– gZip圧縮後 147KB

Page 11: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvas Engine

• Engineそのものは、Webの文化にのっとっている– OSSでエンジン単体なら無料で使用可

– マークアップとJavaScriptを利用してコードベースで開発

WebGL(GPU)

PlayCanvas Engine(JS)

アプリケーション(JS)

HLAPI

LLAPI

Page 12: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvas Editor

• ゲーム開発の文化も取り入れ、3Dのビジュアルエディタを搭載– Web上で完全に動作

– モデルインポーター(FBX,OBJ)

– 直感的なデザイン

– コラボレーション

– 即時反映

Page 13: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvas Editor

• ビジュアルエディタを介してエンジンを使用– Web上で動作するためエンジンのダウンロードやインストール不要

URLひとつで開発開始

– 開発者はマークアップや描画APIを気にすることなく3DWebアプリ開発可能

– 内部ではJavaScript製のエンジンが走っているため、リロード、コンパイル不要で即時的に反映されるリアルタイム感

– コラボレーションも可能。プッシュ,コミットといったワークフローを排除

Page 14: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvas Community

• サービスサイトにコミュニティも統合– 開発物の紹介や相談等活発

• 無料から使える公開環境

– 200MBまで無料で使える

– 人気プロジェクトはExploreに

– 他ゲームのシーンやコードは閲覧可能

Page 15: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvasでできること

• ブラウザゲーム開発

• スマホブラウザゲーム

• リッチメディア広告

• WebVR

• プロダクトビジュアライゼーション

Page 16: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

ブラウザゲーム開発

• Webブラウザ上で動作するゲームを開発可能

• ブラウザ上でネイティブレベルのグラフィックが表現可能です。

TANX

MOANA Wayfinding with code

Page 17: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

スマホブラウザゲーム開発

• PlayCanvas製アプリはモバイルブラウザでも動作します。

• touchやdevicemotion等のモバイル向けイベントも実装。モバイルブラウザゲームが手軽に開発が可能です。

Master ArcherTANX

Page 18: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

リッチメディア広告

• Webで動作するPlayCanvas製アプリは手軽にリッチメディア広告が作成できます。

• ゲームのアセットをそのまま利用して広告を作成

• 体験版をWeb上で展開などなど・・・

TRANSFORMERS THE LAST KNIGHT

Page 19: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

WebVR

• Webブラウザ上でVRアプリケーションを楽しむWebVRにも対応– ハイエンドWebVR (ハイエンドPCとHMDで楽しむもの)

– スマホブラウザVR (スマホブラウザからアクセスして汎用ゴーグルで楽しむもの)

• 天球画像のビューワーなどもノンプログラミングで実装可能!

WebVR Lab

360 lookaround camera

Page 20: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

プロダクトビジュアライゼーション

• モデルデータを手軽に読み込んで公開することが可能なのでモデルビューワーとしても最適。

• Model Viewer Starter Kitを利用すると、ノンプログラミングでモデルの公開ができます。

BMW i8Black Diamond

Page 21: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvasの開発スタイル

• ワークフロー

• モデルインポート

• スクリプティング

• 外部ライブラリの使用

• デバッグ

• コラボレーション

• REST API

Page 22: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvasで変わるワークフロー

• 開発環境の構成比較:一般的な開発

開発環境提供元

検証版配置先

バージョン管理ツール

情報共有ツール

配信先

開発グループ検証会社

開発キット作業成果

最新データ

配信版

検証版

検証

Page 23: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

クラウドホスティングゲーム開発環境

• 開発環境の構成比較:PlayCanvasでの開発

開発に必要なものはPC,ネット,ブラウザのみ!

PlayCanvas

配信先

開発グループ

検証会社

開発キット

作業

最新データ

配信版検証版

検証

配信版

配信版

Page 24: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvas

配信先

開発グループ

検証会社

開発キット

作業

最新データ

配信版検証版

検証

配信版

配信版

開発序盤~中盤

PlayCavnasは全てWeb上で動作- エンジンのインストール不要- URLひとつで開発開始

- データは常に最新の状態

Page 25: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvas

配信先

開発グループ

検証会社

開発キット

作業

最新データ

配信版検証版

検証

配信版

配信版

開発中盤~終盤

- 無料から使える公開環境- 数クリックでデプロイ可能- URLを共有するだけで公開可能

Page 26: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

PlayCanvas

配信先

開発グループ

検証会社

開発キット

作業

最新データ

配信版検証版

検証

配信版

配信版

開発終盤

- 最後に作成したアプリケーションをzipダウンロード可能- エンジンごとダウンロードされるので、依存関係はなし- スクリプトは連結され、短縮化・難読化される

Page 27: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

モデルインポート

• PlayCanvasではFBX, OBJ等の3Dモデルが扱えます– ボーンアニメーションにも対応

– Webではそのまま解釈できないのでインポートするとPlayCanvasが解釈できるjson形式に自動的に変換

– マテリアルが内包されていた場合も自動でコンバート

Page 28: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

スクリプティング

• 開発言語はJavaScript– プロトタイプチェインで基本的には一般的なJS

– コンポーネントとなるスクリプトはpc.createScript()で作成

– 基本的なメソッド

• initialize … 初期化時に実行

• update … 毎フレーム実行

• swap … 後述

var Script = pc.createScript('script');

Script.prototype.initialize = function() { };

Script.prototype.update = function(dt) { };

Script.prototype.swap = function(old) { };

Page 29: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

外部ライブラリの使用

• jQueryなどの外部ライブラリも使用可能– ライブラリをプロジェクトにアップロードすれば使用可能

– 仕様上、playcanvas.comからの外部参照はできない

• QRコード作成:jQuery.qrcode.js

• PCスマホ間同期通信:photon-JSSDK

VR Flight Simulator

Page 30: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

デバッグ

• URLを渡すだけで即時的に全端末で実行!– JavaScriptのみで動作しているため、コンパイルをはさまず即時同期

– 従来のようなワークフローを排除

Page 31: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

コラボレーション

• 複数人で同一コードのリアルタイム編集が可能– コミット,プッシュ,プルといったワークフローを排除

– コンフリクトを回避

Page 32: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

REST API

• ダウンロード→デプロイの流れをシームレスに– API経由でダウンロードファイルの生成を要求

– JobIDが指定されるのでポーリングしてステータスを確認

– パラメータでアプリの名前やリリースノート,バージョン等入力

– ビルド終了後、DLリンクが発行される

• Organizationプランのみに提供

PlayCanvasクライアント

API経由でリクエスト

jobID ビルド

jobステータスを確認アプリのパラメータ指定

応答 download_urlにlink

Page 33: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

ご利用事例

• CMサイト様– CMサイトが自社アドゲーム開発にPlayCanvasを採用!CMサイトの考え

る次世代のアドゲームとは?https://support.playcanvas.jp/hc/ja/articles/115005023268

• ボトルキューブ様– PlayCanvasを採用し4タイトルのゲームアプリを開発したボトルキューブの

次なる一手は?https://support.playcanvas.jp/hc/ja/articles/230074267

PlayCanvasの国内でのご採用も徐々に増えてきています!!

Page 34: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

WebGLアプリの今後- ゲームプラットフォームとしてのWeb -

Page 35: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

Webにゲームが戻ってくる日

• 端末性能の向上– PC, スマホともにWebがゲームプラットフォームとして十分機能する

• 次世代ブラウザゲーム– 美麗なグラフィックスを活かしたゲームも開発可能に– 開発環境の登場。Webを意識することなくゲーム開発に集中可能

• Webの自由度– ネイティブアプリとの大きな違い

• マーケット管理者に左右されない、コンテンツの自由度• インストール不要,URLひとつで配信可能

Page 36: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

昨今のWebGLゲームを取り巻く環境

• HTML5 ゲームプラットフォームが多く登場– ポイントサイト等のミニゲームプラットフォームが主流だった– WebGL, ストリーミング技術の向上により大型IPタイトル等も登場

• より増えるWeb APIとWebアプリの可能性– Web Audio API … 音声ファイル,動的にエフェクト,リバーブなど– GamePad API … ゲームコントローラの入力を受付– Indexed DB, WebStorage … データベースやストレージ– Payment Request API … 支払いのチェックアウトフローをより簡単に– http, https, WebSocket, WebRTC … P2Pもサーバー/クライアント通信も。

• 新しい要素は増え続けている– Web Bluetooth API getUserMedia/Stream API

iOS 11 ARkitの登場で今後WebARも可能に

Page 37: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

まとめ

• PlayCanvasは日々進化し続けています!– ゲーム開発者がWebGLアプリ開発を始めるにはとっても心強い味方!

• Webを意識せず、ゲーム開発に集中できる環境が整ってきている

• ゲームプラットフォームとしてのWebも成長!– 多くのHTML5プラットフォームが登場

– 要素となるWeb APIも数々登場• Webでの表現手法がより広がる

PlayCanvasは皆様のWebGLゲーム開発をお助けします!

このタイミングでWebGLゲーム開発をはじめてみませんか?

Page 38: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

それではハンズオンへ移ります!

• ハンズオン資料はこちら

http://bit.ly/pcwithncmb

資料をダウンロードしてお待ちください

Page 39: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)
Page 40: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

いかがでしたか?

• PlayCanvasの手軽さ、パワフルさを体感していただければ幸いです。

• まだまだ紹介し切れていない機能も!– エクストリームプログラミング

– リアルタイム通信

– モバイル対応

– 2D / スプライトアニメーション

– WebVR

• どこが聞きたいかアンケートに是非お書きください!

Page 41: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

今後の予定

• 【来週!】9/13(水) PlayCanvas × Photon ソーシャルVRハンズオン! @渋谷

– ネットワークエンジンPhotonと組み合わせてソーシャルVRアプリをつくります!

• 全国行脚勉強会を実施予定!

– 予定地)札幌,福岡,名古屋,大阪

• この後も勉強会・ワークショップ続々開催予定!

Page 42: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

日本語ヘルプセンターやってます

• ナレッジベースや、コミュニティ(フォーラム)機能のあるヘルプセンター– 本家ブログ記事の翻訳,技術的なTips,日本での事例記事やイベント告知等

の最新情報盛りだくさん!

• こんなものがほしい、ここを教えてほしい等のご要望はお気軽に!

• コンテンツの充実化を図って行きますので、ぜひご利用ください!

• https://support.playcanvas.jp/hc/ja

Page 43: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

お問い合わせ

• メールアドレス

[email protected]

• ヘルプセンター

– https://support.playcanvas.jp/hc/ja

• 最新情報はtwitterで!– @playcanvasJP

Page 44: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)

最後に..

一緒に働ける仲間を

大募集中!!

詳細はこちら↓

Page 45: 【PlayCanvas×NCMB 勉強会+ハンズオン】クラウド型のHTML5/WebGLゲームエンジン「PlayCanvas」のご紹介(2017/09/05講演)