【Unity6】箱庭経営シミュレーション #3|アイテムを拾う・落とすシステムをDOTweenで実装する | Unity入門の森 ゲームの作り方

【Unity6】箱庭経営シミュレーション #3|アイテムを拾う・落とすシステムをDOTweenで実装する

Unity 箱庭経営シミュレーションゲームの作り方

現場レベルのゲーム制作が、すべてここで学べます。

【永久会員チケット】

永久会員チケット|Unity入門の森

全講座を見放題で学ぶ

ソースコード・素材・プロジェクトすべて公開。
Unityの基礎から応用まで、一生使えるスキルを体系的に習得。

この講座ではUnityを使って「箱庭経営シミュレーションゲーム」を作成していきます。
今回はその第3回目です。

前回は、プレイヤーを操作できるようにスクリプトで制御&マップにコライダーを設定して、正しく当たり判定が機能するようにしました。

前回の記事:

【Unity6】箱庭経営シミュレーション #2|プレイヤー作成・移動スクリプト・当たり判定を実装する
この講座ではUnity6.2を使って「箱庭経営シミュレーションゲーム」を作成していきます。今回はその第2回目です。前回はアセット導入、プロジェクト設定、マップ作成などで下準備を行いました。前回の記事:第2回ではプレイヤーを作成して実際にマッ...

第3回では、プレイヤーがアイテムを拾ったり落としたりできるようにしていきましょう。

【ゲームの作り方講座プレゼント中!】

3Dフィールド用のアイテムを作成する

まずは、持つ対象となるアイテムを作成していきます。Hierarchy から Create Empty を選択して空のオブジェクトを作成し、名前を「crop_group」にしましょう。

次にProjectウィンドウから
AssetHuntsl > GameDev Starter Kit – Farming > Assets > Farm Crop > Farm_Crop_Carrot_01
のニンジンを探してください。

見つけたら「Farm_Crop_Carrot_01」をダブルクリックし、プレハブ編集モードに入ってください。

プレハブに入ったら、ニンジンを選択した状態で Inspector の Add Component をクリックし、Capsule ColliderRigidbody をアタッチしましょう。

補足:なぜMesh Colliderを使用しないのか

アイテムのように動かすオブジェクトでは、通常 Mesh Collider はそのまま使うことができません。
Mesh Collider は基本的に静的オブジェクト専用であり、Rigidbody と組み合わせる場合は Convex にする必要があります。

しかしConvex を有効にすると、形状は自動的に単純化され、見た目通りの正確な当たり判定にはならなくなります。また、計算コストも高く、オブジェクト数が増えると処理負荷が大きくなります。

そのため、「拾う・落とす・動かす」といった 動的なアイテム には、Mesh Collider ではなく Capsule や Box などのシンプルなコライダーを使うのが基本になります。

アタッチした Rigidbody Collision Detection は、「Continuous Speculative」に変更しておきましょう。

Continuous Speculativeにする理由は

  • 貫通を防ぐ: 高速移動でも確実に衝突を検出
  • パフォーマンス良好: 他のContinuousモードより軽量
  • 汎用性が高い: プレイヤーキャラクター、弾丸、落下物など幅広く使える

上記によるものです。

アイテムを持つ・落とすアクションを実現するスクリプトを作成しよう

アイテムを拾ったり落としたりする動作を作るとき、単純に Transform の位置を変更するだけでも処理自体は成立します。

しかし、その方法ではアイテムが一瞬で手元にワープしたり、置いた瞬間にカクッと位置が変わってしまい不自然な動きになってしまいます。

そこで必要になるのが、動きを「補間」してくれる仕組みです。拾う動作なら「スッと手に吸い寄せられる」、置く動作なら「ふわっと棚の上に収まる」といった、人が見て自然に感じる動きにしたいです。そのために位置や回転を少しずつ変化させる必要があります。

DOTween は、こうした“なめらかな動き”を簡単に実装するためのライブラリです。今回のシステムでは、アイテムの移動や回転を DOTween に任せることで、見た目のクオリティを大きく上げつつ、コードもシンプルに保っています。

以下からインポートしましょう。

DOTween (HOTween v2) | Animation Tools | Unity Asset Store

↑インポートします。

↑自動的にDoTweenのウィンドウが開くので

↑Setup DOTweenボタンを押します。

少し待つとApplyボタンを押せるようになるのでクリックして完了です。

アイテムを持つ・落とすを簡単に制御するためにベースとなる動きをUnity C#で作成しよう

Projectウィンドウから一度 Assets に戻り、Scripts フォルダを開きます。
空いている場所で右クリックし、Create > MonoBehaviour Script を選択してください。
作成したスクリプトの名前を「ItemBase」にしましょう。

作成できたら、そのスクリプトをダブルクリックで開き、以下の内容を書き込んでください。

続きを読む
このコンテンツはパスワードで保護されています。 コンテンツを読みたい方はUnity入門の森ショップ(https://unityforest.shop/)で講座閲覧権を取得してね。

まとめ

今回はプレイヤーがアイテムを持てるように基盤のようなものを作成し、実際ににんじんを持てるようにしました。

また操作案内のUIを表示することでユーザビリティも向上しました。

次の講座では、さらに応用してできることを増やしていきましょう。

次の記事:

【ゲームの作り方講座もプレゼント中!】

現場レベルのゲーム制作が、すべてここで学べます。

【永久会員チケット】

永久会員チケット|Unity入門の森

全講座を見放題で学ぶ

ソースコード・素材・プロジェクトすべて公開。
Unityの基礎から応用まで、一生使えるスキルを体系的に習得。

コメント

タイトルとURLをコピーしました