как ссылаться на «действие якоря» лука, используя код? - PullRequest
0 голосов
/ 04 мая 2020

Я пытаюсь сделать игру с луком и стрелами. Я загрузил лук, на котором есть анимация (?), Где строка натянута назад.

См .: https://imgur.com/a/6XeaRlr

Я хочу создать скрипт, который запускает эту анимацию (показывается в правом нижнем углу моего GIF-файла), когда игрок щелкает левой кнопкой мыши. Но я не знаю, как ссылаться на анимацию.

Это что-то вроде _anim = GetComponent<Animator>();, а затем animation.Play? Я не могу сказать, как называется анимация, чтобы сделать это.

Далее ... было бы замечательно иметь возможность контролировать длину анимации в зависимости от того, как долго пользователь удерживал нажатой кнопку, а не играть в полном объеме, даже если пользователь только нажимает левой кнопкой мыши Я не уверен, как это будет достигнуто?

1 Ответ

2 голосов
/ 04 мая 2020

Хорошо, вопрос кажется коротким, но решение будет долгим, и вам нужно немного изучить. Итак, давайте go пошагово рассмотрим ваш вопрос.

  1. Я скачал лук с анимацией (?)

    Да, это 3D-модель лука с анимацией в нем.

  2. Я хочу создать скрипт, который запускает эту анимацию (показывается в правом нижнем углу моего gif), когда игрок щелкает левой кнопкой мыши. Но я не знаю, как ссылаться на анимацию.

    Чтобы запустить эту анимацию, вам необходим Контроллер аниматора , прикрепленный к экземпляру модели смычка. Затем вы можете щелкнуть этот контроллер Animator, чтобы открыть его панель. После открытия панели вы можете просто перетащить туда свою анимацию. Когда вы впервые отбросите свою анимацию, это будет состояние анимации по умолчанию. Однако, если вы не хотите немедленно запускать анимацию, я бы предложил вам создать пустое состояние и перейти к анимации лука.

  3. Это что-то вроде _anim = GetComponent (); и затем animation.Play?

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

  4. Я не могу сказать, что даже название анимации делает для этого.

    Как только вы перетащите анимацию на панель, вы увидите имя анимация для использования в сценарии.

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

    Есть много способов поиграть с анимацией, например, вы можете установить параметр анимации , чтобы оставаться в состоянии анимации. Кроме того, вы также можете отключить значение Имеет время выхода из перехода, чтобы заставить анимацию останавливаться сразу после того, как пользователь перестает удерживать кнопку.

В целом, когда Что касается анимации, Unity достаточно мощная, и я бы посоветовал прочитать документацию и посмотреть пару уроков.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...