コード例 #1
0
        void Start()
        {
            instance          = this;
            Screen.showCursor = false;

            style.fontSize         = 18;
            style.normal.textColor = Color.white;

            space = new Space();

            scenarios.Add(new SeekScenario());
            scenarios.Add(new ArriveScenario());
            scenarios.Add(new PursueScenario());
            scenarios.Add(new WanderScenario());
            scenarios.Add(new PathFollowingScenario());
            scenarios.Add(new ObstacleAvoidanceScenario());
            scenarios.Add(new FlockingScenario());
            scenarios.Add(new StateMachineScenario());
            scenarios.Add(new PathFindingScenario());
            currentScenario = scenarios[0];
            currentScenario.Start();

            monoCamera = GameObject.FindGameObjectWithTag("MainCamera");
            riftCamera = GameObject.FindGameObjectWithTag("ovrcamera");

            activeCamera = monoCamera;
        }
コード例 #2
0
        void Start()
        {
            CurrentLevel = Application.loadedLevel;
            Vector3[] points = new Vector3[3];
            points[0] = new Vector3(1, 1, 1);
            points[1] = new Vector3(1, 2, 0);
            points[2] = new Vector3(-1, 2, 1);
            Plane p = new Plane(points[0], points[1], points[2]);

            instance          = this;
            Screen.showCursor = false;

            style.fontSize         = 18;
            style.normal.textColor = Color.white;

            /*scenarios.Add(new SeekScenario());
             * scenarios.Add(new ArriveScenario());
             * scenarios.Add(new PursueScenario());
             * scenarios.Add(new PathFollowingScenario());
             * scenarios.Add(new ObstacleAvoidanceScenario());
             * scenarios.Add(new FlockingScenario());
             * scenarios.Add(new StateMachineScenario());
             * scenarios.Add(new PathFindingScenario());*/



            // Adding the scenarios to the list
            scenarios.Add(new PathFollowingScenario());
            scenarios.Add(new ArriveScenario());
            scenarios.Add(new PursueScenario());
            scenarios.Add(new SeekScenario());
            scenarios.Add(new ObstacleAvoidanceScenario());
            scenarios.Add(new FlockingScenario());
            scenarios.Add(new StateMachineScenario());
            scenarios.Add(new PathFindingScenario());

            // If the current scene that is loaded is 6 it playes the scenario 1
            if (CurrentLevel == 6)
            {
                currentScenario = scenarios[0];
                currentScenario.Start();
            }

            // If the current scene that is loaded is 8 it playes the scenario 3
            if (CurrentLevel == 8)
            {
                currentScenario = scenarios[2];
                currentScenario.Start();
            }
            //currentScenario = scenarios[0];
            //currentScenario.Start();
        }
コード例 #3
0
        void Start()
        {
            instance          = this;
            Screen.showCursor = false;

            style.fontSize         = 18;
            style.normal.textColor = Color.white;

            scenarios.Add(new SeekScenario());

            currentScenario = scenarios[0];
            currentScenario.Start();
        }
コード例 #4
0
        // Update is called once per frame
        void Update()
        {
            float speed = this.speed;

            if (Input.GetKey(KeyCode.LeftShift))
            {
                speed *= 10.0f;
            }

            if (Input.GetKey(KeyCode.W))
            {
                transform.position += gameObject.transform.forward * Time.deltaTime * speed;
            }

            if (Input.GetKey(KeyCode.S))
            {
                transform.position -= gameObject.transform.forward * Time.deltaTime * speed;
            }

            if (Input.GetKey(KeyCode.A))
            {
                transform.position -= gameObject.transform.right * Time.deltaTime * speed;
            }

            if (Input.GetKey(KeyCode.D))
            {
                transform.position += gameObject.transform.right * Time.deltaTime * speed;
            }
            if (Input.GetKey(KeyCode.Q))
            {
                Roll(-Time.deltaTime * speed);
            }
            if (Input.GetKey(KeyCode.E))
            {
                Roll(Time.deltaTime * speed);
            }

            SteeringManager.PrintVector("Cam pos: ", transform.position);
            SteeringManager.PrintVector("Cam forward: ", transform.forward);

            mouseX = Input.GetAxis("Mouse X");
            mouseY = Input.GetAxis("Mouse Y");

            Yaw(mouseX);
            Pitch(-mouseY);
        }
コード例 #5
0
        // Update is called once per frame
        void Update()
        {
            Vector3 toOtherShip = otherShip.transform.position - gameObject.transform.position;
            string  message;

            if (toOtherShip.magnitude > 10.0f)
            {
                message = "Out of range";
            }
            else
            {
                message = "In range";
            }
            SteeringManager.PrintMessage(message);
            Debug.Log("" + message);

            toOtherShip.Normalize();

            float dot = Vector3.Dot(toOtherShip, transform.forward);

            if (dot < 0)
            {
                SteeringManager.PrintMessage("Behind");
            }
            else
            {
                SteeringManager.PrintMessage("In front");
            }

            float fov   = Mathf.Deg2Rad * (45.0f / 2.0f);
            float angle = Mathf.Acos(dot);

            if (angle < fov)
            {
                SteeringManager.PrintMessage("Inside FOV");
            }
            else
            {
                SteeringManager.PrintMessage("Outside FOV");
            }
        }
コード例 #6
0
        // Update is called once per frame
        void Update()
        {
            float mouseX, mouseY;
            float speed = this.speed;

            float runAxis = Input.GetAxis("Run Axis");

            if (Input.GetKey(KeyCode.LeftShift) || runAxis != 0)
            {
                speed *= 10.0f;
            }

            if (Input.GetKey(KeyCode.W))
            {
                Walk(Time.deltaTime * speed);
            }

            if (Input.GetKey(KeyCode.S))
            {
                Walk(-Time.deltaTime * speed);
            }

            if (Input.GetKey(KeyCode.A))
            {
                Strafe(-Time.deltaTime * speed);
            }

            if (Input.GetKey(KeyCode.D))
            {
                Strafe(Time.deltaTime * speed);
            }
            if (Input.GetKey(KeyCode.Q))
            {
                Roll(-Time.deltaTime * speed);
            }
            if (Input.GetKey(KeyCode.E))
            {
                Roll(Time.deltaTime * speed);
            }



            mouseX = Input.GetAxis("Mouse X");
            mouseY = Input.GetAxis("Mouse Y");

            GameObject ovrplayer = GameObject.FindGameObjectWithTag("ovrcamera");

            if (ovrplayer != null)
            {
                ovrplayer.transform.position = transform.position;
            }

            Yaw(mouseX);
            float contYaw   = Input.GetAxis("Yaw Axis");
            float contPitch = Input.GetAxis("Pitch Axis");

            Yaw(contYaw);

            // If in Rift mode, dont pitch
            if (!Params.riftEnabled)
            {
                Pitch(-mouseY);
                Pitch(contPitch);
            }

            float contWalk   = Input.GetAxis("Walk Axis");
            float contStrafe = Input.GetAxis("Strafe Axis");

            Walk(-contWalk * speed * Time.deltaTime);
            Strafe(contStrafe * speed * Time.deltaTime);

            SteeringManager.PrintVector("Cam pos: ", transform.position);
            SteeringManager.PrintVector("Cam forward: ", transform.forward);
        }
コード例 #7
0
        void Start()
        {
            instance = this;
            Screen.showCursor = false;

            style.fontSize = 18;
            style.normal.textColor = Color.white;

            space = new Space();

            scenarios.Add(new SeekScenario());
            scenarios.Add(new ArriveScenario());
            scenarios.Add(new PursueScenario());
            scenarios.Add(new WanderScenario());
            scenarios.Add(new PathFollowingScenario());
            scenarios.Add(new ObstacleAvoidanceScenario());
            scenarios.Add(new FlockingScenario());
            scenarios.Add(new StateMachineScenario());
            scenarios.Add(new PathFindingScenario());
            currentScenario = scenarios[0];
            currentScenario.Start();

            monoCamera = GameObject.FindGameObjectWithTag("MainCamera");

            activeCamera = monoCamera;
        }
コード例 #8
0
ファイル: SteeringManager.cs プロジェクト: seanmeehan/AIGames
        void Start()
        {
            instance = this;
            Screen.showCursor = false;

            style.fontSize = 18;
            style.normal.textColor = Color.white;

            space = new Space();

            scenarios.Add(new BattleScene());
            scenarios.Add(new OpeningScenario());
            scenarios.Add(new SecondScene());
            scenarios.Add(new TwoFight());
            scenarios.Add(new Open2());
            scenarios.Add(new ObstacleAvoidanceScenario());
            scenarios.Add(new FlockingScenario());
            scenarios.Add(new StateMachineScenario());
            scenarios.Add(new PathFindingScenario());
            currentScenario = scenarios[0];
            currentScenario.Start();

            monoCamera = GameObject.FindGameObjectWithTag("MainCamera");
            riftCamera = GameObject.FindGameObjectWithTag("ovrcamera");

            activeCamera = monoCamera;
        }
コード例 #9
0
        void Start()
        {
            instance = this;
            Screen.showCursor = false;

            style.fontSize = 18;
            style.normal.textColor = Color.white;

            scenarios.Add(new SeekScenario());
            scenarios.Add(new ArriveScenario());
            scenarios.Add(new PursueScenario());
            scenarios.Add(new PathFollowingScenario());
            scenarios.Add(new ObstacleAvoidanceScenario());
            scenarios.Add(new FlockingScenario());
            scenarios.Add(new StateMachineScenario());
            scenarios.Add(new PathFindingScenario());
            currentScenario = scenarios[0];
            currentScenario.Start();
        }