什么是变换,什么是变换
本文关键字:变换 什么 | 更新日期: 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;