Jump to content

Как узнать позицию обьекта в пространстве c#


photo

Recommended Posts

Posted

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

using System;

using System.Collections;

using System.Collections.Generic;

using Unigine;



[Component(PropertyGuid = "5ff39bf967441504a8a79c93dfaf78d64f635a3d")]

public class Test : Component

{

    private void Update()

    {

        Node node = World.GetNodeByName("Cuboid");

        float worldPos = (float)node.GetWorldDirection(MathLib.AXIS.X);

        if (Input.IsKeyUp(Input.KEY.E))

        {

        float TransformX = worldPos + 1.0f;

        Log.Message("Глобальная позиция:" + worldPos + "\n");

        Log.Message("Координаты оси X:" + TransformX +"\n");

        node.WorldTranslate(TransformX, 0.0f, 0.0f);

        }

    }

}

 

Posted

Разобрался но не доканца, как мне например менять значение vec3.RIGHT (там по умолчанию 1.0, 0.0, 0.0)? Или менять значение вектора RIGHT нельзя? Можно создать свой новый вектор со своими значениями?

using System;
using System.Collections;
using System.Collections.Generic;
using Unigine;

[Component(PropertyGuid = "5ff39bf967441504a8a79c93dfaf78d64f635a3d")]
public class Test : Component
{
    private void Update()
    {
        Node node = World.GetNodeByName("Cuboid");
        vec3 worldPos = node.GetWorldDirection(MathLib.AXIS.X);
        worldPos = vec3.RIGHT;
        if (Input.IsKeyDown(Input.KEY.E))
        {
        vec3 TransformX = worldPos + vec3.RIGHT;
        node.WorldTranslate(TransformX);
        }
    }
}

 

Posted
11 hours ago, Somebody said:

как узнать позицию обьекта в пространстве

в С# многие методы сделаны через проперти. т.е. не надо писать GetЧтоТоТам или  SetЧтоТоТам просто сразу берем свойство
vec3 position = node.WorldPosition;
позиция в глобальных координатах  https://developer.unigine.com/en/docs/2.15.1/api/library/nodes/class.node?rlang=cs#WorldPosition
 

так же и изменять ее
node.WorldPosition = new vec3(1,2,3);

 

  • Thanks 1
×
×
  • Create New...