unity3d怎么让一个物体到达一个位置后传送到另一个地点?
就是类似于传送门的效果,当我进去门里(到达指定位置)我就会被传送到另一个门里(另一个指定位置),求教各位大佬了...
就是类似于传送门的效果,当我进去门里(到达指定位置)我就会被传送到另一个门里(另一个指定位置),求教各位大佬了
展开
3个回答
展开全部
触发修改物品的transform啊,物体碰撞检测重叠的时候,修改物体transform,这个很简单的吧。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
新建三个物体,player(人物:添加rigibody)、door(门:新建Tag:door,Collider钩选IsTrigger)、transmitpos(传送位置)。
door脚本:
public Transform transmitpos;//传送位置物体
public Vector3 transmitdoorpos;
void Start () {
transmitdoorpos = transmitdoor.position;//获取传送位置
}
player脚本:
void OnTriggerEnter(Collider other)
{
if (other.tag == "door")//检测碰到的是门
{
Vector3 characternewpos = GameObject.Find(other.name).GetComponent<door>().transmitdoorpos;//获取传送位置-door为门脚本名称
transform.position = characternewpos;//传送至位置
}
}
door脚本:
public Transform transmitpos;//传送位置物体
public Vector3 transmitdoorpos;
void Start () {
transmitdoorpos = transmitdoor.position;//获取传送位置
}
player脚本:
void OnTriggerEnter(Collider other)
{
if (other.tag == "door")//检测碰到的是门
{
Vector3 characternewpos = GameObject.Find(other.name).GetComponent<door>().transmitdoorpos;//获取传送位置-door为门脚本名称
transform.position = characternewpos;//传送至位置
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
以下例子中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询