private void DrawRay(Ray ray) { var rayEntity = new Entity() .AddComponent(new CylinderMesh()) .AddComponent(new MaterialComponent { Material = _rayMaterial }) .AddComponent(new MeshRenderer()) .AddComponent( new Transform3D { Orientation = Quaternion.CreateFromEuler(new Vector3(MathHelper.PiOver2, 0f, 0f)), Scale = new Vector3(0.025f, 100f, 0.025f) }); var transform3D = new Transform3D { Position = ray.GetPoint(52f), }; var wrapperEntity = new Entity() .AddChild(rayEntity) .AddComponent(transform3D); transform3D.LookAt(ray.GetPoint(100f)); Managers.EntityManager.Add(wrapperEntity); }
public override void Update() { camera.Update(); hudCamera.SetTargetSize(Core.screen.size); hudCamera.SetPosition(Core.screen.halfSize / hudCamera.GetZoom()); if (Core.input.IsMouseButtonPressed(MouseButton.Left)) { rays.Add(camera.ScreenPixelToWorldRay(Core.input.GetMousePosition())); } if (Core.input.IsKeyPressed(KeyboardKey.R)) { rays.Clear(); } testtransformbillboard.LookAt(camera.GetPosition()); }
public void LookAt(Vector3f position) { transform.LookAt(position); }
protected override void Update(TimeSpan gameTime) { transform.LookAt(camera.Transform.Position); }