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

Unity 通過鼠標(biāo)控制模擬人物移動和旋轉(zhuǎn)視角

這篇具有很好參考價值的文章主要介紹了Unity 通過鼠標(biāo)控制模擬人物移動和旋轉(zhuǎn)視角。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

要通過鼠標(biāo)控制并模擬人物移動和轉(zhuǎn)換視角,將會使用射線檢測、鼠標(biāo)點擊和鼠標(biāo)水平移動,配合物體旋轉(zhuǎn)和移動方法共同實現(xiàn)。

首先搭建個由一個Plane地板和若干cube組成的簡單場景:

Unity 通過鼠標(biāo)控制模擬人物移動和旋轉(zhuǎn)視角,unity,游戲引擎,c#

其次創(chuàng)建一個Capsule作為移動物體,并把攝像頭拉到該物體中。

創(chuàng)建以下腳本:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CameraController : MonoBehaviour
{
    private Vector3 targetPosition; // 目標(biāo)位置
    private float moveSpeed = 5f; // 攝像頭移動速度
    private bool isMoving = false;  // 標(biāo)記物體是否正在移動

    public float rotateSpeed = 3f; // 攝像頭旋轉(zhuǎn)速度

    public void Update()
    {
        if (Input.GetMouseButton(0))
        {
            //視角旋轉(zhuǎn)
            transform.Rotate(Vector3.up, Input.GetAxis("Mouse X") * rotateSpeed);
           
            //檢測射線獲取目標(biāo)點
            Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);           

            RaycastHit hitInfo = new RaycastHit();
            if (Physics.Raycast(ray, out hitInfo))
            {                
                if (hitInfo.collider.name == "Ground")
                {                  
                    targetPosition = hitInfo.point;
                    targetPosition.y = transform.localPosition.y;
                    isMoving = true;
                }
                Debug.DrawLine(ray.origin, hitInfo.point, Color.blue);
            }

            //讓物體移動到目標(biāo)位置
            if (isMoving)
            {
                MoveObject();
            }
            
            
        }
    }

    private void MoveObject()
    {
        // 使用插值函數(shù)逐漸將物體移動到目標(biāo)位置
        transform.position = Vector3.MoveTowards(transform.position, targetPosition, moveSpeed * Time.deltaTime);

        // 檢查是否到達(dá)目標(biāo)位置
        if (transform.position == targetPosition)
        {
            isMoving = false;
        }
    }   
}

?把腳本拉到移動物體中就可以了。

實際效果如下:

Unity鼠標(biāo)模擬人物走動轉(zhuǎn)換視覺文章來源地址http://www.zghlxwxcb.cn/news/detail-778091.html

到了這里,關(guān)于Unity 通過鼠標(biāo)控制模擬人物移動和旋轉(zhuǎn)視角的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • 超詳細(xì),unity如何用鼠標(biāo)中鍵控制視角放大、移動

    超詳細(xì),unity如何用鼠標(biāo)中鍵控制視角放大、移動

    unity如何用鼠標(biāo)中鍵,控制視角放大、移動? 鼠標(biāo)滑輪滑動視角放大。 鼠標(biāo)滑動按住拖拽,視角移動。 把這個腳本,掛載到主相機上。 下面是對該方法的分點總結(jié): 獲取鼠標(biāo)滾輪輸入值: 如果鼠標(biāo)中鍵被按住,則獲取當(dāng)前鼠標(biāo)位置和上一幀鼠標(biāo)位置之間的差值,并將其賦

    2024年01月20日
    瀏覽(23)
  • Unity解決:3D開發(fā)模式第三人稱視角 WASD控制角色移動旋轉(zhuǎn) 使用InputSystem

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

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

    2024年02月06日
    瀏覽(27)
  • Unity鼠標(biāo)控制3D物體的移動、旋轉(zhuǎn)、縮放

    1.使用協(xié)程 2.鼠標(biāo)左鍵控制物體移動,鼠標(biāo)碰到物體,物體顏色改變 1. 控制物體左右旋轉(zhuǎn),上下旋轉(zhuǎn) 2. 控制攝像機以物體為中心旋轉(zhuǎn) 腳本掛載到攝像機上 1. 基于物體本身的Transform的縮放 2. 基于攝像機的遠(yuǎn)近的縮放 腳本掛載到攝像機上

    2024年02月11日
    瀏覽(26)
  • Unity3D攝像機,鍵盤控制前后左右上下移動,鼠標(biāo)控制旋轉(zhuǎn)、放縮

    Unity3D中運行場景時,實現(xiàn)攝像機的前、后、左、右、上、下,以及鼠標(biāo)滾輪的放縮,鼠標(biāo)右鍵的旋轉(zhuǎn)操作。親測有效,可供參考。 按鍵功能介紹:W——前;S——后;A——左;D——右;Q——下降;E——上升;鼠標(biāo)右鍵——旋轉(zhuǎn);鼠標(biāo)滾輪——放縮。 Tourcamera腳本需要掛在攝

    2024年02月11日
    瀏覽(26)
  • Unity實現(xiàn)人物旋轉(zhuǎn)+移動

    思路:首先要有個變量去記錄下操作前的一個方向狀態(tài)。(本次操作的對象是正面對著屏幕的。)然后還有有個變量去描述將要發(fā)生的方向。接著要明確,前和后,左和右是橫跨180°的,其他的兩兩是相差90°的。所以我們可以以90°一個單位去做旋轉(zhuǎn)。并且利用前面總結(jié)的方向

    2024年02月14日
    瀏覽(21)
  • Unity實現(xiàn)人物移動、旋轉(zhuǎn)、跳躍

    Unity實現(xiàn)人物移動、旋轉(zhuǎn)、跳躍

    1.Player腳本控制人物移動,可單獨使用。(人物需添加組件 Box ? Collider和Rigidbody ) 2.相機放在人物頭部,轉(zhuǎn)動需要帶著人物轉(zhuǎn),相機轉(zhuǎn)動靈敏度和上下轉(zhuǎn)動角度范圍根據(jù)具體情況配置。 腳本CameraController和Player直接掛載到人物就可以用了。 3. 文件目錄(人物final bowser fly,相

    2024年02月04日
    瀏覽(24)
  • 實現(xiàn)3D人物的移動和旋轉(zhuǎn)。(Unity)

    實現(xiàn)3D人物的移動和旋轉(zhuǎn)。(Unity)

    首先,需要在人物身上加剛體和碰撞器。 ? 如果需要人物身上有聲音,可以添加AudioSource音頻源。 ?然后創(chuàng)建腳本,需要把腳本掛載到對應(yīng)的對象身上。 如果有動畫,還需要創(chuàng)建狀態(tài)機添加到對應(yīng)的對象上面,并且設(shè)置好里面的動畫。 ?代碼實現(xiàn): 圖片實現(xiàn): ? ? 上面代碼

    2024年02月04日
    瀏覽(22)
  • 2d平面unity,鼠標(biāo)點擊某個位置,人物角色朝這個方向移動

    2d平面unity,鼠標(biāo)點擊某個位置,人物角色朝這個方向移動 如果我們沒有將鼠標(biāo)點擊位置轉(zhuǎn)換為世界坐標(biāo)系中的位置,而是直接將屏幕坐標(biāo)系中的位置作為角色移動的目標(biāo)位置,那么可能會發(fā)生以下兩種情況: 角色會偏離目標(biāo)位置 由于屏幕坐標(biāo)系中的位置和世界坐標(biāo)系中的位

    2024年02月06日
    瀏覽(39)
  • Unity CharacterController控制人物移動(包括重力實現(xiàn))

    提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔 在使用CharacterController組件時,人物移動一般有兩種方式,一種是無重力移動–SimpleMove,一種是有重力移動–Move。而使用有重力移動時,又會出現(xiàn)人在下樓梯時無法貼合地面,從而造成飛天效果,最終導(dǎo)

    2024年02月11日
    瀏覽(18)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包