什么是变换,什么是变换

本文关键字:变换 什么 | 更新日期: 2023-09-27 17:58:53

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
public class Waypoints : MonoBehaviour {
    public Transform[] waypoint;
    public float patrolSpeed;
    public bool loop = true;
    public int dampingLook = 4;
    public float pauseDuration;
    private float curTime;
    private int currentWaypoint = 0;
    public CharacterController character;
    // Use this for initialization
    void Start () {

    }
    void LateUpdate(){
        if(currentWaypoint < waypoint.Length){
            patrol();
        }else{    
            if(loop){
                currentWaypoint= 0;
            } 
        }
    }
    void patrol(){
        Vector3 nextWayPoint = waypoint[currentWaypoint].position;
        // Keep waypoint at character's height
        nextWayPoint.y = transform.position.y; 
        // Get the direction we need to move to
        // reach the next waypoint
        Vector3 moveDirection = nextWayPoint - transform.position;

转换是字符的意思吗?那么transform.position在这种情况下会得到角色的位置ThirdPersonController我添加了脚本吗?脚本如何知道转换属于角色?

如果我在做Transform_Transform,那么Transform和我现在使用的Transform之间有什么区别?

例如,如果我想设置或获取字符的起始位置,我可以在脚本中制作:public Transform_Transform;则在开始函数中:_transform=GetComponent((;例如,我可以从transform中得到位置?

什么是变换,什么是变换

好吧,Transform是一个类型,其中asTransform是类型Transform的属性。如果你检索变换,你将始终获得你的脚本分配给的游戏对象的变换。

在您的示例中,变换指的是路点的变换。如果你想获得角色的转换,你必须使用character.Transform.来检索它

你可能见过有人嘲笑:

private Transform _transform;

我们这样做是为了将当前GameObject的Transform缓存到我们自己的成员中,因为如果你经常调用Transform,那么调用Transform可能会对性能造成小的影响。然而,我们仍然需要至少调用transform一次才能真正检索引用:

private void Awake(){
   _transform = transform;
}

编辑:要设置您的字符位置,您可以使用:

character.transform.position = someVector3;