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

Unity:鼠標(biāo)【上下左右滑動(dòng)時(shí)】控制相機(jī)【左右張望】和【上下抬頭】

這篇具有很好參考價(jià)值的文章主要介紹了Unity:鼠標(biāo)【上下左右滑動(dòng)時(shí)】控制相機(jī)【左右張望】和【上下抬頭】。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

相機(jī)旋轉(zhuǎn),看著是小事,但是卻關(guān)系到用戶的直觀體驗(yàn)。旋轉(zhuǎn)對(duì)了母慈子孝,旋轉(zhuǎn)錯(cuò)了則翻江倒海。

一、功能

鼠標(biāo)左右移動(dòng)時(shí),控制相機(jī)左右轉(zhuǎn)動(dòng)
鼠標(biāo)上下移動(dòng)時(shí),控制相機(jī)抬頭低頭

二、被GPT帶翻的過程

你可以在GPT里提問,他的回答也很給力,能轉(zhuǎn),但是都不符合人體的看東西的特點(diǎn)。

后來還是的自己寫…
本案的相機(jī)旋轉(zhuǎn)的關(guān)鍵要點(diǎn)有兩個(gè):

  • 1、鼠標(biāo)左右滑動(dòng)的時(shí)候,相機(jī)要圍繞這 世界的Y軸 旋轉(zhuǎn),旋轉(zhuǎn)的中心在相機(jī)的原點(diǎn)。
//左右旋轉(zhuǎn):繞自己的原點(diǎn)旋轉(zhuǎn),旋轉(zhuǎn)軸為世界的Y軸
this.transform.RotateAround(this.transform.position, axisX,mouseX);//  public Vector3 axisY = new Vector3(1,0,0);

類比:
我雖然是低著頭(相機(jī)往下看),但是當(dāng)我東張西望的時(shí)候,往東和往西是圍繞我站立的Y軸,也就是世界的Y軸,來旋轉(zhuǎn)轉(zhuǎn)的。其他任何旋轉(zhuǎn)方法,都會(huì)導(dǎo)致奇怪的效果,不符合人的觀察特點(diǎn)。

下圖的坐標(biāo)軸為世界坐標(biāo)軸。

Unity:鼠標(biāo)【上下左右滑動(dòng)時(shí)】控制相機(jī)【左右張望】和【上下抬頭】

- 2、鼠標(biāo)上下滑動(dòng)的時(shí)候,相機(jī)實(shí)現(xiàn)抬頭和低頭的動(dòng)作,此時(shí)相機(jī)是繞自己的x軸進(jìn)行旋轉(zhuǎn)。
類比:把自己的頭想象成一個(gè)攝像機(jī),抬頭和低頭時(shí),我們繞的軸是穿過太陽(yáng)穴的一條線。
//抬頭低頭:繞自己的軸旋轉(zhuǎn)
transform.Rotate(axisY,mouseY, Space.Self);// public Vector3 axisY = new Vector3(1,0,0);

Unity:鼠標(biāo)【上下左右滑動(dòng)時(shí)】控制相機(jī)【左右張望】和【上下抬頭】文章來源地址http://www.zghlxwxcb.cn/news/detail-495533.html

三、代碼

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

/// <summary>
/// 鼠標(biāo)左右移動(dòng)時(shí),控制相機(jī)左右轉(zhuǎn)動(dòng)
/// 鼠標(biāo)上下移動(dòng)時(shí),控制相機(jī)抬頭低頭
/// 該腳本掛載到相機(jī)Camera上
/// Todo:加入平滑插值或者動(dòng)畫效果
/// </summary>
public class CameraController2 : MonoBehaviour
{
    /// <summary>
    /// 鼠標(biāo)靈敏度
    /// </summary>
    [Header("鼠標(biāo)靈敏度")]
    public float sensitivity = 100f; // 鼠標(biāo)靈敏度

    /// <summary>
    /// 相機(jī)抬頭低頭的旋轉(zhuǎn)軸
    /// </summary>
    [Header("相機(jī)抬頭低頭的旋轉(zhuǎn)軸")]
    public Vector3 axisY = new Vector3(1,0,0);
    
    /// <summary>
    /// 鼠標(biāo)X位移映射的旋轉(zhuǎn)軸
    /// </summary>
    [Header("鼠標(biāo)X位移映射的旋轉(zhuǎn)軸")]
    public Vector3 axisX = new Vector3(0, 1, 0);
    
    [Header("0-左鍵,1-右鍵,2-中建")]
    [SerializeField]
    public int buttonIndex = 1;   
    
    void Update()
    {
        //鼠標(biāo)按下
        if (Input.GetMouseButton(buttonIndex))
        {
            // 獲取鼠標(biāo)的位置變化delta值
            float mouseX = Input.GetAxis("Mouse X") * sensitivity * Time.deltaTime;
            float mouseY = Input.GetAxis("Mouse Y") * sensitivity * Time.deltaTime;

            //左右旋轉(zhuǎn):繞自己的點(diǎn)旋轉(zhuǎn),旋轉(zhuǎn)軸為世界的Y軸
            this.transform.RotateAround(this.transform.position, axisX,mouseX);

            //抬頭低頭:繞自己的軸旋轉(zhuǎn)
            transform.Rotate(axisY,mouseY, Space.Self);
        }
    }
}

到了這里,關(guān)于Unity:鼠標(biāo)【上下左右滑動(dòng)時(shí)】控制相機(jī)【左右張望】和【上下抬頭】的文章就介紹完了。如果您還想了解更多內(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)文章

  • 解決微信小程序在IOS端會(huì)上下左右滑動(dòng)的問題

    解決微信小程序在IOS端會(huì)上下左右滑動(dòng)的問題

    在開發(fā)微信小程序的時(shí)候發(fā)現(xiàn)在IOS端會(huì)出現(xiàn)上下左右都能滑動(dòng)的情況,但是安卓端就不會(huì)出現(xiàn)這種情況,百度了一下好像IOS就是默認(rèn)可以滑動(dòng),安卓默認(rèn)不允許,本篇就這個(gè)問題解決一下,畢竟可以隨意滑動(dòng)視覺上不太美觀 在外層的view設(shè)置overflow隱藏就好了,重新編譯測(cè)試就

    2024年02月12日
    瀏覽(48)
  • 微信小程序在ios端上下左右滑動(dòng)以及底部滾動(dòng)條的解決方案

    最近在寫小程序,碰到一個(gè)非常棘手的問題,就是安卓沒事,蘋果手機(jī)上的頁(yè)面能上下左右的滑動(dòng),不美觀這里我理解為不兼容,本著有問題就去解決,蘋果默認(rèn)應(yīng)該是滑動(dòng)的,下面是解決方法 底部滾動(dòng)條解決

    2024年02月04日
    瀏覽(106)
  • 微信小程序、uniapp使用touchstart和touchmove左右滑動(dòng)刪除。以及解決上下抖動(dòng)問題。

    微信小程序、uniapp使用touchstart和touchmove左右滑動(dòng)刪除。以及解決上下抖動(dòng)問題。

    展示效果圖直接上代碼 如果要修改里面內(nèi)容直接從content這個(gè)類修改就行。 直接復(fù)制粘貼就行。拿上直接用。 如果遇到滑動(dòng)會(huì)導(dǎo)致上下抖動(dòng)用這個(gè)解決。給最外層得一個(gè)view標(biāo)簽加一個(gè)樣式。 這樣的話滑動(dòng)會(huì)有陰影,但不會(huì)抖動(dòng),可以嘗試一下看看,如果哪位能人能解決,就

    2024年02月11日
    瀏覽(32)
  • [Unity] Tilemap瓦片左右翻轉(zhuǎn)(上下翻轉(zhuǎn))

    [Unity] Tilemap瓦片左右翻轉(zhuǎn)(上下翻轉(zhuǎn))

    Tile(瓦片)左右翻轉(zhuǎn)感覺是很常用的一個(gè)功能??!看了一些教程都沒有提及,心想難道要把每張Sprite再做一張對(duì)稱的、再做成瓦片嗎? 圖片量x2 、瓦片量x2、不現(xiàn)實(shí)!一定有方法! 搜索了了半天沒找到方法,結(jié)果自己偶然在奇怪的地方不一小心找到了~~ 記錄一下! 菜單欄

    2024年01月22日
    瀏覽(21)
  • 13.Unity2D 橫版 可上下左右移動(dòng)的雙向平臺(tái)(雙向行走+可移動(dòng)+單獨(dú)判定)+隨機(jī)平臺(tái)生成

    13.Unity2D 橫版 可上下左右移動(dòng)的雙向平臺(tái)(雙向行走+可移動(dòng)+單獨(dú)判定)+隨機(jī)平臺(tái)生成

    ? ? 總目錄 https://blog.csdn.net/qq_54263076/category_11900070.html?spm=1001.2014.3001.5482 大多數(shù)平臺(tái)教程全是碰撞體的可移動(dòng)平臺(tái),并沒有可跳上的平臺(tái),并且要求按下鍵會(huì)從平臺(tái)上跳下來。有也只是通過控制平臺(tái)的“2D平臺(tái)效果碰撞體”組件的單向平臺(tái)的旋轉(zhuǎn)偏移來做,但是這樣會(huì) 出現(xiàn)一

    2024年02月04日
    瀏覽(21)
  • 用css來實(shí)現(xiàn)上下左右箭頭
  • [Python中矩陣上下左右翻轉(zhuǎn)(np.flip)]

    [Python中矩陣上下左右翻轉(zhuǎn)(np.flip)] 現(xiàn)代編程語(yǔ)言和相關(guān)庫(kù)的發(fā)展,使得數(shù)值計(jì)算和數(shù)據(jù)處理變得更加便捷和高效。在Python中,NumPy庫(kù)是眾多數(shù)據(jù)科學(xué)和工程應(yīng)用領(lǐng)域的重要支撐之一。其中,np.flip函數(shù)可以用于進(jìn)行矩陣的上下左右翻轉(zhuǎn)操作,是我們?cè)谔幚韴D像、信號(hào)、物理模

    2024年02月12日
    瀏覽(18)
  • vxe表格實(shí)現(xiàn)鍵盤上下左右方向鍵移動(dòng)聚焦

    vxe表格實(shí)現(xiàn)鍵盤上下左右方向鍵移動(dòng)聚焦

    vxe 表格分為 vxe-table 一般表格和 vxe-grid 高級(jí)表格,兩者之間的區(qū)別我就不說啦,我們來實(shí)現(xiàn)這兩種表格用鍵盤按動(dòng)上下左右方向鍵達(dá)到移動(dòng)聚焦的效果。話不多說,上正文?。?! 首先在標(biāo)簽放入這兩個(gè)事件: 主要是利用vxe表格內(nèi)置的@cell-click事件,來監(jiān)聽點(diǎn)擊單元格的行號(hào)

    2024年02月07日
    瀏覽(21)
  • Flutter:自定義組件的上下左右彈出層

    Flutter:自定義組件的上下左右彈出層

    最近要使用Flutter實(shí)現(xiàn)一個(gè)下拉菜單,需求就是,在當(dāng)前組件下點(diǎn)擊,其下方彈出一個(gè)菜單選項(xiàng),如下圖所示: 實(shí)現(xiàn)起來,貌似沒什么障礙,在Flutter中本身就提供了彈出層PopupMenuButton組件和showMenu方法,于是開搞,代碼如下: 直接使用showMenu也行,代碼如下: PopupMenuButton運(yùn)行

    2024年02月10日
    瀏覽(28)
  • Ubuntu22.04上下左右全方位美化教程

    Ubuntu22.04上下左右全方位美化教程

    為了記錄和自己的反復(fù)查看,我還是用自己的方式記錄一下我的替換過程,為了回憶和共同進(jìn)步 官方文檔將 Plank 描述為“這個(gè)星球上最簡(jiǎn)潔的 dock”,其目的是僅提供一個(gè) dock 需要的功能。盡管這是很基礎(chǔ)的一個(gè)庫(kù),卻可以被擴(kuò)展,創(chuàng)造其他的含更多高級(jí)功能的 dock 程序。

    2024年02月10日
    瀏覽(24)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包