예제 #1
0
    private string SelectLinkAnimation()
    {
        currentLinkInformation = agent_.GetCurrentOffMeshLinkInformation();

        Vector3 startPos = currentLinkInformation.start.transform.position;
        Vector3 endPos   = currentLinkInformation.end.transform.position;

        float distS = (transform.position - startPos).magnitude;
        float distE = (transform.position - endPos).magnitude;

        if (distS < distE)
        {
            linkStart_ = startPos;
            linkEnd_   = endPos;
        }
        else
        {
            linkStart_ = endPos;
            linkEnd_   = startPos;
        }

        Vector3 alignDir = linkEnd_ - linkStart_;

        alignDir.y = 0;
        linkRot_   = Quaternion.LookRotation(alignDir);

        string linkAnimation = "";

        switch (currentLinkInformation.linkType)
        {
        case LinkType.JumpLink:
            linkAnimation = "Locomotion_JumpAnimation"; break;

        case LinkType.LadderLink:
            linkAnimation = "Locomotion_LadderAnimation"; break;

        default:
            Debug.LogWarning("Should never comhe here");
            linkAnimation = "Locomotion_LadderAnimation"; break;
        }

        //Debug.LogWarning("link animation " + linkAnimation);
        return(linkAnimation);
    }
예제 #2
0
    private string SelectLinkAnimation()
    {
        currentLinkInformation = agent_.GetCurrentOffMeshLinkInformation ();

        Vector3 startPos = currentLinkInformation.start.transform.position;
        Vector3 endPos = currentLinkInformation.end.transform.position;

        float distS  = (transform.position - startPos).magnitude;
        float distE  = (transform.position - endPos).magnitude;
        if(distS < distE) {
            linkStart_ = startPos;
            linkEnd_ = endPos;
        } else {
            linkStart_ = endPos;
            linkEnd_ = startPos;
        }

        Vector3 alignDir  = linkEnd_ - linkStart_;
        alignDir.y = 0;
        linkRot_ = Quaternion.LookRotation(alignDir);

        string linkAnimation = "";

        switch( currentLinkInformation.linkType)
        {
        case LinkType.JumpLink :
            linkAnimation = "Locomotion_JumpAnimation"; break;

        case LinkType.LadderLink :
            linkAnimation = "Locomotion_LadderAnimation"; break;

        default :
            Debug.LogWarning("Should never comhe here");
            linkAnimation = "Locomotion_LadderAnimation"; break;
        }

        //Debug.LogWarning("link animation " + linkAnimation);
        return linkAnimation;
    }