LoginSignup
5
3

More than 3 years have passed since last update.

WebGLをふんだんに使った3Dウェブサイトをチームで作ってみた:解説【フロントエンドエンジニア編】

Last updated at Posted at 2019-10-07

初めに

WebGLで3Dを活用したWebサイト、「 3DWebSite 」をPlayCanvasを利用して開発しました。
Imgur

ここでは、3DWebSiteを開発した際に得られた、__ゲームエンジンを利用してWebサイトを作る__知見を残すためそれぞれの担当メンバーが解説記事を執筆しています。

解説記事一覧

何をやったか

3DWebSiteというPlayCanvasを使用したウェブサイト制作のデモを作成しました。枠割としてはデプロイのためのCLIツールを作りました。PlayCanvasの機能として、すべてのフリープラン・パーソナルプラン・オーガニゼーションプランと3つのプランがあり、そのすべてのプランREST APIができます。それを使用して、PlayCanvasの開発を素早くするための物を作成しました。

役割

  • フロントエンドエンジニア
  • DevOps
  • バックエンドのCLIツールの作成
    役割としてはDevOpsフロントエンドエンジニアという関わり方をしました。

なぜ

  1. PlayCanvas上でソースコードを管理しているためGitの管理化から外れる
    PlayCanvasではすべての開発がWebで完結する強みがある一方、開発時に使用するコードエディターを使用すると、ソースコードの管理のフローもウェブ上で行われます。
    そのため、PlayCanvasのエディタ-で開発をするとGitでの管理下かから、外れてしまいます。

  2. SassやPug、TypeScript等を使用したい
    PlayCanvasTypeScriptBabelSassPugなどを使用したい場合があります。そのときにもPlayCanvasのコードエディターを直接使用すると少し開発が厳しいため、こちらも解消していきましした。

PlayCanvasの開発フロー

  1. 新規作成
    PlayCanvasでは付属のコードエディターがありますので基本的にはそちらを使用して開発をしていきます。こちらに関してはすべてWeb上で開発を行うことができます。

  2. コード記述
    コードの記述についてはPlayCanvasがしているファイル形式、HTML, CSS, JavaScriptを使用して開発を行います。ソースコードを記述した後、ゲーム画面をリロードすることでコードの変更がゲーム画面に反映されています。

  3. 書き換え
    作成したコードを書き換える際にもコードエディターを使用してちょくせつかきかえます

解決策

上記の問題を解決するために、playcanvas-nodeplaycanvas-gulpというnpmのパッケージを作成しました。

  • playcanvas-nodeについて、こちらについてはPlayCanvasのAPIのラッパーとなっており、Node.jsからPlayCanvasのREST APIを使用するのを簡単にするためのパッケージです。PlayCanvasのREST APIの種類については後述いたします。

  • playcanvas-gulpについてこちらはGulpと言われるタスクランナーのプラグインです。

Gulpの役割

今回のGulpの役割はローカルで作成したts,sass,scss,pugなどのファイルをビルドします。

この2つを使用したあたらしいPlayCanvasの開発フローはこちらです

  1. 監視
    Visual Studio Code,Vimなど、ローカルで好きなエディターを使用してファイルを新規作成します。scss, pug, tsファイルなどが新規作成がされるとgulpのタスクが実行されます。

  2. ビルド
    gulpはそれぞれのビルドをするのに、プラグインと言われるライブラリを使用してビルドをします。それぞれのファイルの形式に応じたプラグインを使用してビルドをします。

  3. アップロード
    ビルドされた後にgulp-playcanvasを使用して、PlayCanvasのコードエディター上にアップロードをします。

使い方につきましてはこちらを御覧ください

Gulpのプラグインを書いたらPlayCanvasでの開発がめちゃくちゃ便利になった

PlayCanvasのGulpのプラグインを使用することで開発が簡単になりました。PlayCanvasでのフロントエンドの開発はまだあまりたまっておらず、今から始めると簡単に第一人者になれますのでぜひ

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3