【記事まとめ】PlayMaker

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

PlayMakerとは?

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

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

STYLYとPlayMakerの連携

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

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

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

代表的な例は以下のようなものです。

体験者を移動させる

カメラが移動するシーン

PlayMaker のインストール方法

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

PlayMaker リファレンス

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

ここではSTYLY Magazineに掲載されている記事を元に、PlayMakerで実現可能なアイデアを一覧にしました。

種類 実現可能なアイデア、要望 記事URL
体験者の視点位置(カメラ) 体験者が特定のエリアに来たことを判定したい PlayMakerを使って近づくと点灯するライトを作る
体験者をスムーズ移動させたい Unity上でカメラが移動するアニメーションをPlayMakerで実装する
体験者をワープ移動させたい STYLY Editorで使用できるワープシステムの作り方
コントローラー コントローラーにアクセスしたい この記事内
コントローラーのボタンの押し込みを検出したい Unityでライトを使って懐中電灯を作る

コントローラーがオブジェクトに衝突した際に何か起こしたい

Rigidbodyコンポーネントを使い無重力を表現する

コントローラーがオブジェクトに触れた際に何か起こしたい

PlayMakerを使って、STYLY内でインタラクティブ機能を実装する方法

手(コントローラー位置)に物を持たせたい Unityでライトを使って懐中電灯を作る
Raycastで離れたオブジェクトにアクセスさせたい

STYLYで好きな本を選んで引き寄せる方法

Post-Processing

(カメラフィルタのようなもの)

Post-Processingを設定したい STYLYでPost-Processing Stackを使う
その他 オブジェクトをランダムな位置に出現させたい Unity+PlayMakerでスーパーボールを大量に発生させる
スローモーションのシーンを作りたい UnityのPlayMakerでスローモーションのシーンを作る方法_vol.2

体験者の視点位置(カメラ)

体験者の位置(視点の位置)は主にSTYLY上に存在するカメラと紐付いています。STYLY Studioではカメラの初期位置は「Start Position」として表示されますね。

このカメラに相当するオブジェクトをPlayMakerで取得したり、設定したりすることで色んなことが実現可能です。

体験者が特定のエリアに来た際のインタラクション

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

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

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

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

 

スムーズ移動

カメラが移動するシーン

カメラが移動するシーン

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

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

ワープ移動

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

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

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

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

 

→2020.1.6現在、こちらの記事内容では不具合あり、動作しません。記事アップデート予定です。

コントローラー

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

コントローラーにアクセスするには、下記表で示すとおり「Find Game Object」でコントローラーに相当するオブジェクトを取得し、変数に保存する必要があります。

これを他のアクションで使い回すことでコントローラーを使ったインタラクションを実現可能です。

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

 

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

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

コントローラーの操作 左コントローラー 右コントローラー
トリガーを引く Global_TriggerPressDown_L Global_TriggerPressDown_R
トリガーを離す  Global_TriggerPressUp_L Global_TriggerPressUp_R

 

遷移の完成イメージ

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

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

 

手に物を持たせる

懐中電灯

懐中電灯

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

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

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

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

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

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

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

 

その他

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

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

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

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

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

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

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

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

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作品を作ってみてください。