Если отключить / включить коллайдер, аниматор больше не работает - PullRequest
0 голосов
/ 28 января 2019

У меня есть персонаж с BoxCollider2D и Animator компонентами.Мне нужно динамически изменять трение физического материала, поэтому я использую следующую функцию:

private void ChangeFriction(float friction)
{
    boxCollider.sharedMaterial.friction = friction;
    boxCollider.enabled = false; // The friction won't be changed if I won't reset the collider
    boxCollider.enabled = true;
}

Проблема в том, что после выполнения этой функции анимация ходьбы больше не воспроизводится полностью.Если я прокомментирую две последние строки, то все будет отлично работать, но трение не изменится, как Быть или не быть .

Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 30 января 2019

Я использовал этот кусок кода, чтобы получить доступ к трению и изменить его, и он работает без включения и выключения коллайдера.Я вижу, что это меняется и в редакторе.

private Collider2D col;
void Start () {
    col = gameObject.GetComponent<Collider2D>();

}

void Update () {
    if(Input.GetKeyDown(KeyCode.Mouse0))
    {
        col.sharedMaterial.friction = 1;

    }

    if (Input.GetKeyDown(KeyCode.Mouse1))
    {
        col.sharedMaterial.friction = 0.5f;
    }
    Debug.Log(col.sharedMaterial.friction);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...