unity3d 常用代码
自制第一人稱:
1、新建一個球、一個攝像機,把球和攝像機放在一個位置。
2、把下面代碼托付給球。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move3 : MonoBehaviour
{
? ? public float sensitivityX = 5f;
? ? public float sensitivityY = 5f;
? ? public float sensitivetyKeyBoard = 0.1f;
? ? public float sensitivetyMouseWheel = 10f;
? ? private GameObject Playercamera;
? ? public Rigidbody rigidbody;
? ? public float speed = 5;
? ? void Start()
? ? {
? ? ? ?// undefined
? ? ? ?Playercamera = GameObject.Find("PlayerCamera");
? ? }
? ? void Update()
? ? {
? ? ? // ?undefined
? ? //滾輪實現鏡頭縮進和拉遠
if (Input.GetAxis("Mouse ScrollWheel") != 0)
? ? ? ? {
? ? ? ? ? ?// undefined
Playercamera.GetComponent<Camera>().fieldOfView = Playercamera.GetComponent<Camera>().fieldOfView - Input.GetAxis("Mouse ScrollWheel") * sensitivetyMouseWheel;
? ? ? ? }
? ? ? ? //鼠標右鍵實現視角轉動,類似第一人稱視角 ?
? ? ? ? if (Input.GetMouseButton(0))
? ? ? ? {
? ? ? ? ? ?// undefined
? ? ??
float rotationX = Input.GetAxis("Mouse X") * sensitivityX;
? ? ? ? ? ? transform.Rotate(0, rotationX, 0);
? ? ? ? ? ? float rotationY = Input.GetAxis("Mouse Y") * sensitivityY;
? ? ? ? ? ? Playercamera.transform.Rotate(-rotationY, 0, 0);
? ? ? ? }
? ? }
? ? void FixedUpdate()
? ? {
? ? ? ?// undefined
? ? //控制移動
float h = Input.GetAxis("Horizontal");
? ? ? ? float v = Input.GetAxis("Vertical");
? ? ? ? //朝一個方向移動 new Vector3(h, 0, v) * speed * Time.deltaTime是個向量
? ? ? ? transform.Translate(new Vector3(h, 0, v) * speed * Time.deltaTime);
? ? ? ? //移動到一個位置
? ? ? ? //rigidbody.MovePosition(transform.position + new Vector3(h, 0, v) * speed * Time.deltaTime);
? ? }
}
?
總結
以上是生活随笔為你收集整理的unity3d 常用代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop 2.0 中的资源管理框架
- 下一篇: layer和3D仿射变换