P5.エアホッケー.01「ステージ作成(Blender 2.80 Outliner 矢印/目玉/カメラ)」
ステージと言うか、エアホッケーの台(テーブル)を作る。これは Cube オブジェクトを適当に追加して、適当に移動させて、適当に拡大すればいいだけなので、何の問題もないと思う。ただ、今回のゲーム作成はちょっとメンドクサイ。何故なら、、、
物理エンジンは使わない
そう、物理エンジンを使わないからだ。ステージの壁にも床にもリジッドボディーは付けない。もちろんパック(玉)にもマレット(スマッシャー / テニスで言うところのラケットね)にも付けません。
最初は物理で動かすつもりだったんだけど、どうしてもすり抜けるんだよね。2mの厚みのある壁を直径2mのパックが50回に1回くらいの割合ですり抜けるんだわ。ま、当然ながらマレットなんかも軽~く8割がたすり抜ける。
動きが速いとすり抜けるっていうのは知ってたけど、、、なにも玉がマッハ1.2でカッ飛んでるわけではないんだけどねー。
だから今回は「NO 物理! WITHOUT 物理!」。つまり本当なら物理エンジンが勝手にやってくれる処理でも、ちょっとだけメンドクサイ計算を自分でしなきゃいけないのだよ。あーメンドクサイ。そこらへんがちょっと注意ってことね。
ステージ
前置きが済んだので、ステージ作成だ。と言っても Cube を追加、移動、拡大するだけだがな。下図参照。大事なのは❽の床部分で、横30m、縦70m。あとは、❷~❼の壁でこれを囲えばいいって感じだ。❶以外はすべてキューブから成っている。
❶ ここが中央ってことでシリンダーを置いてみた。飾り。床面と面が重なると ちらちらするので、Zを微妙にずらしてある。色はマテリアルを追加して緑にしてみた。(マテリアルに関しては、この辺参照)
Location | Scale | |
---|---|---|
X | 0 | 4 |
Y | 0 | 4 |
Z | -0.99 | 1 |
❷ 自陣の左壁。
Location | Scale | |
---|---|---|
X | -11 | 6 |
Y | -36 | 1 |
Z | 0 | 2 |
❸ 自陣の右壁。位置は、❷のX座標をプラスにするだけ。❷を Shift+D すればいいよ。❷と❸の間のすきまがゴールってこと。
❹ 左壁。
Location | Scale | |
---|---|---|
X | -16 | 1 |
Y | 0 | 35 |
Z | 0 | 2 |
❺ 右壁。❹の左壁のX座標反転でどうぞ。
❻ 敵陣の左壁。❷の自陣左壁のY座標反転。
❼ 敵陣の右壁。説明はいらんな。
❽ 床。一番大事。床面が0になるようにZが-1してある。
Location | Scale | |
---|---|---|
X | 0 | 15 |
Y | 0 | 35 |
Z | -1 | 1 |
いずれのオブジェクトも物理を使わないので、リジッドボディーは付けない。
Outliner 豆知識
Outliner ではこんな感じ(黄色く囲った部分)になる。各オブジェクトの名前は自分に分かりやすく適当でOKだが、ちゃんとコレクションをつくってその中に入れないと、ごちゃごちゃになるぞ。(コレクションに関してはこの辺参照)
それから、"Tenjyo" ってあるオブジェクトはマレットを動かす時に使うものなので、その時になったら解説する予定だ。今回はスルー。ただ、右の方にある、、、
- 目玉のマーク: 目が閉じていると、3D Viewport 上で非表示になる。
- カメラのマーク: 色抜きだと、ゲーム上でレンダリングされない。(しかしモノとしてはある。)
、、、ということは覚えておこう。マークのとこをクリックすれば切り替えられる。ちなみに矢印のマークは、3D Viewport 上で選択出来るか出来ないかの切り替えだ。こまごましたものが重なってると、クリックで選択し辛いもんね。
P3、P4は???
どうでもいいんだけど、今回のタイトルは「P5.エアホッケー.~~」(P は Project の P)。で、P3とP4はどこにいったのか? 実は、P3は「玉転がし改」、P4は「物理ありのエアホッケー」だったんだ。
「玉転がし改」にはスタート画面とか、リトライできるようにとか、時間制限、タイムトライアル、ハイスコアとか追加しようと思ったんだがメンドクサくなってやめたった。「物理ありのエアホッケー」は最初に述べた通り、すり抜けるのでやめたった。
ということで、P5になってるって事。どうでもよかったな。まー、そんなわけだ。
ではまた。
あ、そうそう、SAVE をお忘れなく。SAVE しておかないと [▶ Play] できないからな!
〇 動くものがないとつまんないだろうと思うので、次回はパック(玉)を追加して動かそうと思う。