Итак, я около часа искал решение моей проблемы, но еще не нашел, поэтому я здесь. Моя проблема в том, что я хочу подсчитать, сколько полных оборотов я делаю, у меня есть вращающийся объект, и каждое полное вращение я хочу вести счет, я не могу рассчитать время, которое требуется, а затем добавить такие точки, потому что скорость вращающегося объекта будет постоянно меняться, так что это не сработает. В идеале я бы также мог изменить угол, под которым вы получаете очко. Или, если, скажем, каждые 1 градус, который я вращаю, он добавит такую точку, все, что я просто хотел бы вычислить, сколько раз я повернулся. Любая помощь будет оценена.
C # Unity 3D добавляет точку при каждом полном повороте
Ответы:
Вы можете получить текущее вращение x y или z из вашего игрового объекта, а затем в обновлении вы можете посмотреть, вращается ли он. Пример 10 единиц на одно очко:
Ваш игровой объект имеет вращение, равное 20 - сохраните это значение в переменной с именем rot вне метода обновления.
Обновление называется. Поворот ваших игровых объектов теперь равен 25 - в обновлении вы посмотрите, подходят ли 10 к 25 - гниль. 25 - гниль 5 - не подходит.
Обновление называется. Ваш игровой объект теперь вращается на 42 - вычислите: 42 - rot равен 22. Вы видите, что он подходит. Теперь посчитайте, сколько раз 10 умещается в 22. Оно умещается в 2 раза. Так что прибавьте к счету 2 очка. Теперь установите значение rot равным старому значению rot плюс 2 умноженное на 10.