国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Unity 第一人稱視角控制移動(dòng)、旋轉(zhuǎn)

這篇具有很好參考價(jià)值的文章主要介紹了Unity 第一人稱視角控制移動(dòng)、旋轉(zhuǎn)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

第一人稱視角操作

此功能主要是借鑒YouTube上一個(gè)博主的教程,寫的蠻好我就搬運(yùn)過來讓大家也試試。

unity如何實(shí)現(xiàn)流暢轉(zhuǎn)動(dòng)視角,unity,游戲引擎

1、控制對(duì)象與鏡頭是子父級(jí)關(guān)系

unity如何實(shí)現(xiàn)流暢轉(zhuǎn)動(dòng)視角,unity,游戲引擎

2、控制器對(duì)象添加CharacterController,Rigidbody組件如下:

unity如何實(shí)現(xiàn)流暢轉(zhuǎn)動(dòng)視角,unity,游戲引擎

3、重頭戲:創(chuàng)建PlayerController腳本并比此腳本掛到控制器上

unity如何實(shí)現(xiàn)流暢轉(zhuǎn)動(dòng)視角,unity,游戲引擎

其原理是:左右旋轉(zhuǎn)是控制父物體的歐拉角的Y軸

 transform.Rotate(0, Input.GetAxis("Mouse X") * sensetivity,0);

上下點(diǎn)頭是子物體相機(jī)的歐拉角Z軸

 playerCamera.Rotate(-Input.GetAxis("Mouse Y") * sensetivity, 0, 0);

水平方向

   moveDirection = new Vector3(Input.GetAxis("Horizontal")*moveSpeed, moveDirection.y, Input.GetAxis("Vertical")*moveSpeed);
   moveDirection = transform.TransformDirection(moveDirection);

跳躍:

 if (controller.isGrounded)
 {
     if (Input.GetButton("Jump"))
         moveDirection.y = jumpForce;
     else
         moveDirection.y = 0;
 }

移動(dòng)文章來源地址http://www.zghlxwxcb.cn/news/detail-859308.html

        moveDirection.y -= gravity * Time.deltaTime;
        controller.Move(moveDirection*Time.deltaTime);

4、源代碼奉上:

using UnityEngine;

public class PlayerController : MonoBehaviour
{
    [SerializeField] private float moveSpeed = 6f;
    [SerializeField] private float jumpForce = 10;
    [SerializeField] private float gravity = 15f;

    private Vector3 moveDirection;

    [Header("Camera details")]
    public float sensetivity = 1f;
    private Transform playerCamera;
    private CharacterController controller;

    void Start()
    {
        controller = GetComponent<CharacterController>();
        playerCamera = GetComponentInChildren<Camera>().transform;

        Cursor.lockState = CursorLockMode.Locked;
        Cursor.visible = false;
    }

    void Update()
    {
        transform.Rotate(0, Input.GetAxis("Mouse X") * sensetivity,0);
        playerCamera.Rotate(-Input.GetAxis("Mouse Y") * sensetivity, 0, 0);
        if (playerCamera.localRotation.eulerAngles.y != 0) 
            playerCamera.Rotate(Input.GetAxis("Mouse Y")*sensetivity,0,0);
        

        moveDirection = new Vector3(Input.GetAxis("Horizontal")*moveSpeed, moveDirection.y, Input.GetAxis("Vertical")*moveSpeed);
        moveDirection = transform.TransformDirection(moveDirection);

        if (controller.isGrounded)
        {
            if (Input.GetButton("Jump"))
                moveDirection.y = jumpForce;
            else
                moveDirection.y = 0;
        }

        moveDirection.y -= gravity * Time.deltaTime;
        controller.Move(moveDirection*Time.deltaTime);
    }
}

到了這里,關(guān)于Unity 第一人稱視角控制移動(dòng)、旋轉(zhuǎn)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Unity解決:3D開發(fā)模式第三人稱視角 WASD控制角色移動(dòng)旋轉(zhuǎn) 使用InputSystem

    Unity解決:3D開發(fā)模式第三人稱視角 WASD控制角色移動(dòng)旋轉(zhuǎn) 使用InputSystem

    Unity版本:2019.2.3f1 目錄 ?安裝InputSystem 1:創(chuàng)建InputHander.cs腳本?掛載到Player物體上?獲取鍵盤輸入WADS 2.創(chuàng)建PlayerLocomotion.cs掛載到Player物體上,控制物體移動(dòng)轉(zhuǎn)向 ? 菜單欄/Window/Package Manager/Input System ?工程面板內(nèi)?右鍵--創(chuàng)建Input Actions? 選中New Controls改名為PlayerControls?然后屬

    2024年02月06日
    瀏覽(27)
  • Unity 第一人稱視角 角色控制腳本

    Unity 第一人稱視角 角色控制腳本

    使用方法 WSAD 控制四個(gè)方向的移動(dòng) 鼠標(biāo) 控制角色的水平、豎直朝向 空格 控制角色跳躍 配置 需要指定玩家的第一人稱攝像頭 ?? 效果 代碼 解析 Move函數(shù) 控制角色前后左右移動(dòng),改變的是位置,并不會(huì)改變角色朝向 View函數(shù) 控制角色左右旋轉(zhuǎn),朝上或朝下看 注意:在水平方

    2023年04月19日
    瀏覽(27)
  • Unity例子——第一人稱視角的角色控制器

    Unity例子——第一人稱視角的角色控制器

    本文是為了前文Unity四元組的舉例示范,為了讓讀者更好地理解。 效果是實(shí)現(xiàn)一個(gè)可以由鼠標(biāo)進(jìn)行方向操作,鍵盤進(jìn)行移動(dòng)操作的任務(wù)。 此為效果視頻: 1687597097844 下面進(jìn)行教學(xué): 新建一個(gè)場(chǎng)景,放置一個(gè)plane作為地板,尺寸自定 創(chuàng)建一個(gè)新的material掛在plane上 再地板上放置

    2024年02月10日
    瀏覽(31)
  • 【0到1學(xué)習(xí)Unity腳本編程】第一人稱視角的角色控制器

    【0到1學(xué)習(xí)Unity腳本編程】第一人稱視角的角色控制器

    ?????個(gè)人主頁 :@元宇宙-秩沅 ????? hallo 歡迎 點(diǎn)贊?? 收藏? 留言?? 加關(guān)注?! ????? 本文由 秩沅 原創(chuàng) ????? 收錄于專欄 :【0到1】Unity腳本游戲開發(fā)寶典 將攝像機(jī)變?yōu)槟z囊體的子物體,按住 ctrl +shift +F 調(diào)整視野。讓他變成膠囊體的眼睛 判斷要前進(jìn)時(shí)按照哪個(gè)

    2024年02月05日
    瀏覽(24)
  • Unity 3D 實(shí)現(xiàn)第一人稱視角

    Unity 3D 實(shí)現(xiàn)第一人稱視角

    第一人稱視角的運(yùn)用十分廣泛,常見于我的世界、APEX、守望先鋒以及許多FPS(First-Person Shooting第一人稱射擊)等游戲。 那么,這類第一人稱視角是如何實(shí)現(xiàn)的呢? 其實(shí)并不復(fù)雜, 一個(gè)人物模型 , 一個(gè)攝像機(jī) , 一個(gè)腳本 ,便可輕松實(shí)現(xiàn)。 在 Hierarchy 欄目右擊隨機(jī)創(chuàng)建一個(gè)

    2024年02月11日
    瀏覽(21)
  • 【游戲開發(fā)實(shí)戰(zhàn)】Unity手游第一人稱視角,雙搖桿控制,F(xiàn)PS射擊游戲Demo(教程 | 含Demo工程源碼)

    【游戲開發(fā)實(shí)戰(zhàn)】Unity手游第一人稱視角,雙搖桿控制,F(xiàn)PS射擊游戲Demo(教程 | 含Demo工程源碼)

    一、前言 嗨,大家好,我是新發(fā)。 有同學(xué)私信我,問我能不能寫一篇Unity手游第一人稱視角控制的教程, 那么,今天就來做個(gè) Demo 吧~ 注: Demo 工程源碼見文章末尾 最終效果如下: 二、實(shí)現(xiàn)方案 1、無主之地,第一人稱視角 第一人稱視角的游戲大家應(yīng)該不陌生,比如《無主

    2023年04月08日
    瀏覽(33)
  • unity通過腳本實(shí)現(xiàn)漫游功能 wasd控制玩家移動(dòng),空格跳躍,鼠標(biāo)控制視野旋轉(zhuǎn),滑輪控制鏡頭伸縮

    將場(chǎng)景中的攝像機(jī)刪除,在玩家的控制面板中添加Camera組件,和rigibody組件 ? using System.Collections; using System.Collections.Generic; using UnityEngine; public class move : MonoBehaviour { ? ? public float speed; ? ? Rigidbody rigid; ? ? void Start() ? ? { ? ? ? ? ? ? ? ? rigid = GetComponentRigidbody(); ? ? } ?

    2024年02月10日
    瀏覽(27)
  • Unity實(shí)現(xiàn)第一人稱移動(dòng)(胎教級(jí)教學(xué))

    Unity實(shí)現(xiàn)第一人稱移動(dòng)(胎教級(jí)教學(xué))

    第一步 需要一個(gè)場(chǎng)景和一個(gè)player作為操作角色,并且 在player子目錄創(chuàng)建一個(gè)camera 作為視角 這里演示我就隨便 創(chuàng)建一個(gè)plane 作為 地面 和 一個(gè)sphere 作為 player 然后調(diào)整好player的位置不要與地面鑲嵌就像這樣 然后需要給地面(你們自己的場(chǎng)景)和player添加一個(gè)Collider組件 在屬性

    2024年04月13日
    瀏覽(21)
  • 【Unity】第一人稱實(shí)現(xiàn)鍵盤移動(dòng)WASD

    背景:開發(fā)影院場(chǎng)景 環(huán)境:Unity2021.3 功能:WASD鍵實(shí)現(xiàn)移動(dòng)、鼠標(biāo)左右平滑實(shí)現(xiàn)轉(zhuǎn)向 代碼:掛載在相機(jī)的父物體上(好像是因?yàn)橄鄼C(jī)本身不支持移動(dòng)?如有誤望指正)

    2024年02月12日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包