2021년 4학년 1학기 기업연계프로젝트2
컴퓨터소프트웨어공학과 <원광투어팀>
팀장 : 송유진
팀원 : 김나영, 이경희, 한유진
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//======= Copyright (c) Valve Corporation, All rights reserved. ===============
//
// Purpose: Controls for the non-VR debug camera
//
//=============================================================================
using UnityEngine;using System.Collections;
namespace Valve.VR.InteractionSystem{ //-------------------------------------------------------------------------
[RequireComponent( typeof( Camera ) )] public class FallbackCameraController : MonoBehaviour { public float speed = 4.0f; public float shiftSpeed = 16.0f; public bool showInstructions = true;
private Vector3 startEulerAngles; private Vector3 startMousePosition; private float realTime;
//-------------------------------------------------
void OnEnable() { realTime = Time.realtimeSinceStartup; }
//-------------------------------------------------
void Update() { float forward = 0.0f; if ( Input.GetKey( KeyCode.W ) || Input.GetKey( KeyCode.UpArrow ) ) { forward += 1.0f; } if ( Input.GetKey( KeyCode.S ) || Input.GetKey( KeyCode.DownArrow ) ) { forward -= 1.0f; }
float up = 0.0f; if (Input.GetKey(KeyCode.E)) { up += 1.0f; } if (Input.GetKey(KeyCode.Q)) { up -= 1.0f; }
float right = 0.0f; if ( Input.GetKey( KeyCode.D ) || Input.GetKey( KeyCode.RightArrow ) ) { right += 1.0f; } if ( Input.GetKey( KeyCode.A ) || Input.GetKey( KeyCode.LeftArrow ) ) { right -= 1.0f; }
float currentSpeed = speed; if ( Input.GetKey( KeyCode.LeftShift ) || Input.GetKey( KeyCode.RightShift ) ) { currentSpeed = shiftSpeed; }
float realTimeNow = Time.realtimeSinceStartup; float deltaRealTime = realTimeNow - realTime; realTime = realTimeNow;
Vector3 delta = new Vector3( right, up, forward ) * currentSpeed * deltaRealTime;
transform.position += transform.TransformDirection( delta );
Vector3 mousePosition = Input.mousePosition;
if ( Input.GetMouseButtonDown( 1 ) /* right mouse */) { startMousePosition = mousePosition; startEulerAngles = transform.localEulerAngles; }
if ( Input.GetMouseButton( 1 ) /* right mouse */) { Vector3 offset = mousePosition - startMousePosition; transform.localEulerAngles = startEulerAngles + new Vector3( -offset.y * 360.0f / Screen.height, offset.x * 360.0f / Screen.width, 0.0f ); } }
//-------------------------------------------------
void OnGUI() { if ( showInstructions ) { GUI.Label( new Rect( 10.0f, 10.0f, 600.0f, 400.0f ), "WASD EQ/Arrow Keys to translate the camera\n" + "Right mouse click to rotate the camera\n" + "Left mouse click for standard interactions.\n" ); } } }}
|