示例#1
0
        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);
        }
示例#2
0
    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());
    }
示例#3
0
 public void LookAt(Vector3f position)
 {
     transform.LookAt(position);
 }
 protected override void Update(TimeSpan gameTime)
 {
     transform.LookAt(camera.Transform.Position);
 }