0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

スロープのレベルデザイン

Last updated at Posted at 2020-10-14

サンプルデータのインポート#

スクリーンショット (101).png
1:Fserverから「1_Slope_2020.zip」をPCにコピーしてダブルクリックし、エクスプローラーが表示されたら「展開」をクリックする(下記からDLしてもいい)。
https://drive.google.com/file/d/18MJ51aD3ghoseNYDTEnNdhwCW6wcwbps/view?usp=sharing

スクリーンショット (102).png
2:続いて「すべて展開」をクリックする。

スクリーンショット (103).png
3:Unity Hubを起動する。

スクリーンショット (104).png
5:Unity Hubで「リストに追加」をクリックし、展開して生成した「1_Slope_2020」フォルダを選択する。この時、フォルダを開いて図のように「Assets」「Project Settings」フォルダが表示されたら、「フォルダーの選択」をクリックする。それ以外の階層では読み込めないので注意。

スクリーンショット (105-2).png
6:Unityのバージョンが「2019.4.1f1」になっているか確認する。もし違っていたら、メニューから正しいバージョンを選ぶ。

スクリーンショット (105).png
7:プロジェクト欄に「1_Slope_2020」が表示されたら、プロジェクトをクリックする。

スクリーンショット (112).png
8:データが読み込まれて、Unityエディタが起動する。

ワンポイントテクニック

スクリーンショット (106).png
※不要なプロジェクトは「・・・」(縦3つ)メニューを開き、「リストから削除」を選択すれば削除できる。なお、このときデータはストレージから削除されずに残る。

シーンファイルの実行から作業準備まで#

スクリーンショット (113).png
9:プロジェクトエリアから「Tamakorogashi」フォルダを開く。

スクリーンショット (114).png
10:続いて「Scene」フォルダを開く。

スクリーンショット (115).png
11:続いて「Slope」アイコンをクリックする。このUnityロゴマークのアイコンをしたファイルがシーンファイルだ。

スクリーンショット (129).png
12:シーンビューにステージが表示され、Hierarchyにアセットがリスト化される。Hierarchyの一番上のオブジェクトが「Slope」になっている点に注意しよう。その後、再生ボタンをクリックすると、デモが始まる。

スクリーンショット (117).png
13:デモはボールが落下してバウンドし、ゴールに到達するとファンファーレが鳴るというものだ。デモ中に「RETURN」キーを押すとリスタートする。

スクリーンショット (120).png
14:ある程度デモの内容を確認したら、再び再生ボタンをクリックしてプログラムを終了させよう。その後、「File」→「Save as」を選択する。

スクリーンショット (124).png
15:新たに「Slope_Master」と入力して保存しよう。

スクリーンショット (125).png
16:プロジェクトエリアのAssets直下に、新たにシーンファイル「Slope_Master」が作成される。

スクリーンショット (127).png
17:「Slope_Master」をプロジェクトエリアで「Assets」→「Tamakorogashi」フォルダにドラッグ&ドロップで移動させる。

スクリーンショット (128).png
18:再び「Slope」アイコンをクリックし、Hierarchyの先頭オブジェクトを「Slope_Master」から「Slope」に変える。以後はシーンファイル「Slope」に対して修正を加えていく。

最初からやり直したい場合

※最初からやり直したい場合は「Slope_Master」をクリックすれば、元の状態に戻せる。その際は「Slope」アイコンを削除し、「Slope_Master」を「Slope」にリネームする。その後「Save as」で新しく「Slope_Master」を作成し、あらためて「Slope」をクリックして、「Slope」シーンファイル上で作業をしよう。
無題.png
注意点

※作業は必ず「Slope」シーンファイル上で行おう。でなければ、RETURNキーでリスタートできなくなる。また、随時「Save」(Ctrl+S)で上書き保存して、フリーズなどの事態に備えよう。

ステージのレベルデザイン#

スクリーンショット (981).png
21:はじめにHierarchyで「BG_Space」を選び、Inspector欄のSprite RenderからVisibility Optionsを選んで、隠しメニューを開く。その後、Order in Layerの値を「-1」にしておこう。これで背景が一番奥になる。

スクリーンショット (129).png
20:また、HierarchyでInspectorのTransform→Spaceのパラメータを増減すると、背景を拡大・縮小できる。Positionのパラメータで場所の移動、Rotationのパタメータで角度を変えられる。

スクリーンショット (130).png
21:プロジェクトエリアでAssets→Tamakorogashi→Prefabsを選択し、プロジェクトエリアに表示される各種のPrefabをHierarchyエリアにドラッグ&ドロップすると、シーンビューに新しいオブジェクトを表示させられる。

スクリーンショット (131).png
22:なお、配置したばかりのPrefabは既存のオブジェクトと重なっていることが多い。

12.png
23:そのため、場所が不明なときはHierarchyエリアでオブジェクトを選択して、移動させよう。

注意
スクリーンショット (131).png
プロジェクトエリアは倉庫で、Hierarchyはシーンビューに配置されるオブジェクトの一覧表だ。シーンビューからオブジェクトを削除するときは、Hierarchy上で削除しよう。プロジェクトエリアのアイテムを削除すると、復活させられないので注意!

スクリーンショット (118).png
24:何度もプレイと修正を繰り返して(=イテレーションを繰り返して)楽しいステージを作ろう。

Prefabsの種類#

Slope##

スクリーンショット (135).png
Slopeはボールが上を伝って転がり落ちる斜面だ。Transformで大きさ・角度・位置を修正できる。

スクリーンショット (137).png
Slopeの大きさを変更したら、InspectorのBox Collider 2Dの値を修正し、slopeの大きさと緑色の枠の大きさをあわせておこう。この緑色の枠が、いわゆる「当たり判定」に相当する。

Rotate##

スクリーンショット (157).png
Rotateは自動的にくるくる回転する板で、当たり判定を持っている。InspectorのAuto RotateにあるRotation Speedのパタメータで回転速度を変えられる。値が正なら右回り、負なら左回りになる。

Bound##

スクリーンショット (139).png
Boundはボールが高く跳ね返るバネだ。反射係数はBoundのInspectorからBox Collider 2D内にある「Extra Options」を開く。その後、Material欄にある「Bound」アイコンをクリックする。

スクリーンショット (140).png
続いて「Bound」アイコンを選択する。このBoundアイコンはFisix Material 2Dとよび、オブジェクトの反射度合いを設定できる。

スクリーンショット (141).png
InspectorにBoundの反射係数が表示される。Frictionで摩擦係数、Buncinessで反射係数を、それぞれ変更できる。

Boundを増やす##

スクリーンショット (148).png
プロジェクトエリアからBoundのprefabsをHierarchyにドラッグ&ドロップすると、シーンビュー上に新しいBoundが配置される。ただし、これだけでは音が鳴らないので、あらためて設定する必要がある。追加したBoundのInspectorから「Condition Collision」にある「Custom Action()」の「None(Object)」メニューをクリックしよう。

スクリーンショット (149).png
Select ObjectウィンドウのSceneメニューから「Sound」アイコンを選択する。

スクリーンショット (150).png
「No Fliction」メニューから「AudioSource」→「PlayOneShot(AudioClip)」を選択する。

スクリーンショット (151).png
プロジェクトエリアのAssets→Tamakorogashi→Audioを選択し、「Jump01」ファイルをドラッグ&ドロップして設定する。これでボールが跳ね返ると音が鳴るようになる。

Boundごとに反射係数を変える##

スクリーンショット (144).png
複数のBound Prefabsで個別に反射計数を変更したい場合は、新たにPhysics Material 2Dを作成し、反射係数を変えたいPrefabsに設定すれば良い。まず、プロジェクトエリアでAssets→Tamakorogashi→Visualを選び、右クリック→Create→Physics Material 2Dを選択する。

スクリーンショット (145).png
新しいマテリアルに名前(Bound2など)をつけて、Bouncinessの値を調整する。

スクリーンショット (146).png
設定したいPrefabsを選択し、Box Collider 2DのExtra Optionsを開いて、Materal欄に新しく作ったPhysics Material 2Dをドラッグ&ドロップする。

Ball#

Ballの色を変える##

スクリーンショット (138).png
Ballの色を変えるのは簡単だ。HierarchyからBallのInspector→Sprite Renderer→Colorでカラーピッカーをクリックし、任意の色に変更すれば良い。

Ballの重さを変える##

スクリーンショット (982).png
Ballの質量を変えるには、HierarchyからBallを選択し、InspectorからRigidbody 2Dでパラメータを変更すればいい。各パラメータの意味は下記の通り。
Mass 質量
Friction 摩擦
Angular Friction 角摩擦
Gravity 重力

Ballを増やす##

スクリーンショット (159).png
Ballを増やすには、プロジェクトエリアからBallをHierarchyにドラッグ&ドロップする。そのままではシーンビューでオリジナルのBallと同じ場所に表示されるため、場所を移動させる。追加されたBallには独自のパラメータを設定できる。

Move Floor#

スクリーンショット (152).png
Move Floorは一定ルートで移動する板。Insopectorの「Patrol」で速度や移動ルートを設定できる。Speedのパラメータで速度が変わり(マイナスにすると逆方向に移動する)、Stopsの座標を変えるとUターンの座標を変えられる。

スクリーンショット (154).png
InspectorのPatrolにある「+」ボタンをクリックし、新しい座標を設定すると、新しい巡回ルートを設定できる。3つ以上のポイントを設定するとUターンではなく、一定軌道を周回する。ただし、このままでは保存されないので、もうひと手間が必要だ。

スクリーンショット (156).png
同じように「+」ボタンをクリックして、もう一つルートを設定する。その上で「ー」ボタンをクリックしてルートを削除すると、一つ前のポイントが保存される。

Burn##

スクリーンショット (987).png
BurnはBallが当たると反射して消える板。プロジェクトエリアからHierarchyにドラッグ&ドロップして、シーンビュー上で場所を移動させれば良い。ただし、このままではBallが当たっても音は鳴らない。そのため「Boundを増やす」と同じように、別途設定する必要がある。

スクリーンショット (988).png
まずCondition Collisionの「None(Object Menu)」をクリックして、Select Objectウィンドウを表示する。

スクリーンショット (989).png
次にSceneメニューをクリックし、None(Object)メニューをクリックして、「Sound」アイコンをクリックする。

スクリーンショット (990).png
次に「No Friction」メニューをクリックし、AudioSource→PlayOneShot(AudioClip)を選択する。

スクリーンショット (991).png
この時点でオリジナルのPrefabsに設定されているオーディオファイル「powerup04」が設定されている。別のオーディファイルに変更してもOKだ。実際にゲームを起動して、ボールが当たったら音が鳴るか確認しよう。

Particle##

スクリーンショット (133).png
HierarchyのParticleを選択し、InspectorのBox Collider 2DのScaleの値を変更すると、星の瞬きの出現する範囲を変えられる。またObject Creator AreaのOther Option欄にあるSpawn Intervalの値を変えると、明滅の間隔を変えられる。なお、Particleはオブジェクトであって、Prefabesではない。FlagRedと同じく数を増やす必要が無いため、Prefabsには設定されていない。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?