我该怎么做这个动画,或者我该如何应对这种困境呢?

时间:2017-04-02 20:35:04

标签: animation unity3d procedure

所以,我有一个立方体,我想制作一个游戏,其中立方体从一个塔架跳到另一个塔架,现在我正处于这样的位置,如果立方体停留在它上面,那么我想让塔架掉落时间量。

我不想使用物理或僵硬的身体,我只使用transform.positionRaycast来点击下一个我希望立方体跳过的塔,我想使用动画,所以如果幼崽在当前的塔架上停留的时间超过给定的时间,那么塔架就会随着它而落在立方体上。

问题是我不知道该做什么,从哪里开始;关于统一动画我只知道如何做动画片段。

我会学习做其他事情,但我实际上没有想法如何处理这个问题,我应该使用什么技术来获得理想的结果,以及如何?

1 个答案:

答案 0 :(得分:0)

  1. 首先,您需要检测立方体是否在挂架上。
  2. 如果是,则需要启动计时器。
  3. 如果计时器达到0,则塔架会掉落。
  4. 您可以使用OnCollisionEnter来检测立方体是否与定位塔相撞(落地):

    void OnCollisionEnter(Collision col)
    {
        // Check if it is the cube that has collided.
        if (col.gameObject.name == "Player")  // Make sure to assign the Player Tag to the cube
        {
            // Start countdown timer.
        }
    }
    

    您可以使用coroutine开始倒数计时器。 您需要在课程顶部添加using System.Collections;

    使用StartCoroutine(MyCoroutine());

    呼叫您的协程
    IEnumerator MyCoroutine()
    {
        // Wait for 3 seconds.
        yield return new WaitForSeconds(3f);
    
        // Make the pylon fall now.
    }
    

    这段代码会让游戏在做某事之前等待3秒钟。如何使塔架坠落取决于您,您可以使用RigidBody并将isKinematic从true设置为false作为示例,但是因为您已经说过您不想使用物理,所以您可以翻译塔架向下使用Transform.position

    这应该让你开始。