代码之家  ›  专栏  ›  技术社区  ›  lakeviking

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

  •  0
  • lakeviking  · 技术社区  · 7 年前

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

    这就是问题所在,玩家在移动平台上摔倒: http://nl.tinypic.com/r/207s3sz/9

    body 部分在屏幕截图上。有谁能帮我解决这里的问题吗?如何通过移动平台运输整个播放器?

    enter image description here

    enter image description here

    HoldCharacter脚本:

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class HoldCharacter : MonoBehaviour {
    
        void OnTriggerEnter(Collider other) {
            other.transform.parent = gameObject.transform;                        
        }
    
        void OnTriggerExit(Collider other)
        {
            other.transform.parent = null;
        }
    }
    
    2 回复  |  直到 7 年前
        1
  •  2
  •   David Espino    7 年前

    你只需要禁用 isTrigger 旗帜以下是一些见解

    触发器是如何工作的。。。它会开火 OnTriggerExit OnTriggerEnter IsTrigger ,则需要将逻辑移到 OnCollisionEnter 在…上 OnCollisionExit OnCollisionCenter OnCollisionEnd 分别如下:

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

    当做

        2
  •  0
  •   CrafterOfWorlds    7 年前

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

    游戏者 -武器 -带有刚体的空游戏对象