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

【Unity入門】Input.GetAxis(““)控制物體移動(dòng)、旋轉(zhuǎn)

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

使用Unity的Input.GetAxis(“”)控制物體移動(dòng)、旋轉(zhuǎn)

Input.GetAxis(“”) 是 Unity 引擎中的一個(gè)方法,用于獲取游戲玩家在 鍵盤 或 游戲手柄 上輸入的某個(gè)軸(Axis)的值。這里的 “” 是一個(gè)字符串參數(shù),表示要獲取的軸的名稱。

在 Unity 中,有多種軸類型,如 “Horizontal”(水平軸)、“Vertical”(垂直軸)、“Mouse X”(鼠標(biāo)水平滾輪軸)和 “Mouse Y”(鼠標(biāo)垂直滾輪軸)等。這些軸的值可以用來控制游戲角色的移動(dòng)、縮放或旋轉(zhuǎn)等動(dòng)作。這些數(shù)值都處于-1 到1 之間,你可以用代碼:

        /*控制左右,x軸*/
        float h = Input.GetAxis("Horizontal");
        /*控制前后,z軸*/
        float v = Input.GetAxis("Vertical");
        /*鼠標(biāo)中間前后滑輪控制上下,y軸*/
        float mouse = Input.GetAxis("Mouse ScrollWheel");
        this.transform.Translate(new Vector3(h * speed, mouse * mouseSpeed, v * speed)*Time.deltaTime, Space.World);

來控制移動(dòng)

參數(shù) Horizontal

以 “Horizontal” 為例,Input.GetAxis(“Horizontal”) 方法會(huì)返回一個(gè)值,表示玩家在水平方向上輸入的值。如果玩家向左移動(dòng)鍵盤或游戲手柄,該值將為負(fù);如果玩家向右移動(dòng),該值將為正。
注:該軸默認(rèn)是由 A、D 或 ←鍵、→鍵 來觸發(fā)

參數(shù) Vertical

Input.GetAxis("Vertical ") 方法會(huì)返回一個(gè)值,表示玩家在垂直方向上輸入的值。如果玩家向下移動(dòng)鍵盤或游戲手柄,該值將為負(fù);如果玩家向上移動(dòng),該值將為正。
注:該軸默認(rèn)是由 W、S 或 ↑鍵、↓鍵 來觸發(fā)

參數(shù) Mouse ScrollWheel

注:該軸默認(rèn)是鼠標(biāo)中間前后滑輪觸發(fā),不是按

參數(shù) “Mouse X” 軸和 “Mouse Y” 軸

返回的值分別表示玩家在垂直方向、鼠標(biāo)水平滾輪和鼠標(biāo)垂直滾輪上的輸入。

在代碼中,我們可以將這些軸的值用于控制游戲角色的移動(dòng)、旋轉(zhuǎn)等動(dòng)作。例如,在您提供的代碼中,MoveHorizontal 和 MoveVertical 變量分別存儲(chǔ)了水平軸和垂直軸的值,用于控制角色在水平方向和垂直方向上的移動(dòng)。
示例代碼:下面這個(gè)代碼實(shí)現(xiàn)控制物體 移動(dòng)和左右、上下旋轉(zhuǎn)

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
 
public class ConRole : MonoBehaviour
{
    // yong鼠標(biāo)控制方向,用方向鍵控制移動(dòng)
    // 設(shè)置角色的移動(dòng)速度和旋轉(zhuǎn)速度
    public float Movespeed = 15f;
    public float Rotatespeed = 10f;
 
    float RotationY;//用來累積存儲(chǔ)用戶每次移動(dòng)鼠標(biāo)得出的值
    float RotationX;//用來累積存儲(chǔ)用戶每次移動(dòng)鼠標(biāo)得出的值
 
    void Update()
    {
 
        // 【控制物體移動(dòng)】獲取水平方向和垂直方向的輸入值
        float MoveHorizontal = Input.GetAxis("Horizontal");
        float MoveVertical = Input.GetAxis("Vertical");
        //全部存到一個(gè)向量里面
        Vector3 MoveDir = new Vector3(MoveHorizontal,0, MoveVertical);
        //上面這句不能保持物體朝自己的Z正方移動(dòng),因此用下面的語句
        transform.Translate(MoveDir * Movespeed * Time.deltaTime, Space.Self);
 
        //【控制物體旋轉(zhuǎn)】
 
        // 獲取鼠標(biāo)的旋轉(zhuǎn)輸入值  ,Mouse X\ MouseY 是來源鼠標(biāo)在水平方向的移動(dòng)數(shù)值轉(zhuǎn)換返回為-1 -  1 之間的數(shù)值
        float RotaY = Input.GetAxis("Mouse X");//鼠標(biāo)水平移動(dòng)返回-1  -  +  1,這個(gè)數(shù)值將來用來給物體繞Y軸旋轉(zhuǎn)
        float RotaX = Input.GetAxis("Mouse Y");//鼠標(biāo)水平移動(dòng)返回-1  -  +  1,這個(gè)數(shù)值將來用來給物體繞X軸旋轉(zhuǎn)
 
        //這是使用歐拉角的旋轉(zhuǎn)方式,這種旋轉(zhuǎn)有個(gè)缺陷就是,旋轉(zhuǎn)一個(gè)軸沒有問題!不能同時(shí)旋轉(zhuǎn)2個(gè)及以上的軸。
        //transform.Rotate(new Vector3(RotaX * Rotatespeed,RotaY * Rotatespeed,0),Space.Self); 
        //旋轉(zhuǎn)2個(gè)及以上的軸,需要用四元數(shù)賦值給Retation
        RotationY += RotaY * Rotatespeed*Time.deltaTime;
        RotationX+= RotaX * Rotatespeed * Time.deltaTime;
        this.transform.rotation = Quaternion.Euler(RotationX, RotationY, 0);
        LimtRotatX();
    }
 
    void LimtRotatX()
    {//限制了上下旋轉(zhuǎn)也就是圍繞X軸旋轉(zhuǎn)的最小角度和最大角度  !注意 -50 代表后仰旋轉(zhuǎn)!60  度代表了!往前旋轉(zhuǎn)!
        RotationX = Mathf.Clamp(RotationX,-50,60);
  }
}
其他參數(shù)
  • GetAxis(“Horizontal”);//對應(yīng)鍵盤上的A鍵和D鍵 或←鍵和→鍵

  • GetAxis(“Vertical”); //對應(yīng)鍵盤上的W鍵和S鍵 或↑鍵和↓鍵

  • GetAxis(“Mouse X”); //對應(yīng)X方向上鼠標(biāo)的移動(dòng),在移動(dòng)設(shè)備上也可以這樣

  • GetAxis(“Mouse Y”); //對應(yīng)Y方向上鼠標(biāo)的移動(dòng),在移動(dòng)設(shè)備上也可以這樣

  • GetAxis(“Fire1”); //對應(yīng)鼠標(biāo)左鍵或left+Ctrl

  • GetAxis(“Fire2”); //對應(yīng)鼠標(biāo)右鍵或left+Alt

  • GetAxis(“Fire3”); //對應(yīng)鼠標(biāo)中鍵(是按,不是前后滑動(dòng))或left+shift

  • GetAxis(“Mouse ScrollWheel”); //對應(yīng)鼠標(biāo)中鍵前后滑動(dòng)(不是按)

  • GetAxisRaw(“Fire1”);

input.getAxis()和input.getAxisRaw()的區(qū)別

input.getAxis()的返回值m從0漸變?yōu)?或者-1

input.getAxisRaw()的返回值從0變成1或者-1,沒有漸變文章來源地址http://www.zghlxwxcb.cn/news/detail-796254.html

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

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

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

相關(guān)文章

  • Unity 通過鍵盤鼠標(biāo)控制物體移動(dòng)、旋轉(zhuǎn)、縮放的方法

    在Unity中,使用鍵盤ADWS鍵控制物體移動(dòng),通過鼠標(biāo)左鍵控制物體旋轉(zhuǎn),鼠標(biāo)中鍵控制物體縮放是再常見不過的方法。 方法如下: ?效果如下:Unity 通過鍵盤鼠標(biāo)控制物體移動(dòng)、旋轉(zhuǎn)、縮放_(tái)嗶哩嗶哩_bilibili

    2024年02月03日
    瀏覽(24)
  • Unity3D 控制物體移動(dòng)且自動(dòng)旋轉(zhuǎn)

    Unity3D 控制物體移動(dòng)且自動(dòng)旋轉(zhuǎn)

    直接上代碼(改腳本掛載到游戲物體上) 第三人稱攝像機(jī)移動(dòng)

    2024年02月15日
    瀏覽(98)
  • 【Unity入門】11.腳本控制物體旋轉(zhuǎn)

    【Unity入門】11.腳本控制物體旋轉(zhuǎn)

    ? ? 大家好,我是Lampard~~ ????歡迎來到Unity入門系列博客,所學(xué)知識(shí)來自B站阿發(fā)老師~感謝 (1)創(chuàng)建RotateLogic腳本 ? ? 上一篇文章我們學(xué)習(xí)了如何在腳本中獲取物體對象,并使用transform組件下的translate接口使物體運(yùn)動(dòng) ? ? 今天我們進(jìn)一步學(xué)習(xí),用腳本控制物體的旋轉(zhuǎn)。首先

    2024年02月04日
    瀏覽(20)
  • Unity 鼠標(biāo)實(shí)現(xiàn)對物體的移動(dòng)、縮放、旋轉(zhuǎn)
  • 【Unity】攝像機(jī)跟隨鼠標(biāo)移動(dòng)以物體為中心旋轉(zhuǎn) 物體根據(jù)視線方向移動(dòng)

    【Unity】攝像機(jī)跟隨鼠標(biāo)移動(dòng)以物體為中心旋轉(zhuǎn) 物體根據(jù)視線方向移動(dòng)

    描述 實(shí)現(xiàn)攝像機(jī)根據(jù)鼠標(biāo)移動(dòng)跟隨物體旋轉(zhuǎn),以攝像機(jī)前物體為中心,攝像機(jī)圍繞物體旋轉(zhuǎn),并使攝像機(jī)時(shí)刻指向物體 實(shí)現(xiàn)效果 Unity 組件設(shè)置 Camera 組件設(shè)置 Body 組件設(shè)置 實(shí)現(xiàn)代碼 CameraRotateMove.cs 攝像機(jī)跟隨和旋轉(zhuǎn) move_better.cs 物體根據(jù)按鍵移動(dòng)

    2024年02月08日
    瀏覽(41)
  • Unity Dotween插件物體、ui的移動(dòng) 旋轉(zhuǎn) 縮放效果

    Unity Dotween插件物體、ui的移動(dòng) 旋轉(zhuǎn) 縮放效果 #腳本應(yīng)用命名空間 using DG.Tweening; ##讓游戲物體平移 //參數(shù)一:要移動(dòng)到的位置 //參數(shù)二:動(dòng)畫完成要多少秒 transform.DOMove(new Vector3(1,3, 8.08f),5.5f); ##讓游戲物體旋轉(zhuǎn) //參數(shù)一:要旋轉(zhuǎn)成的樣子的坐標(biāo) //參數(shù)二:旋轉(zhuǎn)動(dòng)畫多少秒完成 trans

    2024年02月01日
    瀏覽(25)
  • Unity 控制物體移動(dòng)

    Unity 控制物體移動(dòng)

    目錄 1、通過改變物體的位置使物體移動(dòng) 2、通過給物體施加力使物體移動(dòng) 3、移動(dòng)characterController以及碰撞檢測 一、相關(guān)代碼展示 1、通過改變物體的位置使物體移動(dòng) 2、通過給物體施加力使物體移動(dòng) 3、移動(dòng)characterController 以及碰撞檢測 注:使用時(shí)首先要給物體添加CharacterC

    2024年02月13日
    瀏覽(23)
  • Unity 之利用 localEulerAngle與EulerAngle 控制物體旋轉(zhuǎn)

    Unity 之利用 localEulerAngle與EulerAngle 控制物體旋轉(zhuǎn)

    歐拉角(Euler Angles)是一種常用于描述物體在三維空間中旋轉(zhuǎn)的方法。它使用三個(gè)角度來表示旋轉(zhuǎn),分別繞物體的三個(gè)坐標(biāo)軸(通常是X、Y和Z軸)進(jìn)行旋轉(zhuǎn)。這種表示方式的優(yōu)勢是直觀且易于理解,但也存在一些問題,如萬向鎖問題。下面是一些關(guān)于歐拉角的重要概念: 歐拉

    2024年02月11日
    瀏覽(21)
  • 【Unity腳本開源】記錄鼠標(biāo)按下的位置和移動(dòng)的距離來進(jìn)行物體的旋轉(zhuǎn),并在鼠標(biāo)釋放后將物體恢復(fù)到初始旋轉(zhuǎn)位置

    ??作者:白日參商 ???♂?個(gè)人主頁:白日參商主頁 ??堅(jiān)持分析平時(shí)學(xué)習(xí)到的項(xiàng)目以及學(xué)習(xí)到的軟件開發(fā)知識(shí),和大家一起努力呀?。?! ????加油! 加油! 加油! 加油 ??歡迎評論 ??點(diǎn)贊???? 收藏 ??加關(guān)注+! 提針對這個(gè)需求,以下是示例腳本代碼: ??作者

    2024年02月12日
    瀏覽(22)
  • Unity上接入手柄,手柄控制游戲物體移動(dòng)

    Unity上接入手柄,手柄控制游戲物體移動(dòng)

    1、unity軟件上安裝system input 組件。菜單欄【window】-【Packag Manager】打開如下界面,查找Input System,并且安裝。 2、安裝成功后插入手柄到windows上,打開菜單欄上【window】--【Analysis】--【Input Debuger】 進(jìn)入Input Debug界面,可以看到手柄設(shè)備能被Unity識(shí)別。 3、雙擊【XinputControllerW

    2024年04月15日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包