EloiStree / HelloUnityKeywordForJunior

List of word nice to learn for Unity3D
0 stars 0 forks source link

Keyword: Translate #128

Open EloiStree opened 4 weeks ago

EloiStree commented 4 weeks ago

image

EloiStree commented 4 weeks ago

🤖

1. Moving Object Along Local Axes

// Move along the X axis (local)
transform.Translate(Vector3.right * moveSpeed * Time.deltaTime);

// Move along the Y axis (local)
transform.Translate(Vector3.up * moveSpeed * Time.deltaTime);

// Move along the Z axis (local)
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime);

2. Moving Object Along Global Axes

// Move along the global X axis
transform.Translate(Vector3.right * moveSpeed * Time.deltaTime, Space.World);

// Move along the global Y axis
transform.Translate(Vector3.up * moveSpeed * Time.deltaTime, Space.World);

// Move along the global Z axis
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime, Space.World);

3. Setting Position Directly

// Set position to specific coordinates
transform.position = new Vector3(10, 5, 0);

// Set position to match another object's position
transform.position = targetObject.transform.position;

4. Moving Towards a Target Position (MoveTowards)

// Move towards a target position at a constant speed
transform.position = Vector3.MoveTowards(transform.position, targetPosition, moveSpeed * Time.deltaTime);

5. Smooth Movement (Lerp)

// Smoothly move to the target position using Lerp
transform.position = Vector3.Lerp(transform.position, targetPosition, moveSpeed * Time.deltaTime);

6. Using Physics (Rigidbody)

// Apply force to move a Rigidbody
rigidbody.AddForce(Vector3.forward * forceAmount);

// Set velocity directly
rigidbody.velocity = new Vector3(0, 0, moveSpeed);

7. Moving Relative to Camera or Another Object

// Move forward relative to the camera's forward direction
transform.Translate(Vector3.forward * moveSpeed * Time.deltaTime, Camera.main.transform);

// Move left relative to another object's right direction
transform.Translate(Vector3.left * moveSpeed * Time.deltaTime, targetObject.transform);

8. Moving Object Along a Path

// Move along a predefined path or set of points
for (int i = 0; i < path.Length - 1; i++) {
    transform.position = Vector3.MoveTowards(transform.position, path[i + 1], moveSpeed * Time.deltaTime);
}

9. Moving Object Around a Point (Orbiting)

// Move object around a pivot point
transform.RotateAround(pivotPoint, Vector3.up, orbitSpeed * Time.deltaTime);

10. Clamping Position

// Clamp position to stay within defined bounds
transform.position = new Vector3(
    Mathf.Clamp(transform.position.x, minX, maxX),
    Mathf.Clamp(transform.position.y, minY, maxY),
    Mathf.Clamp(transform.position.z, minZ, maxZ)
);

11. Moving Using NavMesh (For AI)

// Set the destination of the NavMeshAgent
navMeshAgent.SetDestination(targetPosition);

12. Teleporting Object

// Instantly move object to a new position
transform.position = new Vector3(50, 10, -20);

13. Scripting Movement Over Time (Coroutines)

// Coroutine to move object over time
IEnumerator MoveOverTime(Vector3 targetPosition, float duration) {
    Vector3 startPosition = transform.position;
    float elapsedTime = 0;

    while (elapsedTime < duration) {
        transform.position = Vector3.Lerp(startPosition, targetPosition, elapsedTime / duration);
        elapsedTime += Time.deltaTime;
        yield return null;
    }

    transform.position = targetPosition;
}

14. Moving Using Transform.forward/back/right/left

// Move forward in the direction the object is facing
transform.position += transform.forward * moveSpeed * Time.deltaTime;

// Move backward in the direction the object is facing
transform.position += transform.forward * -moveSpeed * Time.deltaTime;

// Move right in the direction the object is facing
transform.position += transform.right * moveSpeed * Time.deltaTime;

// Move left in the direction the object is facing
transform.position += transform.right * -moveSpeed * Time.deltaTime;

15. Using CharacterController for Movement

// Move using CharacterController (good for player-controlled characters)
CharacterController controller = GetComponent<CharacterController>();
Vector3 move = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
controller.Move(move * moveSpeed * Time.deltaTime);

16. Moving with Input

// Basic movement with arrow keys or WASD
float moveX = Input.GetAxis("Horizontal") * moveSpeed * Time.deltaTime;
float moveZ = Input.GetAxis("Vertical") * moveSpeed * Time.deltaTime;

transform.Translate(new Vector3(moveX, 0, moveZ));