1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

PLAYCANVASを触ってみる

Last updated at Posted at 2016-11-11

#はじめに
某勉強会で「PLAYCANVAS」のお話を聞き、感動してしまったので、さっそく触ってみた。

#環境設定
まずは環境を作成してみる。
基本的にはここを参考にしながら進めていった。

※その他の参考資料
PlayCanvas Developer Resources

##違ったところ

###アカウント作ったら、いきなりプロジェクトのエディター画面になった
いきなりだし。
英語だし。(それだけで拒否反応)
戻れないし。

仕方ないから、もう一度、Topページを開いた。

※真ん中上にある「My First Project」をクリックし、プロジェクトのTop画面が表示されたら、左上の「PLAYCANVAS」でTopページに戻れた
image1.jpg
image2.jpg

#プロジェクトを作ってみる
参考にした記事を元に、早速プロジェクトを作ってみた

##違ったところ

###「NEW PROJECT」ダイアログの下に、なにやら増えてる
まぁこれはバージョンが上がったということで、仕方がないことですけど。
「ENABLE VR」を選ぶと、HMDに対応してくれるのかな?(未確認)
image3.jpg

###すでにいくつもEntityが設定されている
これから地面(板)とかボールとかカメラとかライトとか設定するのに、すでにあるし...
仕方ないから、いったん消してみた。
image4.jpg

###「INSPECTOR」ペインってどれ?
どこにも書かれてないし...
どうやら真ん中のビューのある領域の模様。
image5.jpg

###暗い(笑)
ライト消しちゃったからねぇ。
これは仕方ない。
image6.jpg

###ゲーム画面に編集内容が反映されない
別のウィンドウ(タブ)なので、当たり前ですよね。
何でこういう記事になったのかな?(古いバージョンは違った?)

仕方ないので、毎回、ローンチします。

###「Directional Light」を追加
これは、自分で消しちゃったんだからしょうがない。

###ライトに「Cast Shadows」がない
バージョンが変わったのでしょうか? ないです。
おそらく「Shadows」になったのでしょうね。
image7.jpg

###床面の影がむごい
デフォルトのままだと、影と面が干渉したような描画になります。
image8.jpg
床面に対しては、ちょっと設定が違うようです。
「Shadows」の「cast」をOFFにしてみます。
image9.jpg

###「New Script」ではなくて「Script」だけ
まぁそうなったのでしょう。
image10.jpg

###すでにスクリプトコードが書かれている
プレイヤーを動かすためのスクリプトを書こうとすると、デフォルトでコードが書かれていました。
image11.jpg
仕方がないので、それっぽく書き直してみた。

var PlayerController = pc.createScript('playerController');

// initialize code called once per entity
PlayerController.prototype.initialize = function() {
    this.app.keyboard.on(pc.EVENT_KEYDOWN, this.onKeyDown, this);
};

// update code called every frame
PlayerController.prototype.update = function(dt) {
    if (this.app.keyboard.wasPressed(pc.KEY_LEFT)) {
        // 押下されたのが左キーだった場合
        // X軸方向に大きさ-1の衝撃をエンティティに与えることでエンティティを動かす
        this.entity.rigidbody.applyImpulse(-1, 0, 0);
    }
};

PlayerController.prototype.onKeyDown = function(event) {
    // デフォルトのキーイベントをキャンセルする
    event.event.preventDefault();
};

###スクリプトファイルをドラッグできない
まぁそうなったのでしょう。
選択する形式になったようです。
image13.jpg

#結局
動いた!ヽ( ̄ ̄∇ ̄ ̄)ノ
image15.jpg

#まとめ
結構難しいです。 というか、よくわからない。
「RIGID BODY」とか、なんのことだかわからないし。
やりたいことをするために、何をすればいいのかが分かるまでには、相当時間がかかりそう。

そういえば、Unityもよくわからなかったなぁ。

1
0
2

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?