Playmaker情報まとめ

STYLY Magazineにて掲載しているPlaymaker関連の記事をまとめています。
Playmakerで実現可能なアイデアを用途別にまとめているので、初心者でも作りたいものが見つけやすいようになっています。

 

Playmakerとは?

PlaymakerはUnity用のビジュアルスクリプティングツールです。
コードを書かずに様々なロジックを組み立てることができ、プログラムの知識がなくても様々なギミックを作ることができます。
(例:カメラの移動、触るとインタラクションが発生するオブジェクトの作成、プレイヤーを移動させるボタン)

PlaymakerはUnity Asset Storeで販売される有料アセットで、価格は$65 です。
セール時には大きく価格が下がるので、そのタイミングで購入するのも良いでしょう。

STYLYとPlaymakerの連携

STYLYはPlaymakerを利用して作成したオブジェクトのインポートに対応しています。
これにより、STYLY上で簡単なゲームすら作成可能です。

現在STYLYはUnityの基本機能とPlaymakerの基本アクションの(ほぼ)全てに対応しており、これらを組み合わせてシーンを作成することができます。

Playmakerを使って作れるシーンの例

REM – カメラを移動させる

カメラが移動するシーン

dot.line- – オブジェクトをランダムに発生させる

Sensor light – 近づくと点灯するライトを作る

Playmaker のインストール方法

PlaymakerはUnity Asset Storeで販売されている有料ツールです。
Playmakerの購入方法とインストール方法は、以下の記事で詳しく紹介しています。

Playmaker アクション解説

Coming Soon…

Playmakerを使って、STYLYでできること

Playmakerを使うことで、カメラを移動させたりインタラクションを作ったり、STYLYに様々なギミックを組み込むことができます。
ここではSTYLY Magazineに掲載されている記事を元に、Playmakerで実現可能なアイデアを一覧にしました。

種類 実現可能なアイデア キーとなるアクション 記事URL
カメラやコントローラーへのアクセス カメラにアクセスする Find Game Object  
コントローラーにアクセスする Find Game Object  
コントローラーのモデルを別のものに変更する Create Object Destroy Object コントローラーへアクセスし、コントローラーのモデルを別のモデルへ変更する手順について
移動 カメラの移動 iTween Unity上でカメラが移動するアニメーションをPlayMakerで実装する
プレイヤーをワープさせる   STYLY Editorで使用できるワープシステムの作り方
コントローラー コントローラーに衝突判定を与える   Rigidbodyコンポーネントを使い無重力を表現する
コントローラーのボタンの押し込みを検出する   Unityでライトを使って懐中電灯を作る
手に物を持たせる   Unityでライトを使って懐中電灯を作る
Raycastで離れたオブジェクトにアクセスする Raycast STYLYで好きな本を選んで引き寄せる方法
インタラクション 触ると発生するインタラクション Trigger Enter PlayMakerを使って、STYLY内でインタラクティブ機能を実装する方法
距離をトリガーにしたインタラクション Get Distance Playmakerを使って近づくと点灯するライトを作る
その他 オブジェクトをランダムな位置に出現させる Create Object Unity+Playmakerでスーパーボールを大量に発生させる
スローモーションのシーンを作る Scale Time UnityのPlaymakerでスローモーションのシーンを作る方法_vol.2
Post-Processingの設定 Post-Processingの設定を細かく調整する Add Component STYLYでPost-Processing Stackを使う
ゲームのような複雑なシーンの作成 コントローラーからオブジェクトを投げる クリケットスタジアムのチュートリアル
STYLYでアーチェリーを体験  VRコントローラーを使い、STYLYでアーチェリーを体験するには
STYLYでシューティングゲームを作る PlayMakerの利用 -1-
STYLYで無双ゲームを作る STYLYとUnityのPlaymakerで無双VRを作る Vol.1 -アニメーションとランダム生成-

カメラやコントローラーへのアクセス

Find Game Objectというアクションを使用することで、カメラやコントローラーにアクセスできるようになります。これはPlaymakerでインタラクティブなコンテンツを作る上で、最も基本的なアクションです。

カメラ/コントローラーにアクセスする

カメラやコントローラーにアクセスするには、「Find Game Object」でカメラ/コントローラーを見つけ、変数に保存する必要があります。

アクセス先 アクセス方法
カメラにアクセス 「Find Game Object」でWith Tagを「Main Camera」に変更し、変数として保存
右コントローラーにアクセス 「Find Game Object」でObject Nameに「Controller (right)」と入力し、変数として保存
左コントローラーにアクセス 「Find Game Object」でObject Nameに「Controller (left)」と入力し、変数として保存

コントローラーのモデルを別のものに変更する

コントローラーにアクセスし、コントローラーのモデルを別のものに変更することもできます。
詳しい解説はこちらの記事で紹介しています。

移動

カメラの移動

カメラが移動するシーン

カメラが移動するシーン

PlaymakerとiTweenという無料アセットを組み合わせると、カメラの動きを簡単にコントロールすることができます。A点とB点を決め、その間をどんな速さで動かすか決める、というイメージです。

カメラを移動させる方法についてはこちらの記事で詳しく紹介しています。

プレイヤーをワープさせる

押すとプレイヤーがワープするスイッチ

押すとプレイヤーがワープするスイッチ

Playmakerを使うと、特定の位置に一瞬でワープするアセットを作成することもできます。ワープする元の位置とワープ先をSTYLY Editor内で自由に決めることができるように作成することもできます。

プレイヤーをワープさせる方法はこちらの記事で詳しく紹介しています。

コントローラー

コントローラーに衝突判定を与える

コントローラーで触るとオブジェクトが飛んでいくシーン

コントローラーで触るとオブジェクトが飛んでいくシーン

コントローラーに衝突判定を与えることで、オブジェクトにコントローラーで触れるシーンを作成できます。「無重力状態で浮いているオブジェクトに触ると、物理法則に従って飛んでいく」などの演出に利用できます。

コントローラーに衝突判定を与える方法はこちらの記事で解説しています。

コントローラーのボタンの押し込みを検出する

以下のグローバルイベントを使用することにより、コントローラーのボタン操作を検出することができるようになります。
Playmaker EditorのEventsリストにてこれらの名前のイベントを作成し、遷移の中に配置することで機能します。イベント名が一字でも違うと正しく動作しないので注意しましょう。

コントローラーの操作 左コントローラー 右コントローラー
トリガーを引く Global_TriggerPressDown_L Global_TriggerPressDown_R
トリガーを離す  Global_TriggerPressUp_L Global_TriggerPressUp_R
グリップボタンを押し込む  Global_GripPressDown_L Global_GripPressDown_R
グリップボタンを離す  Global_GripPressUp_L Global_GripPressUp_R

 

遷移の完成イメージ

グローバルイベントを使用した遷移の作成例

コントローラーのボタンの検出は、こちらの記事で紹介しています。

手に物を持たせる

懐中電灯

懐中電灯

Playerの手に物を持たせる方法をマスターすれば、懐中電灯や銃など様々なアイテムを作品に組み込むことができるようになります。個性的な作品を作成する際に有効です。

Playerの手に物を持たせる方法はこちらの記事で紹介しています。

Raycastで離れたオブジェクトにアクセスする

離れたオブジェクトを引き寄せるギミック

離れたオブジェクトを引き寄せるギミック

Raycastというアクションを使うことで、「遠くのオブジェクトを選択する」ギミックを作成することができます。応用次第で様々な物を制作できるアクションです。

Raycastを使用して離れたオブジェクトを引き寄せるギミックの作り方はこちらの記事で解説しています。

インタラクション

触ると発生するインタラクション

触ることでインタラクションを発生させる仕組みは、インタラクティブなコンテンツを作る際に非常に有効です。Trigger Enterというグローバルイベントを使用することで、「何かが衝突したことを検知して次のイベントに繋げる」という遷移を簡単に作ることができます。

Trigger Enterの使い方はこちらの記事で詳しく紹介しています。

距離をトリガーにしたインタラクション

近づくと自動で点灯するセンサーライト

近づくと自動で点灯するセンサーライト

「Get Distance」というアクションを利用すると、二つのオブジェクトの間の距離を測ることができます。このアクションを使用することで、距離をトリガーにしたインタラクションを作成することができます。たとえば、「自動ドア」「センサーライト」「近づくと飛んでいく鳥」などの作成に役立ちます。

「Get Distance」の詳しい使い方はこちらの記事で詳しく紹介しています。

その他

オブジェクトをランダムな位置に出現させる

ランダムな位置にオブジェクトを発生させるシーン

ランダムな位置にオブジェクトを発生させるシーン

ランダムな位置にオブジェクトを発生させる仕組みは、様々なシーンの作成において役に立ちます。たとえば、上記画像のようにスーパーボールが飛び散るシーンであったり、ランダムな位置から敵が迫ってくるゲームの作成などに役立ちます。

ランダムな位置にオブジェクトを発生させる方法は、こちらの記事で紹介しています。

スローモーションのシーンを作る

スローモーションを利用したシーン

スローモーションを利用したシーン

Scale Timeというアクションを使うことで、シーン内の時間の進み方を速くしたり遅くしたり、自由にコントロールすることができます。演出に使ったり、インタラクティブなコンテンツの作成に役立つでしょう。

Scale Timeの使い方はこちらの記事で紹介しています。

Post-Processingの設定

Post Processing Stackの使用

Post Processing Stackの使用

STYLYでは、Filter機能により画面の雰囲気を変えることができます。しかし、こだわり始めると自分でPost-Processingの設定を細かく調整したい場合も出てくると思います。自作のPostProcessing Profileを使用したい場合はPlaymakerを使えば可能です。

自作のPostProcessing Profileを使用する方法はこちらの記事で詳しく紹介しています。

ゲームのような複雑なシーンの作成

STYLY Magazineでは、Playmakerを使用してゲームのような複雑なシーンを作成する方法も紹介しています。

コントローラーからオブジェクトを投げる

STYLYでアーチェリーを体験

STYLYでシューティングゲームを作る

STYLYで無双ゲームを作る

STYLYへのアップロード

Playmakerを利用して作成したオブジェクトは、プレハブ化してアップロードするとSTYLYで使用できます。
UnityからSTYLYにアセットをアップロードする方法は以下の記事で詳しく紹介しています。

まとめ

いかがだったでしょうか。
Playmakerを使用するとSTYLYでのVR体験をより変化に富んだものにすることができます。
ぜひこの記事を参考に、インタラクションを組み込んだVR作品を作ってみてください。