見出し画像

Roblox Studio初心者、3D空間で迷子になる🎮Position、Origin、CFrame、視点移動がややこしい話

こんにちは、うみまるの父です☺️

Roblox Studio作業履歴を記事にしていきます✍️
こちらの記事はAI生成ベースで作成していきます🤖

Roblox Studioを触り始めて、何度もつまずいたことがあります。

それが、3D空間です。

プログラミング経験はあります。

変数。
関数。
条件分岐。
ループ。
そのあたりは、見たことがあります。

でも、Roblox Studioではコードを書く前に、まず空間に迷います。

パーツを置いたつもりが、思った場所にいない。
移動したつもりが、遠くへ飛んでいる。
サイズを変えたら、そっちに伸びるんかい。
カメラを動かしたら、さっき見ていた場所を見失う。

これ、かなり起きました😇

ゲーム制作は、コードの前にまず「場所をつかむ」作業なのだなと感じています。


2Dの感覚で考えると混乱する

普段、パソコンで作業していると、画面は基本的に2Dです。

上。
下。
左。
右。

だいたいこれで何とかなります。

でもRoblox Studioでは、そこに奥行きが入ります。

X軸。
Y軸。
Z軸。

この3つを使って、パーツの位置を考えます。

Xは横方向。
Yは高さ。
Zは奥行き。

頭では分かります。

でも、実際に画面を見ながら操作すると、普通に混乱します。

「上に動かしたつもりなのに、奥に行った?」
「横にずらしたつもりなのに、見えなくなった?」
「今、自分はどこから見ている?」

こんな感じです。

3D空間は、見えているようで、ちゃんと理解できていないことが多いです。


Positionは場所を表す

まず出てくるのが Position です。

Positionは、オブジェクトが3D空間のどこにあるかを表します。

たとえば、PartのPositionが以下のような値だったとします。

0, 5, 0

これは、Xが0、Yが5、Zが0という意味です。

ざっくり言うと、中心の位置が少し上にある状態です。

Roblox Studioでは、PropertiesのPositionを見れば、選択しているPartがどこにあるか確認できます。

ただ、初心者としては、この数字を見ても最初はピンときません。

0, 5, 0。

だから何?

という感じです。

でも、パーツが変な場所に行ったとき、Positionを見ると少し状況が分かります。

Yがやたら高ければ、上に浮いている。
XやZが大きければ、遠くに移動している。
数字が想定と違えば、そもそも置いた場所が違う。

3D画面で見失ったとき、Positionは手がかりになります。


Sizeを変えるときも軸が大事

Roblox Studioでは、PartのサイズもX、Y、Zで管理します。

これがまた混乱します。

大きくしたい。
横に伸ばしたい。
薄くしたい。
高くしたい。

そう思ってSizeを変えるのですが、どの数字を変えるとどっちに伸びるのか、最初は分かりづらいです。

特にカメラの向きによって、感覚が変わります。

自分の画面では横に見えていても、それがX方向なのかZ方向なのか分からない。

結果として、

「そっちに伸びるんかーい」

となります。

これ、何度もありました。

パーツのサイズ変更は、見た目だけで判断せず、X・Y・Zのどの軸を変えているのか確認するのが大事ですね。


Originは基準点

次にややこしかったのが Origin です。

Originは、そのオブジェクトの基準点のようなものです。

移動や回転の基準になる位置、と考えると少し分かりやすいです。

Part単体なら、だいたい中心が基準になります。

ただ、Modelになると少し話がややこしくなります。

複数のPartがまとまったModelでは、どこを基準にして動かすのかが重要になります。

Modelを動かしたい。
向きを変えたい。
配置をそろえたい。

こういうときに、Originの考え方が関係してきます。

最初はあまり意識していませんでした。

でも、Modelを動かしたときに、思った中心で動かないことがあります。

「このモデル、どこを基準に動いているんだ?」

となります。

そのときにOriginが出てきます。

初心者の段階では、まず
Originはオブジェクトを動かすときの基準点
くらいで押さえておくとよさそうです。


CFrameは位置と向きのセット

さらに出てくるのが CFrame です。

これがまた強そうな名前です。

CFrameは、ざっくり言うと、オブジェクトの位置と向きをまとめて扱うものです。

Positionは場所。
CFrameは場所に加えて向きも含む。

そんな理解でよさそうです。

Roblox Studioでは、単にオブジェクトをどこに置くかだけでなく、どの方向を向かせるかも大事です。

ドアの向き。
キャラクターの向き。
カメラの向き。
ワープ先の向き。
ステージ上のオブジェクトの向き。

こういう場面でCFrameが関係してきます。

最初から完全に理解しようとすると、かなり難しいです。

自分もまだ完全には分かっていません。

ただ、Roblox Studioでコードを書いていると、CFrameは今後かなり出てきそうです。

まずは、
CFrameは位置と向きをまとめて扱うもの
として覚えておきます。


画面の視点移動も難しい

Roblox Studioで地味に苦戦したのが、視点移動です。

パーツの位置を変えたいのに、そもそも見たい場所にカメラを持っていけない。

これがありました。

Studio上では、カメラを回したり、ズームしたり、移動したりしながら作業します。

でも初心者のうちは、カメラ操作だけでも迷います。

見たい場所に近づきたい。
真上から見たい。
横から見たい。
プレイヤー目線で確認したい。
今見ている視点を少し移動したい。

こういう操作に慣れるまで時間がかかりました。

そして、視点が変わると、パーツの位置関係の見え方も変わります。

上から見ると合っているように見える。
横から見ると高さが全然違う。
斜めから見ると、奥行きがずれている。

3D空間では、1方向から見ただけでは安心できません。

いろいろな角度から確認する必要があります。


ExplorerとPropertiesは迷子防止の地図

3D画面だけを見ていると迷います。

そこで大事になるのが、ExplorerとPropertiesです。

Explorerでは、今どのオブジェクトを選んでいるかが分かります。

Propertiesでは、そのオブジェクトのPosition、Size、Orientationなどを確認できます。

3D画面で
「どこに行った?」
となったら、Explorerで対象を選ぶ。

PropertiesでPositionを見る。

必要なら数値で戻す。

これができると、少し安心です。

最初は3D画面だけで何とかしようとしていました。

でも、だんだん分かってきました。

Roblox Studioでは、3D画面・Explorer・Propertiesを行ったり来たりする必要があります。

見た目で確認する。
階層で確認する。
数値で確認する。

この3つをセットで見るのが大事なのだと思います。


AIに聞けるのはかなり助かる

3D空間で迷ったとき、AIに聞けるのはかなり助かりました。

「指定の座標に移動したい」
「画面で今見ている視点を移動させたい」
「PositionとOriginとCFrameの違いは?」
「パーツが思った場所に出ない」
「カメラをどう動かせばいい?」

こういう質問をその場でできるのは大きいです。

昔だったら、検索して、記事を探して、動画を見て、該当箇所を探して……となっていたと思います。

もちろん、検索も大事です。

でも、自分の今の困りごとに合わせて整理してもらえるのは、AIのありがたいところです。

特にRoblox Studioのように、画面操作とコードと3D空間が混ざるものは、言葉で整理してもらえるだけでも助かります。


3D空間は、慣れるしかない

いろいろ確認しましたが、最終的には慣れも大事だと思いました。

Positionを覚える。
Sizeを見る。
Originを意識する。
CFrameを少しずつ理解する。
視点を変えて確認する。
ExplorerとPropertiesを見る。

全部大事です。

でも、頭で分かっただけでは、なかなか自由には動かせません。

実際にパーツを置く。
ずれる。
直す。
カメラを回す。
またずれる。
数値を見る。
また直す。

この繰り返しで、少しずつ感覚ができてくるのだと思います。

ゲーム制作は、思ったより身体感覚に近いです。

マウスで動かしながら、空間の中で位置をつかむ。

これは、コードだけを書いているときとは違う感覚でした。


おわりに

Roblox Studioを始めて、かなり早い段階で3D空間に迷いました。

Position。
Size。
Origin。
CFrame。
視点移動。

どれも大事そうですが、最初は普通にややこしいです。

プログラミング経験があっても、3D空間の扱いはまた別物でした。

でも、少しずつ触っていくと、見え方が変わってきます。

「あ、この数字が高さか」
「この向きに伸びているのか」
「このModelはここを基準に動いているのか」
「横から見ると、全然ずれていたのか」

そういう発見の積み重ねです。

Roblox Studio初心者にとって、最初の敵はコードではなく、3D空間かもしれません。

少なくとも自分は、かなり振り回されました😇

でも、少しずつ慣れていこうと思います。

それでは🙌

いいなと思ったら応援しよう!