コード例 #1
0
    void LateUpdate()
    {
        if (localPlayer == null)
        {
            return;
        }

        CameraRig cameraRig = defaultCamera;

        if (localPlayer.PlayerState.WeaponState == PlayerState.EWeaponState.AIMING || localPlayer.PlayerState.WeaponState == PlayerState.EWeaponState.AIMEDFIRING)
        {
            cameraRig = aimCamera;
        }

        float targetHeight = cameraRig.CameraOffset.y +
                             (localPlayer.PlayerState.MoveState == PlayerState.EMoveState.CROUCHING ? cameraRig.CrouchHeight : 0);

        Vector3 targetPosition = cameraLookTarget.position + localPlayer.transform.forward * cameraRig.CameraOffset.z
                                 + localPlayer.transform.up * targetHeight
                                 + localPlayer.transform.right * cameraRig.CameraOffset.x;

        Vector3 collisionDestination = cameraLookTarget.position + localPlayer.transform.up * targetHeight - localPlayer.transform.forward * .5f;

        Debug.DrawLine(collisionDestination, targetPosition, Color.blue);
        HandleCameraCollision(collisionDestination, ref targetPosition);

        transform.position = Vector3.Lerp(transform.position, targetPosition, cameraRig.Damping * Time.deltaTime);
        transform.rotation = Quaternion.Lerp(transform.rotation, cameraLookTarget.rotation, cameraRig.Damping * Time.deltaTime);
    }
コード例 #2
0
 private void HandleCameraTransitionCompleted(CameraRig targetRig)
 {
     if (targetRig == this.PlayerController.CameraRig)
     {
         this.PlayerController.FreezeMotion = false;
     }
 }
コード例 #3
0
    void Start()
    {
        if (isLocalPlayer)
        {
            GameObject camprefab = Instantiate(cameraprefab, transform.position, transform.rotation) as GameObject;

            cameraRig = camprefab.GetComponent <CameraRig> ();

            camprefab.gameObject.tag = "PlayerCam";

            cameraRig.target = transform;

            Player_Input.TPScamera = cameraRig.mainCamera;
            Ammo_Tool.ammo_cam     = cameraRig.mainCamera;
        }
        if (!isLocalPlayer)
        {
            DisableComponents();
            AssignRemoteLayer();
            DisableCam();
        }
        else
        {
            Scenecamera = Camera.main;
            if (Scenecamera != null)
            {
                Scenecamera.gameObject.SetActive(false);
            }
        }
    }
コード例 #4
0
        /// <summary>
        /// Activates the SteamVRCameraRig and deactivates the OVRCameraRig.
        /// </summary>
        void ActivateSteamVRCameraRig()
        {
            // if the DesktopCameraRig [PuppetJump] is in the scene
            if (GameObject.Find("DesktopCameraRig [PuppetJump]"))
            {
                // deactivate it
                GameObject.Find("DesktopCameraRig [PuppetJump]").SetActive(false);
            }

            // if the OVRCameraRig [PuppetJump] is in the scene
            if (GameObject.Find("OVRCameraRig [PuppetJump]"))
            {
                // deactivate it
                GameObject.Find("OVRCameraRig [PuppetJump]").SetActive(false);
            }

            // if the SteamVRCameraRig [PuppetJump] is in the scene
            if (GameObject.Find("SteamVRCameraRig [PuppetJump]"))
            {
                // activate it
                cameraRig = GameObject.Find("SteamVRCameraRig [PuppetJump]").GetComponent <CameraRig>();
                cameraRig.gameObject.SetActive(true);
            }
            // if the SteamVRCameraRig [PuppetJump] is not in the scene
            else
            {
                // throw error
                Debug.LogError("Please place the SteamVRCameraRig [PuppetJump] prefab in your scene.");
            }

            deviceType = PuppetJumpManager.DeviceTypes.SteamVR;
        }
コード例 #5
0
    // 更新摄像机位置
    void Update()
    {
        if (localPlayer == null)
        {
            return;
        }

        CameraRig cameraRig = defaultCamera;

        // 瞄准时转为瞄准摄像机
        if (localPlayer.PlayerState.WeaponState == PlayerState.EWeaponState.AIMING ||
            localPlayer.PlayerState.WeaponState == PlayerState.EWeaponState.AIMEDFIRING)
        {
            cameraRig = aimCamera;
        }

        Vector3 targetPosition = cameraLookAtTarget.position
                                 + localPlayer.transform.forward * cameraRig.CameraOffset.z
                                 + localPlayer.transform.up * cameraRig.CameraOffset.y
                                 + localPlayer.transform.right * cameraRig.CameraOffset.x;

        Quaternion targetRotation = Quaternion.LookRotation(cameraLookAtTarget.position - targetPosition, Vector3.up);

        transform.position = Vector3.Lerp(transform.position, targetPosition, cameraRig.Damping * Time.deltaTime);
        transform.rotation = Quaternion.Lerp(transform.rotation, targetRotation, cameraRig.Damping * Time.deltaTime);
    }
コード例 #6
0
    void LateUpdate()
    {
        if (localPlayer == null)
        {
            return;
        }

        CameraRig cameraRig = defaultCamera;

        if (localPlayer.PlayerState.WeaponState == PlayerState.EWeaponState.AIMING || localPlayer.PlayerState.WeaponState == PlayerState.EWeaponState.AIMEDFIRING)
        {
            cameraRig = aimCamera;
        }

        float targetHeight = cameraRig.CameraOffset.y;

        Vector3 targetPos = cameraLookTarget.position +
                            localPlayer.transform.forward * cameraRig.CameraOffset.z + //forward offset
                            localPlayer.transform.up * targetHeight +                  // vertical offset
                            localPlayer.transform.right * cameraRig.CameraOffset.x;    // horizontal offset

        Vector3 collisionDestination = cameraLookTarget.position + localPlayer.transform.up * targetHeight - localPlayer.transform.forward * .5f;

        HandleCameraCollision(collisionDestination, ref targetPos);

        transform.position = Vector3.Lerp(transform.position, targetPos, cameraRig.damping * Time.deltaTime);
        transform.rotation = Quaternion.Lerp(transform.rotation, cameraLookTarget.rotation, cameraRig.damping * Time.deltaTime);

        // value is between .99 and -.99, lookTarget pos should be between 1.5 and 0
    }
コード例 #7
0
 public void Init()
 {
     GetGlobalPlayerVariables();
     cameraRig = new CameraRig();
     cameraRig.Init(playerCamera, viewTarget, zoom);
     cameraRig.SetCameraValues(new Vector3(5, -5.0f, 0.0f), 4.0f, 3.0f);
 }
コード例 #8
0
    // Update is called once per frame
    void LateUpdate()
    {
        if (localPlayer == null)
        {
            return;
        }

        CameraRig cameraRig = defaultCamera;

        if (localPlayer.PlayerState.weaponState == PlayerState.EWeaponState.AIMING || localPlayer.PlayerState.weaponState == PlayerState.EWeaponState.AIMED_FIRING)
        {
            cameraRig = aimCamera;
        }

        float targetHeight = cameraRig.cameraOffset.y + (localPlayer.PlayerState.moveState == PlayerState.EMoveState.CROUCHING ? cameraRig.crouchHeight : 0);

        //Camera follow player
        Vector3 targetPosition = cameraLookTarget.position + localPlayer.transform.forward * cameraRig.cameraOffset.z +
                                 localPlayer.transform.up * targetHeight +
                                 localPlayer.transform.right * cameraRig.cameraOffset.x;

        //Camera Collision fix V1
        //Move camera away from walls
        Vector3 collisionCheckEnd = cameraLookTarget.position + localPlayer.transform.up * targetHeight - localPlayer.transform.forward * .5f;

        HandleCameraCollision(collisionCheckEnd, ref targetPosition);

        transform.position = Vector3.Lerp(transform.position, targetPosition, cameraRig.damping * Time.deltaTime);
        transform.rotation = Quaternion.Lerp(transform.rotation, cameraLookTarget.rotation, cameraRig.damping * Time.deltaTime);
    }
コード例 #9
0
ファイル: CameraRigEditor.cs プロジェクト: Ratul1998/TPS
 public override void OnInspectorGUI()
 {
     base.OnInspectorGUI();
     cameraRig = (CameraRig)target;
     EditorGUILayout.LabelField("Camera Helper");
     if (GUILayout.Button("Save Camera Position Now"))
     {
         Camera cam = Camera.main;
         if (cam)
         {
             Transform camT     = cam.transform;
             Vector3   camPos   = camT.localPosition;
             Vector3   camRight = camPos;
             Vector3   camLeft  = camPos;
             camLeft.x = -camPos.x;
             cameraRig.cameraSettings.camPositionOffsetRight = camRight;
             cameraRig.cameraSettings.camPositionOffsetLeft  = camLeft;
         }
     }
     if (GUILayout.Button("Save MIddle Camera Position Now"))
     {
         Camera cam = Camera.main;
         if (cam)
         {
             Transform camT   = cam.transform;
             Vector3   camPos = camT.localPosition;
             Vector3   camFPS = camPos;
             cameraRig.cameraSettings.cameraOffsetMiddle = camFPS;
         }
     }
 }
コード例 #10
0
    void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Player")
        {
            CameraRig rig = GameObject.FindObjectOfType <CameraRig>();
            if (rig != null)
            {
                rig._target = transform.parent;
            }

            GameObject ob   = GameObject.Find(PreviousRoomName);
            FadeRoom   room = null;
            if (ob != null)
            {
                room = ob.GetComponent <FadeRoom>();
                if (room != null)
                {
                    room.Hide();
                }
            }

            ob = GameObject.Find(NextRoomName);
            if (ob != null)
            {
                room = ob.GetComponent <FadeRoom>();
                if (room != null)
                {
                    room.Show();
                }
            }
        }
    }
コード例 #11
0
    void LateUpdate()
    {
        if (Localplayer == null)
        {
            return;
        }

        CameraRig CameraRig = DefaultCmera;

        if (Localplayer.PlayerState.weaponstate == PlayerState.EWeponstate.AIMING || Localplayer.PlayerState.weaponstate == PlayerState.EWeponstate.AIMEDFIRING)
        {
            CameraRig = AimCamera;
        }


        float   TargetHeight   = CameraRig.CameraOfset.y + (Localplayer.PlayerState.movestate == PlayerState.Emovestste.CROUCHING ? CameraRig.crouchHeight : 0);
        Vector3 targetposition = cameralooktarget.position + Localplayer.transform.forward * CameraRig.CameraOfset.z +
                                 Localplayer.transform.up * TargetHeight +
                                 Localplayer.transform.right * CameraRig.CameraOfset.x;

        Vector3 collutionDestination = cameralooktarget.position + Localplayer.transform.up * TargetHeight - Localplayer.transform.forward * 0.5f;

        // Debug.DrawLine(targetposition, collutionDestination, Color.blue);
        HandleCameraColution(collutionDestination, ref targetposition);



        transform.position = Vector3.Lerp(transform.position, targetposition, CameraRig.Damping * Time.deltaTime);
        transform.rotation = Quaternion.Lerp(transform.rotation, cameralooktarget.rotation, CameraRig.Damping * Time.deltaTime);
    }
コード例 #12
0
    public void Convert(Entity entity, EntityManager dstManager, GameObjectConversionSystem conversionSystem)
    {
        if (!FindObjectOfType <CameraRig>())
        {
            return;
        }
        CameraRig cameraRig = FindObjectOfType <CameraRig>().GetComponent <CameraRig>();

        switch (target)
        {
        case TransformLinkTarget.root:
            cameraRig.GetComponent <TransformLink>().target        = entity;
            cameraRig.GetComponent <TransformLink>().entityManager = dstManager;
            break;

        case TransformLinkTarget.head:
            cameraRig.head.GetComponent <TransformLink>().target        = entity;
            cameraRig.head.GetComponent <TransformLink>().entityManager = dstManager;
            break;

        case TransformLinkTarget.leftHand:
            cameraRig.leftHand.GetComponent <TransformLink>().target        = entity;
            cameraRig.leftHand.GetComponent <TransformLink>().entityManager = dstManager;
            break;

        case TransformLinkTarget.rightHand:
            cameraRig.rightHand.GetComponent <TransformLink>().target        = entity;
            cameraRig.rightHand.GetComponent <TransformLink>().entityManager = dstManager;
            break;
        }
        Debug.Log(entity);
    }
コード例 #13
0
 private void Awake()
 {
     if (instance == null && instance != this)
     {
         Destroy(this);
     }
     instance = this;
 }
コード例 #14
0
    void SelectCameraRig()
    {
        cameraRig = defaultCamera;

        if (localPlayer.PlayerState.WeaponState == PlayerState.EWeaponState.AIMING || localPlayer.PlayerState.WeaponState == PlayerState.EWeaponState.AIMEDFIRING)
        {
            cameraRig = aimCamera;
        }
    }
コード例 #15
0
 public void SetRig(CameraRig rig)
 {
     this.CurrentRig              = rig;
     this.PreviousRig             = rig;
     this.TransitionTimeRemaining = 0f;
     this.GameCamera.transform.SetParent(this.CurrentRig.Anchor, true);
     this.GameCamera.transform.position = this.CurrentRig.Anchor.position;
     this.GameCamera.transform.rotation = Quaternion.LookRotation(this.CurrentRig.Lookat.position - this.CurrentRig.Anchor.position);
 }
コード例 #16
0
ファイル: CameraRigController.cs プロジェクト: fengqk/Art
	void Awake()
	{
		
		InitRect();
		myT = transform;
		camRig = GetComponent<CameraRig>();
		presets = DefaultPresets();
		currentAttitudeID = 2;
	}
コード例 #17
0
 void Awake()
 {
     rig = GetComponent <CameraRig>();
     if (CheckCamera())
     {
         enabled     = false;
         rig.enabled = true;
     }
     Global.cameraRig = rig;
 }
コード例 #18
0
    public void TransitionTo(CameraRig rig, Vector3 offset, float speed)
    {
        if (rig == currentRig)
        {
            return;
        }

        mainCamera.TransitionTo(offset, speed);
        currentRig = rig;
    }
コード例 #19
0
ファイル: CameraRig.cs プロジェクト: PaulSchweizer/GameDev
 //--------------------------------------------------------------------------
 // mono methods
 //--------------------------------------------------------------------------
 /// <summary>
 /// Keep the CameraRig a singleton.</summary>
 void Awake()
 {
     if (_cameraRig == null)
     {
         _cameraRig = this;
     }
     else if(_cameraRig != null)
     {
         Destroy(gameObject);
     }
 }
コード例 #20
0
 /// <summary>
 /// Keep the CameraRig a singleton.</summary>
 void Awake()
 {
     if (Instance == null)
     {
         Instance = this;
     }
     else if (Instance != null)
     {
         Destroy(gameObject);
     }
 }
コード例 #21
0
 public static void Postfix(CameraRig __instance, CameraMode mode)
 {
     if (settings.fovMultiplierCutScenes == 1 && settings.fovMultiplier == 1)
     {
         return;
     }
     if (mode == CameraMode.Default && Game.Instance.CurrentMode == GameModeType.Cutscene)
     {
         __instance.Camera.fieldOfView = __instance.CameraZoom.FovMax * settings.fovMultiplierCutScenes / settings.fovMultiplier;
     }
 }
コード例 #22
0
 // Use this for initialization
 void Start()
 {
     controller.TriggerClicked    += TriggerClicked;
     controller.TriggerUnclicked  += TriggerUnclicked;
     controller.TriggerUsed       += OnTriggerUsed;
     controller.Gripped           += GripPressed;
     controller.MenuButtonClicked += MenuButtonPressed;
     cameraRig   = GameObject.FindGameObjectWithTag("CameraRig").GetComponent <CameraRig>();
     player      = Camera.main.transform;
     playerJoint = GameObject.FindGameObjectWithTag("PlayerJoint").transform;
 }
コード例 #23
0
    private void Start()
    {
        iS = gameObject.AddComponent <InputSettings>();

        camRig = GetComponentInChildren <CameraRig>();
        sB     = GetComponent <ShooterBehaviour>();

        if (isController)
        {
            iS.SwitchToController();
        }
    }
コード例 #24
0
    public ControlSystem(GameplaySettings gameplaySettings)
    {
        settings        = gameplaySettings;
        Physics.gravity = new Vector3(0, -settings.Gravity, 0);

        touchControl                   = Object.FindObjectOfType <TouchControl>();
        touchControl.onBeginPull      += HandleBeginPull;
        touchControl.onPullHorizontal += HandlePullHorizontal;
        touchControl.onPullVertical   += HandlePullVertical;

        cameraRig = Object.FindObjectOfType <CameraRig>();
        LocalWindZone.getWindForce += () => clampedWindForce;
    }
コード例 #25
0
    private void Awake()
    {
        if (_instance != null && _instance != this)
        {
            Destroy(this.gameObject);
        }
        else
        {
            _instance = this;
        }

        Build();
    }
コード例 #26
0
    // Start is called before the first frame update
    void Awake()
    {
        rb              = GetComponent <Rigidbody>();
        enemy           = GetComponent <Enemy>().data;
        enemyDeath      = GetComponent <EnemyDeath>();
        enemyController = GetComponent <EnemyController>();
        playerEnemy     = enemy.playerEnemy;

        player       = GameObject.FindObjectOfType <Player>();
        playerHealth = FindObjectOfType <PlayerHealth>();

        camRig = GameObject.Find("CameraRig").GetComponent <CameraRig>();

        SetNewLocation(0);
    }
コード例 #27
0
ファイル: GameManager.cs プロジェクト: GCBox/WouldUConquer
    void Awake()
    {
        _player = GameObject.FindGameObjectWithTag("Player");
        _player_cc = _player.GetComponent<CharacterController>();
        _player_mover = _player.GetComponent<LookAtMouseMove>();
        _player_render = _player.GetComponentInChildren<SpriteRenderer>();
        _player_trail_render = _player.GetComponentInChildren<TimedTrailRenderer>();
        _piece_rig = GameObject.FindGameObjectWithTag("piece").GetComponent<pieceRig>();
        _camera_rig = GameObject.FindObjectOfType<CameraRig>();

        _spawners = GameObject.FindObjectsOfType<Spawner>();
        SetActivateSpawner(false);

        _player_render.enabled = false;
    }
コード例 #28
0
    void Start()
    {
        _gameGrid     = GameObject.FindWithTag("GameGrid").GetComponent <GameGrid>();
        _shapeSpawner = GameObject.FindWithTag("ShapeSpawner").GetComponent <ShapeSpawner>();
        cameraRig     = GameObject.Find("CameraRig").GetComponent <CameraRig>();

        foreach (Transform child in transform)
        {
            var block = child.GetComponent <Block>();
            if (block != null)
            {
                blocks.Add(child.GetComponent <Block>());
            }
        }
    }
コード例 #29
0
    void Awake()
    {
        _player              = GameObject.FindGameObjectWithTag("Player");
        _player_cc           = _player.GetComponent <CharacterController>();
        _player_mover        = _player.GetComponent <LookAtMouseMove>();
        _player_render       = _player.GetComponentInChildren <SpriteRenderer>();
        _player_trail_render = _player.GetComponentInChildren <TimedTrailRenderer>();
        _piece_rig           = GameObject.FindGameObjectWithTag("piece").GetComponent <pieceRig>();
        _camera_rig          = GameObject.FindObjectOfType <CameraRig>();

        _spawners = GameObject.FindObjectsOfType <Spawner>();
        SetActivateSpawner(false);

        _player_render.enabled = false;
    }
コード例 #30
0
    public void Initialize()
    {
        sessionIsActive = false;
        MotionManager   motion   = MotionManager.instance;
        MoleculeManager molecule = MoleculeManager.instance;
        CameraRig       rig      = CameraRig.instance;

        motion.Initialize();
        molecule.Initialize();
        rig.Initialize();
        molecule.editorUI.gameObject.SetActive(false);
        loginScreen.gameObject.SetActive(true);
        CaptureCamera capture = CaptureCamera.instance;

        capture.Initialize();
    }
コード例 #31
0
    void Start()
    {
        #if UNITY_EDITOR
        AssetDatabase.Refresh();     // This will update all animators, fixes a bug with Git!
        #endif

        BattleVictoryBanner = GameObject.Find("BattleVictoryBanner");
        BattleVictoryBanner.GetComponent <CanvasGroup>().alpha = 0f;
        MainCamera = GameObject.FindGameObjectWithTag("MainCamera");
        CameraRig  = MainCamera.GetComponent <CameraRig>();

        Sield  = GameObject.Find("Sield");
        Ganiel = GameObject.Find("Sield");

        CandyCornManager = GameObject.FindObjectOfType <CandyCornManager>();
    }
コード例 #32
0
    public void TransitionToRig(CameraRig rig)
    {
        this.PreviousRig = this.CurrentRig;
        this.CurrentRig  = rig;
        this.GameCamera.transform.SetParent(this.CurrentRig.Anchor, true);

        if (this.TransitionTimeRemaining > 0f)
        {
            // in the middle of a transition so back out
            float d = this.TransitionTimeRemaining / this.TransitionTime;
            this.TransitionTimeRemaining = Mathf.Clamp01((1f - d) * this.TransitionTime);
        }
        else
        {
            this.TransitionTimeRemaining = this.TransitionTime;
        }
    }
コード例 #33
0
 static void Postfix(CameraRig __instance, ref Vector3 ___m_TargetPosition)
 {
     if (settings.toggleRotateOnAllMaps || Main.resetExtraCameraAngles)
     {
         __instance.TickRotate();
     }
     if (settings.toggleZoomOnAllMaps)
     {
         __instance.CameraZoom.TickZoom();
     }
     if (settings.toggleScrollOnAllMaps)
     {
         __instance.TickScroll();
         //__instance.TickCameraDrag();
         //__instance.CameraDragToMove();
     }
 }
コード例 #34
0
    private void CheckCameraRig(ref CameraRig cr)
    {
        // Check for negative or 0 values
        ThrowNegativeException((cr.cameraIndexOffset < 0), "cameraIndexOffset", true);
        ThrowNegativeException((cr.horizontalSeam < 0), "horizontalSeam", true);
        ThrowNegativeException((cr.verticalSeam < 0), "verticalSeam", true);
        ThrowNegativeException((cr.nearClip < 0), "nearClip", true);
        ThrowNegativeException((cr.farClip <= 0), "farClip", false);
        ThrowNegativeException((cr.screenAspectWidth <= 0), "screenAspectWidth", false);
        ThrowNegativeException((cr.screenAspectHeight <= 0), "screenAspectHeight", false);
        ThrowNegativeException((cr.masterNodeIndex < 0), "masterNodeIndex", true);

        if (cr.clusterType == CameraRig.ClusterType.Wall) {
            ThrowNegativeException((cr.wallParams.rows <= 0), "wallParams.rows", false);
            ThrowNegativeException((cr.wallParams.cols <= 0), "wallParams.cols", false);
            ThrowNegativeException((cr.fov <= 0), "fov", false);
        }
        else if (cr.clusterType == CameraRig.ClusterType.Cave) {
            ThrowNegativeException((cr.caveParams.sides <= 0), "caveParams.sides", false);

            // Cave without 4 sides shouldn't have sky or floor
            if (cr.caveParams.sides != 4) {
                if (cr.caveParams.hasSky)
                    throw new Exception ("Error: Sky only available for Cave with 4 sides.");
                if (cr.caveParams.hasFloor)
                    throw new Exception ("Error: Floor only available for Cave with 4 sides.");
            }
            // Cave has 4 walls
            else
            {
                if (cr.caveParams.hasSky)
                    ThrowNegativeException((cr.caveParams.indexSky < 0), "caveParams.indexSky", true);
                if (cr.caveParams.hasFloor)
                    ThrowNegativeException((cr.caveParams.indexFloor < 0), "caveParams.indexFloor", true);
                // If has both sky and floor, indexes for both cannot be the same
                if (cr.caveParams.hasSky && cr.caveParams.hasFloor && cr.caveParams.indexSky == cr.caveParams.indexFloor)
                    throw new Exception ("Error: Index for Sky canot be similar to index for Floor.");
            }
        }

        // Check if far clip is lesser than near clip
        if (cr.farClip <= cr.nearClip)
            throw new Exception ("Error: Far clip must be more than near clip.");
    }
コード例 #35
0
ファイル: CameraRig.cs プロジェクト: ashleycrouch/space
	void Awake() {
		main = this;
	}
コード例 #36
0
ファイル: BattleController.cs プロジェクト: swejk/2DRPG
 void Start()
 {
     cameraRig = GetComponentInChildren<CameraRig>();
     ChangeState<InitBattleState>();
 }
コード例 #37
0
	private void Start () 
	{ 
		// Initialize values
		engine 			= GetComponent<CarEngine>();		
		carSetup 		= GetComponent<CarSetup>();
		wheels 			= carSetup.Wheels;
		basicMaxRPM 	= carSetup.EngineMaxRPM;
		lightsSetup		= GetComponent<LightsSetup>();
		audioSource     = GetComponent<AudioSource>();
		cameraRig 	 	= GetComponent<CameraRig>();
		carRigidbody	= GetComponent<Rigidbody>();
		carInput        = CarInput.Instance;
		rumbling		= false;
		rumbleTemp		= rumbleTempInit;
		auxObject		= null;
		dataManager		= DataManager.Instance;
		sparksManager	= GameObject.Find ("SparksManager").GetComponent<SparksManager>();
		lookBack		= false;
		respawnTemp		= respawnTempInit;
		isPlayer		= false;
		
		if(GetComponent<NetworkIdentity>())
		{
			netIdentity		= GetComponent<NetworkIdentity>();
			isPlayer		= netIdentity.isLocalPlayer;
		}
		else
		{
			isPlayer		= true;
		}
		
		// Set up visual car
        switch(Application.platform)
		{
			case RuntimePlatform.WindowsEditor:
			case RuntimePlatform.WindowsPlayer:
			case RuntimePlatform.WindowsWebPlayer:
			{
				for(int i = 0; i < lowObjects.Length; i++)
                {
                    lowObjects[i].SetActive (false);
                }
                for(int i = 0; i < highObjects.Length; i++)
                {
                    highObjects[i].SetActive (true);
                }
				break;
			}
			case RuntimePlatform.WebGLPlayer:
			case RuntimePlatform.IPhonePlayer:
			case RuntimePlatform.BlackBerryPlayer:
			case RuntimePlatform.Android:
			{
				for(int i = 0; i < lowObjects.Length; i++)
                {
                    lowObjects[i].SetActive (true);
                }
                for(int i = 0; i < highObjects.Length; i++)
                {
                    highObjects[i].SetActive (false);
                }
				break;
			}
			default:
			{
				for(int i = 0; i < lowObjects.Length; i++)
                {
                    lowObjects[i].SetActive (true);
                }
                for(int i = 0; i < highObjects.Length; i++)
                {
                    highObjects[i].SetActive (false);
                }
				break;
			}
		}
		
		renderers = GetComponentsInChildren<MeshRenderer>();
	}
コード例 #38
0
ファイル: CameraRig.cs プロジェクト: wids-eria/tf_client
	/// <summary>
	/// Initialize
	/// </summary>
	void Awake ()
	{
		// store singleton
		if (use != null) GameObject.Destroy(use.gameObject);
		use = this;
		
		// listen for its own messages
		MessengerAM.Listen(MessengerAM.listenTypeInput, this);
		
		// cache transforms
		m_transform = transform;
		m_mainTransform = Camera.main.transform;
		
		// set initial positions
		desiredPosition = m_transform.position;
		m_desiredCameraDistance = m_mainTransform.localPosition.magnitude;
		m_previousPosition = m_transform.position;
		
		// add some default idle time to prevent sending message on first frame
		idleTime = 1f;
	}
コード例 #39
0
    private void LoadAndCreateRig()
    {
        // Return if no rig path
        string rigPath = GetCmdArguments("-rigPath");
        if (rigPath == null)
            return;

        // Handle any problems that might arise when reading the text
        // Create a new StreamReader, tell it which file to read
        try
        {
            // Create full path of rig file from the application path and the command line input
            string applicationParentPath;
            if (Application.platform == RuntimePlatform.OSXPlayer)
                // The parent to OXS data folder is the .app file. We need the parent of the .app.
                applicationParentPath = Directory.GetParent(Directory.GetParent(Application.dataPath).FullName).FullName;
            else
                applicationParentPath = Directory.GetParent(Application.dataPath).FullName;

            // Obtain the final rig path from relative to the application path.
            string rigFinalPath = Path.Combine(applicationParentPath, rigPath);

            // Read in data
            StreamReader theReader = new StreamReader(rigFinalPath, Encoding.Default);
            rigAttributes = theReader.ReadToEnd();

            // Done reading, close the reader
            theReader.Close ();

            // Create rig using C#'s XmlSerializer to deserialize
            CameraRig newCR = null;
            XmlSerializer ser = new XmlSerializer(typeof(CameraRig));
            TextReader reader = new StringReader (rigAttributes);
            newCR = (CameraRig)ser.Deserialize(reader);

            // Check new CameraRig to see if attributes are ok
            CheckCameraRig(ref newCR);

            // Replace the current rig
            m_Rig = newCR;

        }
        catch(Exception e)
        {
            Debug.Log ("[Date: " + System.DateTime.Now.ToString("MM/dd/yyyy")
                       + " Time: " + System.DateTime.Now.ToString("hh:mm:ss") + "]"
                       + Environment.NewLine);
            Debug.Log ("Exception caught: " + e
                       + Environment.NewLine + Environment.NewLine);
        }
    }
コード例 #40
0
ファイル: GameController.cs プロジェクト: 3dAnon/PoniGame
 void Awake()
 {
     m_characters = new List<Transform>();
     m_cameraRig = cameraRig;
 }
コード例 #41
0
ファイル: MousePOV.cs プロジェクト: johnnytn/Unity-Samples
 void Start() {
     rig = GetComponent<CameraRig>();
 }
コード例 #42
0
ファイル: CameraRigQTE_Player.cs プロジェクト: fengqk/Art
	void Awake()
	{
		camRig = GetComponent<CameraRig>();
	}
コード例 #43
0
ファイル: TSAnimation.cs プロジェクト: 3dAnon/PoniGame
    void Start()
    {
        m_movement = GetComponent<TSMovement>();
        m_animator = GetComponent<Animator>();
        m_camRig = FindObjectOfType<CameraRig>();

        InterpolatedFloat speed = new InterpolatedFloat(() => (m_forwardSpeed), (val) => { m_forwardSpeed = val; });
        gameObject.AddComponent<FloatInterpolator>().Initialize(speed);

        SetRagdoll(false);
        StoreBasePose();
        m_lastHeadRot = m_headBone.rotation;
        m_lastHeadLocalRot = m_headBone.localRotation;
    }
コード例 #44
0
    private void DrawClusterGizmo(CameraRig rig, ClusterRenderer clusterRenderer)
    {
        int totalNodeCount;
        if (rig.clusterType == CameraRig.ClusterType.Wall)
            totalNodeCount = rig.wallParams.cols * rig.wallParams.rows;
        else
            totalNodeCount = rig.caveParams.sides + (rig.caveParams.hasFloor ? 1 : 0) + (rig.caveParams.hasSky ? 1 : 0);

        for (int i = 0; i < totalNodeCount; ++i)
        {
            if (m_PreviewingIndex != -1 && m_PreviewingIndex != i)
                continue;

            float nearLeft = 0.0f;
            float nearRight = 0.0f;
            float nearBottom = 0.0f;
            float nearTop = 0.0f;

            // Get the nears
            rig.CalculateCameraProjectionFrustum (i, ref nearLeft, ref nearRight, ref nearBottom, ref nearTop);

            float ratio = rig.farClip / rig.nearClip;

            // Calculate the far
            float farLeft = nearLeft * ratio;
            float farRight = nearRight * ratio;
            float farBottom = nearBottom * ratio;
            float farTop = nearTop * ratio;

            // Points
            Vector3[] near = new Vector3[4];
            near[0] = new Vector3 (nearLeft, nearBottom, rig.nearClip);
            near[1] = new Vector3 (nearRight, nearBottom, rig.nearClip);
            near[2] = new Vector3 (nearRight, nearTop, rig.nearClip);
            near[3] = new Vector3 (nearLeft, nearTop, rig.nearClip);

            Vector3[] far = new Vector3[4];
            far[0] = new Vector3 (farLeft, farBottom, rig.farClip);
            far[1] = new Vector3 (farRight, farBottom, rig.farClip);
            far[2] = new Vector3 (farRight, farTop, rig.farClip);
            far[3] = new Vector3 (farLeft, farTop, rig.farClip);

            // Local to world transform (ignore scale of transform)
            Matrix4x4 localToWorld;
            if (rig.clusterType == CameraRig.ClusterType.Wall)
            {
                localToWorld = Matrix4x4.TRS(clusterRenderer.transform.position, clusterRenderer.transform.rotation, Vector3.one);
            }
            else
            {
                Quaternion q = clusterRenderer.transform.rotation * (m_PreviewingIndex == -1 ? Quaternion.Euler (rig.CalculateRotationForCaveNode (i)) : Quaternion.identity);
                localToWorld = Matrix4x4.TRS (clusterRenderer.transform.position, q, Vector3.one);
            }

            // transform point to world
            for (int p = 0; p < 4; ++p)
            {
                near[p] = localToWorld.MultiplyPoint (near[p]);
                far[p] = localToWorld.MultiplyPoint (far[p]);
            }

            // Draw the frustum gizmo
            for (int p = 0; p < 4; ++p)
            {
                Handles.DrawLine (near[p], near[(p + 1) % 4]);
                Handles.DrawLine (far[p], far[(p + 1) % 4]);
                Handles.DrawLine (near[p], far[p]);
            }

            // Label to show which index of node this screen belongs to
            Handles.Label(Vector3.Lerp(far[1], far[3], 0.9f), "" + i);

            // Button to activate preview
            Vector3 midPoint = Vector3.Lerp (far[0], far[2], 0.5f);
            float handleSize = HandleUtility.GetHandleSize(midPoint) * 0.1f;
            if (Handles.Button(midPoint, Quaternion.identity, handleSize, handleSize, Handles.DotCap))
            {
                if (m_PreviewingIndex == i)
                {
                    m_PreviewingIndex = -1;
                    ResetCamera ();
                }
                else
                {
                    m_PreviewingIndex = i;
                    rig.SetupCamera (Camera.main, i);
                }
            }
        }
    }