To move game object in Unity, there are some ways.
The one is to use ‘Rigidbody’.
And also exist some ways for the ‘Rigidbody’.
This time, I tried following 4 ways.
[To specify the location to move in the flame]
1. position: completely teleportation
2. MovePosition: moving almost instantaneously
(possible to interpolate in the intermediate position)
[Add power or velocity to the object]
3. velocity: change the velocity in that moment
4. AddForce: add power in that moment
(Ref: https://docs.unity3d.com/ScriptReference/Rigidbody.html)
Let’s try!
Those gameobjects are moving with same velocity.
(Blue: position, Green: MovePosition, Red: velocity, yellow: AddForce)
The setting of Rigidbody Componenet and C# program are followings.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class MoveTest : MonoBehaviour {
Rigidbody RB;
Vector3 moveDirection;
void Start () {
moveDirection = new Vector3 (0, 1, 0);
RB = this.GetComponent <Rigidbody> ();
if (this.name == "Velocity")
// Setting of "velocity"
RB.velocity = moveDirection * 1.0f;
else if (this.name == "AddForce")
// Setting of "AddForce"
RB.AddForce(moveDirection * 50.0f);
}
void FixedUpdate() {
if (this.name == "Position")
// Setting of "position"
RB.position = RB.position + moveDirection * 0.02f;
else if (this.name == "MovePosition")
// Setting of "MovePosition"
RB.MovePosition (RB.position + moveDirection * 0.02f);
}
}
[Original Japanese Site: http://blog.lab7.biz/archives/2041666.html ]