見出し画像

同じ一点を指す光っぽいものを作成(cluster)

https://youtu.be/ivuwv6EXUfk

ワールド作成の解説

clusterに作ったテストワールド(非公開)の解説です。
Unity 2019.4.1f1/ClusterCreatorKitSample-master


『天空の城ラピュタ』の、飛行石から出た光が遠くの空を指す雰囲気を再現したくて作ってみました。
『ハウルの動く城』でも、こんなのがあったかな。

光の指し示す方向に何があるのか
確かめたくなりますね。


※ClusterCreatorKitを使っています。clusterにワールドを作りたい人は Cluster Creator Kit ドキュメント をご覧ください。 


こんなコンポーネントを使っています。

Look At Constraint (目標となるゲームオブジェクトの方向を向く)
Set Game Object Active Gimmick(アクティブ状態を切り替える)
Grabbable Item (持てるアイテム)
On Grab Item Trigger(アイテムを持った時に発動)
On Release Item Trigger(アイテムを離した時に発動)


「どこからでも、同じ一点を指す光」っぽいモノ

こんな感じで作っていきました。
少し細かく記録してみましたので、ワールド作成初心者の方は参考にしてみてください。

1.Spawn Point、Despawn Height、床になるPlaneを作成。

 ここは省略です。こちらがお勧めです↓↓
 https://creator.cluster.mu/2020/03/03/learn-world-basic/

2.目標になるオブジェクト(La puta)を作成。  

スクリーンショット 2021-01-17 124402

Hierarchyウインドウの、もしくはHierarchyのウインドウのどこかで右クリック
今回は、いろいろ実験するかもしれなかったので、Create EmptyでカラのGame Object(La puta)を作成。その子(下の階層)に3D ObjectCube (Shiro)を作成しています。
Inspecterタブで、名前Positionなどを変えます。



3.光が出るアイテム(Hikouseki)を作成。

Create EmptyでカラのGame Object(Hikouseki)を作成。その子に3D Object/Sphere(球)(Ishi)を作成。Cylinder(円柱)(Laser)を作成。

スクリーンショット 2021-01-17 093933

スクリーンショット 2021-01-17 171150

スクリーンショット 2021-01-17 171435

ScaleやMaterialは、とりあえずでそれっぽく見えるように・・・。


4.Look At Constraint

スクリーンショット 2021-01-17 172443

カラのオブジェクト(Hikouseki)にコンポーネント「Look At Constraint (目標となるゲームオブジェクトの方向を向く)」をつける。

InspecterAdd ComponentからLook At Constraintを追加。
Sourcesに「La Puta」を設定。右の丸ボタンから選択してもいいし、ドラッグアンドドロップでもOKです。
Is Activeにチェックを入れる。

スクリーンショット 2021-01-17 124922

これで、一応、LaserがLa Putaを指しているように見えると思います。
※回転やポジションがおかしいときは調整が必要です。


5.アイテムを持てるようにする。

HikousekiにInspecterのAdd CompornentからGrabbable Item(持てるアイテム)を追加。
Grabbable Itemを追加するとItem(アイテム)、RigidBody(物理シミュレーションを可能にする)、Movable Item(動かせるアイテム)が追加されます。

スクリーンショット 2021-01-17 180600


6.持った時にレーザーが出るようにする。

ずっと光が出っぱなしではちょっとアレなので、「持つと出る」「離すと消える」仕様にしようと思います。

Laserの設定。

スクリーンショット 2021-01-17 175551

「Laser」にSet Game Object Active Gimmickを追加します。InspecterウインドウのAdd Componentから追加します。
KeyにLaser_Act(任意)と入力。
Itemに、Hikouseki(Laserが入っている親のアイテム)を設定します。
これによって、Hikousekiから「Laser_Act」というKeyで、Laserが「アクティブ」か「非アクティブ」か操作できるようになります。

Inspecterの一番上、Laserの横のチェックを外します。
これによって、Laserの最初の状態は非アクティブになります。 

Hikousekiの設定。

スクリーンショット 2021-01-17 180841

「Hikouseki」にOn Grab Item Trigger(アイテムを持った時に発動)を追加。
 Size 1
 Target This
 Key Laser_Act
 Parameter Type Bool
 Bool Value  チェック
これによって持った時にLaser_ActがTrueになります。LaserのSet Game Object Active Gimmickが受け取って、Laserはアクティブになります。

「Hikouseki」にOn Release Item Trigeger(アイテムを離した時に発動)を追加。
 Size 1
 Target This
 Key Laser_Act
 Parameter Type Bool
 Bool Value  チェックしない
これによって持った時にLaser_ActがFalseになります。
LaserのSet Game Object Active Gimmickが受け取って、Laserは非アクティブになります。


7.まとめ

いかがでしょうか。うまく動作しましたか?

今回は下記のコンポーネントを使いました。
Look At Constraint (目標となるゲームオブジェクトの方向を向く)
Set Game Object Active Gimmick(アクティブ状態を切り替える)
Grabbable Item (持てるアイテム)
On Grab Item Trigger(アイテムを持った時に発動)
On Release Item Trigger(アイテムを離した時に発動)

ちなみに、アイテムを使った時に発動させたいときは
Use Item TriggerDown Triggers(押したとき)Up Triggers(離したとき)を使います。そっちでもよかったかな。


ご質問、ご指摘などありましたらTwitterにご連絡ください。
https://twitter.com/fushigi_c

作成ワールド
https://cluster.mu/w/aa812955-0dad-4cc8-a1ac-536c23ac08c5


※clusterにワールドを作りたい人は Cluster Creator Kit ドキュメントCreators Gide が参考になりますので、ぜひご覧ください。
「サンプルプロジェクト」や「テンプレートプロジェクト」など、初心者でも作りやすいお勧めのプロジェクトもあります。
ぼくも初心者ですので、大変参考になっています。



おまけ

1.ウインドウが消えてしまったとき

作業中、「Scene」とか「Hierarchy」を誤って閉じてしまったとき。
最初はめちゃくちゃ慌てますよね。ぼくだけかな。
Ctrl+zでも EditのUndoでも元に戻せないんですよね。

そんなときは、Window/Generalから、必要なウインドウを開きなおせます。
開いたウインドウは、タブを持って動かせますので、好きな位置においてください。

スクリーンショット 2021-01-17 084422


2.変な場所にオブジェクトが作成されたとき

Transform右上の「・・・」からResetでPositionを「X=0,Y=0,Z=0」に戻すと便利です。

スクリーンショット 2021-01-17 124402


3.オブジェクトを見失ったとき

Hierarchyウインドウでオブジェクトの名前をダブルクリック。もしくは、Hierarchyでオブジェクトを選択した状態で、Sceneウインドウにマウスポインタを置いて「fキー」を押すと、Sceneウインドウのオブジェクトがフォーカスされます。











サポートは喜んでお受けします。大したものはお返しできませんが、ワクワク✨ドキドキ💛を共有してください。