Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 团结-有孩子的父母分崩离析_Unity3d_Unity5_Unity3d Editor - Fatal编程技术网

Unity3d 团结-有孩子的父母分崩离析

Unity3d 团结-有孩子的父母分崩离析,unity3d,unity5,unity3d-editor,Unity3d,Unity5,Unity3d Editor,我有一个玩家角色,由一些立方体、球体和胶囊组成。我创建了一个空对象Player,该播放器的所有身体部位都是Player的子对象。我有两架飞机,中间有一个移动平台。我可以在正常的平面和墙壁上行走和跳跃,但当玩家在移动平台上时,玩家的身体部分会散开。也许这真的很愚蠢,但我刚从团结开始 这就是问题所在,玩家在移动平台上崩溃: 和下面的信息概述,球员,身体部位,移动平台与相应的字符持有人。所有车身部件都具有与屏幕截图上的车身部件相同的属性。有人能帮我解决这里的问题吗?如何通过移动平台运输整个播放器

我有一个玩家角色,由一些立方体、球体和胶囊组成。我创建了一个空对象
Player
,该播放器的所有身体部位都是
Player
的子对象。我有两架飞机,中间有一个移动平台。我可以在正常的平面和墙壁上行走和跳跃,但当玩家在移动平台上时,玩家的身体部分会散开。也许这真的很愚蠢,但我刚从团结开始

这就是问题所在,玩家在移动平台上崩溃:

和下面的信息概述,球员,身体部位,移动平台与相应的字符持有人。所有车身部件都具有与屏幕截图上的
车身
部件相同的属性。有人能帮我解决这里的问题吗?如何通过移动平台运输整个播放器

HoldCharacter脚本:

使用系统集合;
使用System.Collections.Generic;
使用UnityEngine;
公共类特征:单一行为{
无效对撞机(对撞机其他){
other.transform.parent=gameObject.transform;
}
void OnTriggerExit(碰撞器其他)
{
other.transform.parent=null;
}
}

如果我是对的,刚体对象的子对象也有物理。也许把刚体放在玩家的孩子身上,就像这样

玩家 -头 -武器 -腿
-带刚体的空游戏对象

如果我是正确的,带刚体对象的子对象也有物理。也许把刚体放在玩家的孩子身上,就像这样

玩家 -头 -武器 -腿
-带刚体的空游戏对象

您只需禁用
isTrigger
标志。以下是一些见解


那么触发器是如何工作的呢。。。它将触发
OnTriggerExit
OnTriggerEnter
,但会让对象通过它。如果禁用
IsTrigger
,则需要将逻辑移动到
OnCollisionExit
方法上的
OnCollisionEnter
。如果isTrigger取消选中某种程度上起作用,那么可能只是将HoldCharacter的逻辑分别移动到
OnCollisionCenter
OnCollisionEnd
,如下所示:

void OnCollisionEnter(Collision collisionInfo) { 
   collisionInfo.gameObject.transform.parent = gameObject.transform; 
} 
void OnCollisionExit(Collision collisionInfo) {
    collisionInfo.gameObject.transform.parent = null; 
}

关于

您只需禁用isTrigger标志。以下是一些见解


那么触发器是如何工作的呢。。。它将触发
OnTriggerExit
OnTriggerEnter
,但会让对象通过它。如果禁用
IsTrigger
,则需要将逻辑移动到
OnCollisionExit
方法上的
OnCollisionEnter
。如果isTrigger取消选中某种程度上起作用,那么可能只是将HoldCharacter的逻辑分别移动到
OnCollisionCenter
OnCollisionEnd
,如下所示:

void OnCollisionEnter(Collision collisionInfo) { 
   collisionInfo.gameObject.transform.parent = gameObject.transform; 
} 
void OnCollisionExit(Collision collisionInfo) {
    collisionInfo.gameObject.transform.parent = null; 
}

关于

如果从字符保持器中移除
is触发器
,会发生什么情况?为什么需要两个嵌套的碰撞器,即
movingformat->characterHolder
?如果将
机身上的
胶囊碰撞器更换为
BoxCollider
,会发生什么情况?。。。我以前遇到过不同类型碰撞器之间碰撞的问题。你能显示你的HoldCharacter脚本吗?当我禁用“is触发器”时,我可以站在移动的平台上,is不会散开,但当平台移动时,玩家不会停留在平台上并摔倒。我使用了嵌套的“移动平台和角色持有者”,因为我在YouTube视频中看到了这一点。但当我只用一只脚在平台上跳跃时,它就起作用了。因此,组合“平台脚”起作用,但身体的其他部位“释放”。只有在这个移动平台上@大卫诺索触发器是如何工作的是。。。它将触发
OnTriggerExit
OnTriggerEnter
,但它会让对象
通过它。如果禁用
IsTrigger
,则需要将逻辑移动到
OnCollisionExit
方法上的
OnCollisionEnter
。如果
isTrigger
取消选中某种工作,可能只是因为您将
HoldCharacter
的逻辑分别移动到
OnCollisionCenter
OnCollisionEnd
。是的。。。我想这是因为HoldCharacter Monobhavior上的
OnTiggerEnter
OnTiggerExit
。。。将
HoldCharacter
代码替换为以下
void-OnCollisionEnter(碰撞碰撞碰撞信息){collisionInfo.gameObject.transform.parent=gameObject.transform;}void-OnCollisionExit(碰撞碰撞碰撞信息){collisionInfo.gameObject.transform.parent=null;}
值得一试如果从字符保持器中移除
is触发器
会发生什么?为什么需要两个嵌套的碰撞器,即
movingformat->characterHolder
?如果将
机身上的
胶囊碰撞器更换为
BoxCollider
,会发生什么情况?。。。我以前遇到过不同类型碰撞器之间碰撞的问题。你能显示你的HoldCharacter脚本吗?当我禁用“is触发器”时,我可以站在移动的平台上,is不会散开,但当平台移动时,玩家不会停留在平台上并摔倒。我使用了嵌套的“移动平台和角色持有者”,因为我在YouTube视频中看到了这一点。但当我只用一只脚在平台上跳跃时,它就起作用了。因此,组合“平台脚”起作用,但身体的其他部位“释放”。只有在这个移动平台上@大卫诺索触发器是如何工作的是。。。它将触发
OnTriggerExit
OnTriggerEnter
,但它会让对象
通过它。如果禁用
IsTrigger
,则需要将逻辑移动到
OnCollisionExit
方法上的
OnCollisionEnter
。如果
isTrigger