协助游戏对象重定位,实例化

问题描述

我正在尝试制作一个与“立方体冲浪者”具有类似堆栈机制的游戏。 我创建了一个名为 stacks 的空游戏对象,并将其设为玩家的子对象。 在我的项目中,理论上当玩家与盒子碰撞时,盒子应该在玩家下方产生。 但会发生什么video 当玩家碰撞时,它会将盒子移动到玩家下方但在地面内,盒子不会将玩家向上推,因此玩家可以站在它上面。 当我将堆栈游戏对象移动到玩家旁边而不是它下面时(从(0,-0.5,0)到(1,0)) video 堆叠正在工作

请帮助你的兄弟解决这个问题。他该怎么办? 将它们作为 childobject 是个坏主意吗?如果是怎么办?请指导我谢谢。

my hierarchy

我的代码

private void OnTriggerEnter(Collider other)
{
    if (other.gameObject.CompareTag("Pickup"))
    {
        
        Transform otherTransform = other.transform;
        Rigidbody otherRb = otherTransform.GetComponent<Rigidbody>();
        otherRb.isKinematic = true;
        other.gameObject.GetComponent<BoxCollider>().isTrigger = false;
        
        

        if (parentPickup == null)
        {
            parentPickup = otherTransform;
            parentPickup.position = stackPosition.position;
            parentPickup.parent = stackPosition;
            
        }

        else
        {
            parentPickup.position += Vector3.up * (otherTransform.localScale.y) ;
            otherTransform.position = stackPosition.position;
            otherTransform.parent = parentPickup;
            
        }
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)