Skip to content

Instantly share code, notes, and snippets.

@todorok1
Created Dec 27, 2020
Embed
What would you like to do?
オブジェクトを円周上で移動させるスクリプトのサンプル
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/// <Summary>
/// オブジェクトを円周上で移動させるスクリプトです。
/// </Summary>
public class SphereMover : MonoBehaviour
{
// 円の半径を設定します。
public float radius = 10f;
// 初期位置を取得し、高さを保持します。
Vector3 initPos;
void Start()
{
// 初期位置を保持します。
initPos = gameObject.transform.position;
}
void Update()
{
CalcPosition();
}
/// <Summary>
/// オブジェクトの位置を計算するメソッドです。
/// </Summary>
void CalcPosition()
{
// 位相を計算します。
float phase = Time.time * 2 * Mathf.PI;
// 現在の位置を計算します。
float xPos = radius * Mathf.Cos(phase);
float zPos = radius * Mathf.Sin(phase);
// ゲームオブジェクトの位置を設定します。
Vector3 pos = new Vector3(xPos, initPos.y, zPos);
gameObject.transform.position = pos;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment