PlayCanvas
https://gyazo.com/12c239708d9a83423441d5117f08e39c
2018/04/25にPlayCanvas1.0がリリースされました。
しばらく触ってない&下記情報は古い(2018年1月頃)可能性があるので、注意してください。
公式サイト
特徴
WebGLなのでターゲットデバイスはブラウザが動けば大体OK
デスクトップアプリやiOS/Andoidのネイティブアプリに出力する手段もある
提供はPLAYCANVAS社(イギリス)
どの程度のことができるのかの参考になる
3Dゲームも2Dゲームも開発可能
Blender、Maya等で作った3Dモデルをインポート可能
お値段
Freeで機能面で困ることは基本的に無いと思う
アプリ起動時にPlayCanvasのロゴが出る、これの削除はOrganizationのみ
Privateプロジェクトが必要ならPersonal
セルフホスティングが必要ならOrganization
Unityよりは安い
開発関連
クラウドベース、ブラウザ上で開発
ブラウザの開発ツールが大分作り込まれているため困ることは無い
なんと、スマホでも開発ツールが動く(開発できるとは言っていない)
使い慣れたIDEやエディタで開発すると言った選択肢は基本無い
ブラウザツールなのでキーボードショートカット等にどうしても制限があるのは避けられない
単語選択しようとしてVisualStudioのショートカットキーのCtrl + wを押すとタブが閉じる
開発ツール、エンジンの設計思想がUnityに近くUnity経験者に取っ付きやすい印象
ES6(ES2015)での記述はできなくはないけど動作環境に制限が出るため避けたほうが良さそう
公開されているプロジェクトの中身を見られるので実装方法などの参考にできる
ドキュメント関連
内容がちょっと古いけど導入には支障ないと思う
一応、質問にはGMOの担当の人が答えてくれているみたい
良いところ
デバッグ実行中にスクリプトをいじるとアプリに即反映される
反映時にして欲しい処理(初期化とか)ある場合、その処理を実行する仕組みが入っている(スワップ機能)
UnityのようにEditor実行中の変更は終了時に全て戻るってのも使い慣れると便利なことも多いので一長一短かもしれない
開発ツールがブラウザ上で動作するのでインストール等の作業が一切不要
デザイナさんに直接UIをいじってもらう場合なんかに凄く便利そう
ただし、Version管理ができないので壊されると大変なことに・・・
微妙なところ
実行中のHierarchyとSceneを確認できない(UnityだとEditor実行中に確認できる)
スクリプトからEntityを生成操作等を行っているときにHierarchyで確認できないとデバッグしづらい
あるEntityが表示されない場合、下記のような原因であればHierarchyやSceneが確認できれば解決しやすい
Entityが生成できておらず、Hierarchyに居ない
Hierarchyには居るが、別のオブジェクトの後ろに居る
Hierarchyには居るが、disenableになっていて描画されていない
Hierarchyには居るが、Alpha = 0になっていて見えない
Hierarchyには居るが、カメラの範囲外に居て描画されていない
クラウドベースなので個別のVersion管理ができない
Git連携できる、ような記事はあるにはある
レガシースクリプティングの日本語訳ページはなぜか途中で切れてる(英語版はURLのjaをenに変更)
プロジェクトをDownLoadしてVersion管理する、っていう手法は一応可能
Version管理できないので、仮で色々いじって方向性が見えたから一旦全部戻して整理して実装、みたいな手法が取れない
クラウドベースなので複数人で同一プロジェクトを編集しづらい
他人の変更点が即時反映されてしまうので、チーム内で編集ルールを作らないときついんじゃないだろうか
同一Sceneは同時に複数人が編集しないようにするとか
IDE内に編集者が利用できるチャットがあるので、連携を取り合うことは無理ではない
教育用だったりペアプロだったりには向いているけど、業務用としてはデメリットだと思う
JavaScriptの言語仕様上限界があるが、インテリセンスがC#等と比べると貧弱
オブジェクトに属性(UnityでいうSerializeField属性)を付与できるが、名称指定が文字列
インテリセンスが効かなくなるので文字列を使いたくない
UnityでいうPrefabの仕組みが無い
画面レイアウトを作って、Prefabにして保存ということができない
Hierarchy上に置いておき必要に応じてenableしたりcloneしたりして利用する
Hierarchyが大変なことになりそう・・・
動作にサーバーが必要
一応公式がホスティングサービスしてくれてる(Freeプランでも利用可能)
開発もネット環境が無いと何もできない
国内での情報がまだまだ少ない
Qiita投稿数(2017/12/27現在)
PlayCanvas:36件
CreateJS:118件
enchant.js:84件
Unity:4251件
cocos2d-x:666件
UnrealEngine:156件
なんか気になった所を纏めたらものすごく文句ばっか言ってる感じになってしまった。
Unityと似てるので、そこと比較してしまうと気になってしまうが、PlayCanvas自体は良いエンジンだと思う。
クラウドベースゆえのメリットとデメリットが如実に現れており、さくっと軽いものを作るのには良いが巨大なものになればなるほど大変になる印象。