Я работаю над оружием метательного ножа, где игрок бесплатно целится, а затем бросает нож. Нож вращается в воздухе, и при столкновении перестает вращаться и привязывается к объекту, с которым столкнулся. Вращение выполняется с помощью анимации, а путь ножа - физикой.
Одна из проблем, с которой я сталкиваюсь, заключается в том, чтобы убедиться, что когда нож сталкивается с врагом, нож будет обращен к ним. В данный момент иногда случается так, что нож первым вонзается в рукоять противника. Что, очевидно, нереально. В то же время, я думаю, что для ножа было бы совершенно неразумно «поражать» врага, только если он столкнулся с лезвием первым, поскольку скорость вращения ножа находится вне контроля игрока.
Я наблюдал много медленных видеороликов с аналогичным оружием, и каждый раз, когда оружие выбрасывалось, оно вращалось в воздухе и волшебным образом всегда заканчивалось тем, что лезвие указывало на его цель. Для игры, в которой расстояние броска будет постоянным, это довольно просто сделать. Но я не совсем уверен, как предсказать это, так как есть много непредсказуемых факторов, например. направление ножа, вращение ножа, положение врага, расстояние от врага и т. д. Если это возможно, я бы предпочел не использовать сложную логику прогнозирования, поскольку игра будет для довольно дешевых устройств. Есть ли способ «дыма и зеркал» решить эту проблему?