コード例 #1
0
        public void LoadLevel()
        {
            GameWorldManager.Instance.SpawnEntity("Camera", "cameraEditor", new Vector3(0, 0, 800));
            FreeCameraController camControl = new FreeCameraController(SceneManager.Instance.GetCurrentCamera());

            ControllerRepository.Instance.RegisterController("camcontrol", camControl);
            FrameUpdateManager.Instance.Register(camControl);
            FrameUpdateManager.Instance.Register(new EditorToolsController());
        }
コード例 #2
0
    // Use this for initialization
    void Start()
    {
        Instance = this;
        // 旋转归零
        transform.rotation = Quaternion.identity;
        // 初始位置是模型
        Vector3 position = model.position;

        position.z        -= default_distance;
        transform.position = position;
        resetPosition      = transform.position;
        UpdateDistanceFromModel();
    }
コード例 #3
0
    public static void StartCamera()
    {
        Transform transform = Service.Get <GameObject>().transform;

        if (transform.Find("FreeCameraTarget") == null)
        {
            GameObject gameObject = new GameObject("FreeCameraTarget");
            gameObject.transform.SetParent(transform, worldPositionStays: false);
            gameObject.transform.position = Camera.main.transform.position;
            gameObject.transform.rotation = Camera.main.transform.rotation;
            FreeCameraController freeCameraController = gameObject.AddComponent <FreeCameraController>();
            freeCameraController.Target = gameObject.transform;
        }
    }
コード例 #4
0
 protected override async Task PrepareAsync(IUrhoScheduler scheduler, ILoadingProgress progress)
 {
     await scheduler.RunAsync(
         () =>
     {
         if (_isPrefab)
         {
             LoadPrefab();
         }
         else
         {
             LoadScene();
         }
         NextInputSubscriber = new FreeCameraController(CameraNode);
     });
 }
コード例 #5
0
        public GameScenePage(NavigationStack navigation, IScenePage menuPage)
        {
            this.navigation = navigation;
            _menuPage       = menuPage;
            CreateSimpleScene(100);
            var zone = Scene.GetOrCreateComponent <Zone>();

            zone.FogColor = new Color(0, 0, 1, 1);
            var box = Scene.CreateChild();

            box.Position = new Vector3(0, 0, 4);
            var boxModel = box.CreateComponent <StaticModel>();

            boxModel.Model      = ResourceCache.GetModel("Models/Box.mdl");
            NextInputSubscriber = new FreeCameraController(CameraNode);

            this.MapTouch(OnTouch, OnTouchMove2, OnTouchComplete, OnTouchCancel2);
        }
コード例 #6
0
        public override void OnResumed()
        {
            if (Scene == null)
            {
                var mdl = ResourceCache.GetModel(_modelName);
                CreateSimpleScene(mdl.BoundingBox.Size.Length * 4.0f);
                var node        = Scene.CreateChild();
                var staticModel = node.CreateComponent <StaticModel>();
                staticModel.Model = mdl;
                var z = Scene.GetOrCreateComponent <Zone>();
                z.FogColor           = Color.Blue;
                Camera.Node.Position = mdl.BoundingBox.Size * 2.0f;
                Camera.Node.LookAt(node.Position, Vector3.Up, TransformSpace.World);

                var light = Camera.Node.CreateChild();
                light.Position = Vector3.Up;
                var l = light.CreateComponent <Light>();
                l.Radius            = mdl.BoundingBox.Size.Length * 2.0f;
                l.LightType         = LightType.Point;
                NextInputSubscriber = new FreeCameraController(CameraNode);
            }

            base.OnResumed();
        }