將場景中的攝像機刪除,在玩家的控制面板中添加Camera組件,和rigibody組件
?
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class move : MonoBehaviour
{
? ? public float speed;
? ? Rigidbody rigid;
? ? void Start()
? ? {
? ? ? ?
? ? ? ? rigid = GetComponent<Rigidbody>();
? ? }
? ? void Update()
? ? {
? ? ? ? ?moveAction();
? ? }
? ? private void moveAction()
? ? {
? ? ? ? float h = Input.GetAxis("Horizontal");
? ? ? ? float v = Input.GetAxis("Vertical");
? ? ? ? transform.Translate(h * speed * Time.deltaTime, 0, v * speed * Time.deltaTime);
? ? ? ? rigid.constraints = RigidbodyConstraints.FreezeRotation;
? ? ? ? if ((Input.GetKeyDown(KeyCode.Space)) && (rigid.velocity.y == 0))
? ? ? ? {
? ? ? ? ? ? rigid.AddForce(new Vector3(0, 150, 0));
? ? ? ? }
? ? ? ? float qx = Input.GetAxis("Mouse X");
? ? ? ? ?float qy = -Input.GetAxis("Mouse Y");
? ? ? ? ?Quaternion xoff = Quaternion.Euler(0, qx, 0);
? ? ? ? ?Quaternion yoff = Quaternion.Euler(qy, 0, 0);
? ? ? ? if (Input.GetAxis("Mouse ScrollWheel") > 0)
? ? ? ? {
? ? ? ? ? ? GetComponent<Camera>().fieldOfView--;
? ? ? ? }文章來源:http://www.zghlxwxcb.cn/news/detail-494853.html
? ? ? ? if (Input.GetAxis("Mouse ScrollWheel") < 0)
? ? ? ? {
? ? ? ? ? ? GetComponent<Camera>().fieldOfView++;
? ? ? ? }
?
? ? ? ?transform.rotation = xoff * transform.rotation;
? ? ? ? transform.rotation = transform.rotation * yoff;
? ? ? ? float angle = transform.eulerAngles.x;
? ? ? ? if (angle > 180)
? ? ? ? ? ? angle -= 360;
? ? ? ? if (angle < -180)
? ? ? ? ? ? angle += 360;
? ? ? ? if (angle > 15)
? ? ? ? ? ? transform.rotation = Quaternion.Euler(15, transform.eulerAngles.y, 0);
? ? ? ? if (angle < -15)
? ? ? ? ? ? transform.rotation = Quaternion.Euler(-15, transform.eulerAngles.y, 0);
? ? }
}文章來源地址http://www.zghlxwxcb.cn/news/detail-494853.html
到了這里,關(guān)于unity通過腳本實現(xiàn)漫游功能 wasd控制玩家移動,空格跳躍,鼠標控制視野旋轉(zhuǎn),滑輪控制鏡頭伸縮的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!