#unity3d
#unity-игровой движок
Вопрос:
Я работаю над настольной игрой, используя Unity. В качестве объектов в этой настольной игре используются пирамиды, которые перемещаются влево, вправо, вперед и назад по доске, имеющей треугольное основание для размещения пирамиды. Для первых трех из четырех ходов пирамида кажется точно вписывающейся в треугольник. Но по мере продвижения вперед я обнаружил, что пирамида не совсем вписывается в положение треугольника. Он немного перемещен за пределы пирамиды вместе с перемещениями вперед. Я считаю (не уверен!) что плавающее число вызывает такого рода проблемы, но я не могу его найти. Это то, что сводит меня с ума с прошлой недели. Любая помощь была бы очень признательна.
//forward move
void setObj()
{
Set_Positions.instance.hitObj.GetComponent<pyramid_manager> ().row ;
Set_Positions.instance.curObj.parent = null;
Set_Positions.instance.parentObj.transform.eulerAngles = new Vector3 (0,0,0);
Set_Positions.instance.parentObj.transform.position = Set_Positions.instance.curObj.position;
Set_Positions.instance.curObj.parent = Set_Positions.instance.parentObj;
Set_Positions.instance.parentObj.transform.DORotate (new Vector3 (110f,Set_Positions.instance.parentObj.transform.eulerAngles.y, Set_Positions.instance.parentObj.transform.eulerAngles.z), 0.5f, 0);
}
Комментарии:
1. Если вы используете значения с плавающей запятой для своих позиций, это может быть проблемой, да (неточность с плавающей запятой). Если вы не можете создать доску, используя целочисленные значения, вы могли бы попытаться округлять положение пирамиды после каждого хода, например, по модулю (если у вас фиксированный размер сетки).
2. @GunnarB. Спасибо. Позвольте мне попробовать.
3. Пытался. Но это не работает. По-прежнему пирамида кажется повернутой из своего фиксированного положения.
4. Это 2D или 3D игра? Можете ли вы опубликовать свой текущий код и, возможно, скриншот тоже? Скорее всего, это даст вам какой-то ответ…
5. @Programmer здесь вы можете увидеть изображение, ссылку .