Version: 2021.1
언어: 한국어

Transform.forward

매뉴얼로 전환
public Vector3 forward ;

설명

Returns a normalized vector representing the blue axis of the transform in world space.

The example below shows how to manipulate a GameObject’s position on the Z axis (blue axis) of the transform in world space. Unlike Vector3.forward, Transform.forward moves the GameObject while also considering its rotation.

When a GameObject is rotated, the blue arrow representing the Z axis of the GameObject also changes direction. Transform.forward moves the GameObject in the blue arrow’s axis (Z).

For moving the GameObject on the Z axis while ignoring rotation, see Vector3.forward.

```using UnityEngine;public class Example : MonoBehaviour
{
Rigidbody m_Rigidbody;
float m_Speed;    void Start()
{
//Fetch the Rigidbody component you attach from your GameObject
m_Rigidbody = GetComponent<Rigidbody>();
//Set the speed of the GameObject
m_Speed = 10.0f;
}    void Update()
{
if (Input.GetKey(KeyCode.UpArrow))
{
//Move the Rigidbody forwards constantly at speed you define (the blue arrow axis in Scene view)
m_Rigidbody.velocity = transform.forward * m_Speed;
}        if (Input.GetKey(KeyCode.DownArrow))
{
//Move the Rigidbody backwards constantly at the speed you define (the blue arrow axis in Scene view)
m_Rigidbody.velocity = -transform.forward * m_Speed;
}        if (Input.GetKey(KeyCode.RightArrow))
{
//Rotate the sprite about the Y axis in the positive direction
transform.Rotate(new Vector3(0, 1, 0) * Time.deltaTime * m_Speed, Space.World);
}        if (Input.GetKey(KeyCode.LeftArrow))
{
//Rotate the sprite about the Y axis in the negative direction
transform.Rotate(new Vector3(0, -1, 0) * Time.deltaTime * m_Speed, Space.World);
}
}
}
```

Another example:

```using UnityEngine;// Computes the angle between the target transform and this objectpublic class Example : MonoBehaviour
{
public float angleBetween = 0.0f;
public Transform target;    void Update()
{
Vector3 targetDir = target.position - transform.position;
angleBetween = Vector3.Angle(transform.forward, targetDir);
}
}
```