スポンサーリンク
スポンサーリンク
UnityUnityメモ

Unityでオブジェクトを公転と自転させるスクリプト

Unity

Unityを使って面白い動きのオブジェクトを作ることは、ゲーム開発やアプリ制作の面白い部分の一つです。今日は、UnityでCubeが自転しながらSphereを中心に公転するアニメーションを作成する方法を初心者向けに説明します。このチュートリアルを通じて、Unityの基本操作やスクリプトの書き方についても学んでいきましょう。

はじめに

まずはUnityプロジェクトを開設して、3Dプロジェクトを選択してください。Unityの基本的な操作方法に慣れていない方は、Unityの公式サイトやチュートリアル動画を参考にしてみてください。Unityの世界は非常に広く、たくさんの可能性を秘めています。

ステップ1: 基本オブジェクトの作成

Unityエディタが開いたら、まずは基本となるオブジェクト、SphereとCubeを作成しましょう。Hierarchyパネルで右クリックし、「3D Object」から「Sphere」を選択して作成します。同じ方法で「Cube」も作成してください。Sphereが公転の中心となり、Cubeがその周りを回る形になります。

ステップ2: スクリプトの準備

Cubeを選択した状態で、Inspectorパネルの「Add Component」ボタンをクリックし、「New Script」を選択します。スクリプト名を例えば「RotateAndOrbit」などと設定し、Create and Addをクリックしてスクリプトを作成します。これでCubeにスクリプトが追加されました。

ステップ3: スクリプトの編集

スクリプトをダブルクリックして、コードエディタを開きます。初めての方はVisual Studioがおすすめですが、好きなエディタを使用して構いません。以下のスクリプトを入力またはコピー&ペーストしてください。

using UnityEngine;

public class RotateAndOrbit : MonoBehaviour
{
    public Transform orbitCenter;
    public float orbitSpeed = 30.0f;
    public float rotationSpeed = 80.0f;

    void Update()
    {
        OrbitAround();
        SelfRotate();
    }

    void OrbitAround()
    {
        transform.RotateAround(orbitCenter.position, Vector3.up, orbitSpeed * Time.deltaTime);
    }

    void SelfRotate()
    {
        transform.Rotate(Vector3.up, rotationSpeed * Time.deltaTime);
    }
}

このスクリプトは、orbitCenterに指定されたオブジェクト(この場合はSphere)を中心に公転すると同時に、Cubeが自転する動きを実現します。orbitSpeedrotationSpeedは、公転と自転の速度を制御するためのパラメータです。これらの値はInspectorパネルから調整可能です。

ステップ4: スクリプトの設定

Unityに戻り、Cubeに追加された「RotateAndOrbit」スクリプトの設定を行います。Inspectorパネル内で、Orbit Centerのフィールドが空になっているのを見つけるはずです。ここに、Sphereオブジェクトをドラッグ&ドロップして設定してください。これで、CubeがSphereを中心に公転するようになります。

ステップ5: アニメーションの確認

全ての設定が完了したら、Unityエディタの再生ボタンをクリックして、作成したアニメーションを確認しましょう。CubeがSphereの周りを公転しながら自転している様子を見ることができるはずです。

まとめ

Unityでオブジェクトの動きを制御する方法は、ゲーム開発やアプリ制作で非常に重要です。このチュートリアルを通じて、基本的なオブジェクトの作成からスクリプトによる動きの制御まで、Unityの基本を学ぶことができました。自転と公転の動きは、太陽系や原子のモデルなど、様々なシミュレーションに応用することができます。Unityの世界で、あなた自身の創造性を存分に発揮してみてください。

スポンサーリンク
C-BA memo
タイトルとURLをコピーしました