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

【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體

這篇具有很好參考價(jià)值的文章主要介紹了【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。


注意看代碼的注釋塊

如何獲得其它物件的 Transform

我們先按下述代碼用 Transform 方法創(chuàng)建一個(gè) emptyTform ,使得該對(duì)象能夠獲得其他物件 Transform 的機(jī)會(huì)

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

public class EP20_01_Transform : MonoBehaviour
{
    public Transform emptyTform;//emptyTform為自命名
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

保存代碼后,再將想要獲取 Transform 值的物件直接拖拽到這里
【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎
我們嘗試通過(guò) Transform 獲取一下這個(gè)對(duì)象的名字,在 start 里加上語(yǔ)句

void Start()
{
    Debug.Log(emptyTform.name);
}

保存后去啟動(dòng)unity,成功打?。?br>【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎
同理我們?cè)僭?start 里加上語(yǔ)句

Debug.Log(emptyTform.position);

保存后調(diào)用,也成功地調(diào)用出了這個(gè)對(duì)象的位置
【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎

【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎


關(guān)于第二個(gè)旋轉(zhuǎn)角度 rotation 我們有兩種常見(jiàn)的表示方法,同樣將這兩句代碼按順序?qū)懭?start

        Debug.Log(emptyTform.rotation);//表示旋轉(zhuǎn)角度 - 4位數(shù)
        Debug.Log(emptyTform.eulerAngles);//表示旋轉(zhuǎn)角度 - 3位數(shù)

【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎

然后縮放 scale 的輸出同理,僅一種,不演示了

        Debug.Log(emptyTform.localScale);//表示縮放

通過(guò) Transform 調(diào)用子類(lèi)

child拼太快,都錯(cuò)了,諒解…

關(guān)于子類(lèi)物體的 Transform 調(diào)用,就不需要將其拖進(jìn)該對(duì)象 Transform 方法中
【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎

這里在 start 語(yǔ)句中寫(xiě)入語(yǔ)句,嘗試調(diào)用子類(lèi)的名字

        Debug.Log(transform.GetChild(0).name);//0表示索引,即子類(lèi)的第n-1個(gè)//這里調(diào)用一下子類(lèi)的名字

成功,同理 GetChild(索引) 的方法同樣適用于其他子類(lèi)對(duì)象的調(diào)用
【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎
調(diào)用子類(lèi)還有第二種方法,在 start 語(yǔ)句中寫(xiě)入語(yǔ)句(ctrl + D 復(fù)制)

        Debug.Log(transform.Find("chlid (3)").name);//第二種找子類(lèi)的方法

這里需要注意的是字符串的查找十分嚴(yán)格,必須與子類(lèi)對(duì)象名一模一樣才能查找到,否則報(bào)錯(cuò)
【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎
保存后調(diào)試,成功
【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎

不僅如此,我們還可以通過(guò)子對(duì)象去調(diào)用父類(lèi)對(duì)象

        Debug.Log(transform.Find("chlid (3)").parent);//找父類(lèi)對(duì)象             

注意點(diǎn)跟上面一樣,不過(guò)多贅述

補(bǔ)充一點(diǎn): Transform 還可以調(diào)用對(duì)象的組件,而且可以進(jìn)行更改
我們?cè)?chlid (2) 里創(chuàng)建上 新組件 SpriteRenderer
【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎
通過(guò)語(yǔ)句

        transform.Find("chlid (2)").GetComponent<SpriteRenderer>().flipY = true;

成功
【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎


通過(guò) V3 結(jié)構(gòu)體改變對(duì)象位置

相當(dāng)于自定義一個(gè)向量,比如下面的代碼,我們將鼠標(biāo)放在 Vector3 上點(diǎn)擊 F12 可以轉(zhuǎn)到反匯編,發(fā)現(xiàn) Vector3 是有三個(gè)值,分別賦值

        Vector3 vector3 = new Vector3();
        vector3.x = 1;
        vector3.y = 2;
        vector3.z = 3;
        Debug.Log(vector3);

【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎
成功打印出來(lái)我們自定義的向量值
【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎

但是這種自定義一個(gè)變量的方法肯定是無(wú)用的,但是我們可以通過(guò)向量來(lái)改變這個(gè)對(duì)象的位置

        Debug.Log(transform.position);//打印原先對(duì)象的位置
        transform.position = new Vector3(0,0,0);
        Debug.Log(transform.position);//打印改變后的位置

【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎

為了使這種變化更直觀,我們?cè)诖a的開(kāi)頭為這個(gè)對(duì)象 EP20_01_Transform 創(chuàng)建一個(gè)新的 Transform

    public Transform cubeTform;

建立一個(gè)新對(duì)象 cube 拖拽進(jìn) EP20_01_Transform 的新的 Transform
并在 Update 中加入如下代碼

        cubeTform.position = cubeTform.position + new Vector3(0,0,0.1f);
        //每一幀這個(gè)對(duì)象的z坐標(biāo)加1(向后)
        //等價(jià)于 cubeTform.position += new Vector3(0,0,0.1); 
        Debug.Log(cubeTform.position);//打印每幀改變后的位置

因?yàn)檫\(yùn)動(dòng)不方便以靜圖的形式表示,所以這里我們打印每一幀的位置,如果你有一同操作,也能夠發(fā)現(xiàn)這里的立方體以肉眼可見(jiàn)的速度迅速向后退去
【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體,unity/C#,unity,c#,游戲引擎
如果你覺(jué)得運(yùn)行速度太快,不想以幀為單位,換為秒的話(huà),只需要在V3結(jié)構(gòu)體后乘上 Time.deltaTime

        cubeTform.position = cubeTform.position + new Vector3(0, 0, 0.1f) * Time.deltaTime;
        //每一秒這個(gè)對(duì)象的z坐標(biāo)加1(向后)

這是改變位置,同理我們可以通過(guò)V3結(jié)構(gòu)體對(duì)對(duì)象進(jìn)行角度的變化或者縮放

        cubeTform.eulerAngles += new Vector3(0, 90, 0) * Time.deltaTime;//變換角度
        cubeTform.localScale += new Vector3(1f, 0, 0) * Time.deltaTime;//縮放

這串代碼寫(xiě)入后,這個(gè)立方體會(huì)不斷一邊旋轉(zhuǎn)一邊縮放文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-853038.html

到了這里,關(guān)于【unity】【C#】變換組件 Transform 和 V3結(jié)構(gòu)體的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(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 之Transform組件(匯總)

    unity 之Transform組件(匯總)

    當(dāng)在Unity中處理3D場(chǎng)景中的游戲?qū)ο髸r(shí), Transform 組件是至關(guān)重要的組件之一。它管理了游戲?qū)ο蟮奈恢谩⑿D(zhuǎn)和縮放,并提供了許多方法來(lái)操縱和操作這些屬性。以下是關(guān)于 Transform 組件的詳細(xì)介紹: 位置(Position): Transform 組件的 position 屬性表示游戲?qū)ο笤谑澜缱鴺?biāo)系中

    2024年02月04日
    瀏覽(40)
  • 第十二章 Unity Transform組件(下)

    第十二章 Unity Transform組件(下)

    上一章節(jié)中我們介紹了Transform組件的屬性和方法。我們發(fā)現(xiàn) Transform 中有right,up和forward,而 Vector3 類(lèi)中也有right,up和forward,他們是一回事嘛?我們使用Forward來(lái)說(shuō)明兩者之間的區(qū)別。我們知道,改變游戲?qū)ο蟮膒osition位置,就可以形成移動(dòng)效果。如果我們讓游戲?qū)ο笱刂鴉or

    2024年02月04日
    瀏覽(24)
  • 第十一章 Unity Transform組件(上)

    第十一章 Unity Transform組件(上)

    本章節(jié)我們介紹Transform類(lèi),它是一個(gè)組件,每一個(gè)游戲?qū)ο笥袚碛性摻M件。因此,它值得我們重點(diǎn)介紹一下。Transform代表了游戲?qū)ο蟮氖澜缱儞Q,也就是移動(dòng),選擇和縮放。 首先,我們先介紹它的屬性(類(lèi)變量),如下所示 1. gameObject 附加到的當(dāng)前游戲?qū)ο?,?lái)自父類(lèi)Compo

    2024年02月05日
    瀏覽(30)
  • 【unity】RectTransform與Transform組件有什么區(qū)別

    RectTransform組件是Unity中用于控制UI元素位置、大小和旋轉(zhuǎn)的組件。它是UI系統(tǒng)的一部分,用于在屏幕空間中布局和定位UI元素。 與transform組件相比,RectTransform組件具有以下區(qū)別: 1. 坐標(biāo)系統(tǒng):RectTransform組件使用屏幕空間坐標(biāo)系統(tǒng),而transform組件使用世界空間坐標(biāo)系統(tǒng)。RectT

    2024年04月22日
    瀏覽(41)
  • 【Unity3D】Unity 組件 ① ( 組件 Component 概念 | Transform 組件和 Light 組件 | Mesh Filter 組件和 Mesh Renderer 組件 )

    【Unity3D】Unity 組件 ① ( 組件 Component 概念 | Transform 組件和 Light 組件 | Mesh Filter 組件和 Mesh Renderer 組件 )

    組件 Component 是 選中 游戲物體 GameObject 后 , 在 Inspector 檢查器 窗口 中 , 查看到的內(nèi)容 ; 組件 Component 代表了 游戲物體 GameObject 的一種功能 ; 空物體 只有 Transform 組件 , 只能提供 坐標(biāo) , 旋轉(zhuǎn)角度 , 縮放倍數(shù) 功能 ; 平行光源 物體 有 Light 組件 提供光照功能 ; 立方體 物體 有 M

    2024年02月06日
    瀏覽(35)
  • 小波變換(wavelet transform)

    小波變換(wavelet transform)

    ?小波變換跟時(shí)間有關(guān),橫坐標(biāo)是時(shí)間,縱坐標(biāo)是頻率。 真實(shí)世界的數(shù)據(jù)或者信號(hào)經(jīng)常表現(xiàn)出緩慢變化的趨勢(shì)或因瞬態(tài)而出現(xiàn)的震蕩,另一方面,圖像具有被邊緣中斷或者對(duì)比度突然變化的平滑區(qū)域,傅里葉變換不能有效代表突然的變化,這是因?yàn)楦道锶~變換將數(shù)據(jù)表示為未

    2024年02月07日
    瀏覽(19)
  • 十八、Unity游戲引擎入門(mén)

    十八、Unity游戲引擎入門(mén)

    1、下載 ?? ?首先需要下載Unity Hub,下載網(wǎng)址:https://unity.com/cn。 ?? ?然后在其中下載Unity編輯器并安裝,可選擇最新版本。 ?? ?接著需要選擇適合的開(kāi)發(fā)環(huán)境,例如Android Studio或Xcode,以便進(jìn)行手機(jī)游戲開(kāi)發(fā)。在安裝完Unity后,需要根據(jù)項(xiàng)目需求下載對(duì)應(yīng)的模塊和插件,例

    2024年02月16日
    瀏覽(117)
  • css-transform2D變換

    css-transform2D變換

    CSS transform 屬性允許你旋轉(zhuǎn),縮放,傾斜或平移給定元素。 常用的 transform 屬性有下面幾個(gè) 屬性 說(shuō)明 translate(0, 0) 位移 rotate(0deg) 旋轉(zhuǎn) scale(1) 縮放 skew(0deg) 斜切 transform的說(shuō)明文檔 :https://developer.mozilla.org/zh-CN/docs/Web/CSS/transform 下面分別說(shuō)一下這幾個(gè)方法 translate() 位移 translat

    2023年04月08日
    瀏覽(27)
  • 【C++】STL 算法 - transform 變換算法 ① ( transform 函數(shù)原型 | 將 一個(gè) 或 兩個(gè) 輸入容器 中的元素 變換后 存儲(chǔ)到 輸出容器 中 )

    std::transform 是 STL 標(biāo)準(zhǔn)模板庫(kù) 中的一個(gè)算法 , 該算法的作用是 用于對(duì) 容器 或 指定迭代器范圍 的 每個(gè)元素 進(jìn)行 指定的 \\\" 轉(zhuǎn)換操作 \\\" , 并將 \\\" 轉(zhuǎn)換結(jié)果 \\\" 存儲(chǔ)到另一個(gè)容器中 ; std::transform 算法 接受 一個(gè) 或 兩個(gè)輸入范圍 , 以及一個(gè)輸出范圍 , 并 根據(jù)提供的 一元函數(shù)對(duì)象 或

    2024年01月16日
    瀏覽(34)
  • Python 傅里葉變換 Fourier Transform

    Python 傅里葉變換 Fourier Transform

    flyfish 一圖勝千言 Fast Fourier Transform (FFT) 快速傅里葉變換 快速傅里葉逆變換 p e r i o d = 1 f r e q u e n c y period = frac{1}{frequency} p er i o d = f re q u e n cy 1 ? 因?yàn)?、3、7相對(duì)2000,在坐標(biāo)軸上太小把上述代碼freq_feature 改成100,300,700更容易看出特點(diǎn) 繼續(xù)繪制freq_feature =1、3、7的傅里葉變

    2024年02月20日
    瀏覽(13)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包