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

Unity 3D游戲開發(fā)+腳本編程完整指南:Unity腳本概覽-控制物體的運(yùn)動(dòng)

這篇具有很好參考價(jià)值的文章主要介紹了Unity 3D游戲開發(fā)+腳本編程完整指南:Unity腳本概覽-控制物體的運(yùn)動(dòng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

教程相關(guān)資源 Unity 3D游戲開發(fā)+腳本編程完整指南(工程文件+PPT).zip
Unity 腳本概覽
腳本編寫并不困難,但是如果直接從細(xì)節(jié)開始講起,會(huì)讓
讀者難以看到腳本編程的全貌。因此本章不急于闡述腳本編寫
的細(xì)節(jié),只介紹簡單的修改物體位置、處理用戶輸入和檢測碰
撞的方法,讓讀者用最簡單的方式做出第一個(gè) 3D 滾球跑酷游
戲,體會(huì)腳本編程的思路和整體方法。

1.1 控制物體的運(yùn)動(dòng)

僅通過控制物體的位置,就能做出好玩的小游戲。本節(jié)將
詳細(xì)講解創(chuàng)建腳本、改變物體位置和處理用戶輸入等基本操
作,并對(duì)容易產(chǎn)生誤解的地方做出提示。

1.1.1 新建腳本

首先在場景中新建一個(gè)球體,接著新建腳本并掛載到該球
體上。
新建腳本有兩種方法。第一種方法是在 Project (工程)窗
口的某個(gè)文件夾中,如在 Assets (資源根目錄)中單擊鼠標(biāo)右
鍵,選擇 Create→C# Script 選項(xiàng),如圖 1-1 所示。這時(shí) Unity 會(huì)在
該文件夾下建立一個(gè)擴(kuò)展名為 .cs 的腳本文件(擴(kuò)展名在 Unity
輯器中是隱藏的),并立即讓用戶為其指定一個(gè)名稱,默認(rèn)為
NewScript 。
Unity 3D游戲開發(fā)+腳本編程完整指南:Unity腳本概覽-控制物體的運(yùn)動(dòng),Unity 3D,游戲開發(fā),Unity 3D游戲開發(fā)+腳本編程完整指南,unity,3d,游戲引擎
圖1-1 創(chuàng)建C#腳本
第二種方法是選中球體,在 Inspector (檢視)窗口中單擊
Add Component (添加組件)按鈕,在菜單中選擇 New script
(新建腳本)選項(xiàng),再輸入文件名,最后單擊 Create and Add
(創(chuàng)建并添加)按鈕,則會(huì)在 Assets 下新建指定名稱的腳本文
件,如圖 1-2 所示。
Unity 3D游戲開發(fā)+腳本編程完整指南:Unity腳本概覽-控制物體的運(yùn)動(dòng),Unity 3D,游戲開發(fā),Unity 3D游戲開發(fā)+腳本編程完整指南,unity,3d,游戲引擎
圖1-2 直接創(chuàng)建腳本Ball的方法
如果采用第一種方法,那么創(chuàng)建的腳本文件就還未掛載到
球體上。如果采用第二種方法,則在創(chuàng)建完成的同時(shí)腳本文件
也掛載完成了。
將腳本文件掛載到球體上也有兩種方法:一是拖曳 Project
窗口中的腳本文件到場景中的球體上,二是拖曳 Project 窗口中 的腳本文件到 Inspector 窗口里所有項(xiàng)目的后面。推薦使用第二
種方法,因?yàn)樗鼮橹庇^。
將腳本文件拖曳到 Inspector 窗口時(shí)會(huì)出現(xiàn)一條藍(lán)色標(biāo)記
線,代表插入的位置,如圖 1-3 所示。一般來說腳本組件的順序
不是很重要,可以插入到任意兩個(gè)組件之間或者最后。
Unity 3D游戲開發(fā)+腳本編程完整指南:Unity腳本概覽-控制物體的運(yùn)動(dòng),Unity 3D,游戲開發(fā),Unity 3D游戲開發(fā)+腳本編程完整指南,unity,3d,游戲引擎
圖1-3 插入腳本組件的操作
當(dāng)不小心掛載了多個(gè)同樣的腳本組件時(shí),在組件名稱上單
擊鼠標(biāo)右鍵,并選擇 Remove Component (刪除組件)選項(xiàng)即可
刪除多余的組件,如圖 1-4 所示
Unity 3D游戲開發(fā)+腳本編程完整指南:Unity腳本概覽-控制物體的運(yùn)動(dòng),Unity 3D,游戲開發(fā),Unity 3D游戲開發(fā)+腳本編程完整指南,unity,3d,游戲引擎
圖1-4 刪除組件的操作
小提示
創(chuàng)建腳本組件的注意事項(xiàng)
Unity 規(guī)定,能夠掛載到物體上的腳本文件必須是 腳本
組件 (另有一種不是組件的腳本文件),腳本組件要繼承
MonoBehaviour ,且腳本代碼中的 class 名稱必須與文件名
一致。一般腳本創(chuàng)建時(shí)會(huì)自動(dòng)生成這部分內(nèi)容,但是如果修
改了腳本文件名,那么在掛載時(shí)就會(huì)報(bào)錯(cuò)。這時(shí)就必須修改
文件名或 class 名稱,讓它們一致,這樣才能正確掛載。 Unity 支持一個(gè)物體掛載多個(gè)同樣的腳本組件,但一般來
說只需要一個(gè)。如果由于操作失誤掛載了多個(gè)腳本組件,就
要?jiǎng)h除多余的,這也是建議把腳本文件拖曳到 Inspector 窗口
內(nèi)的原因,這樣易于確認(rèn)是否掛載了多個(gè)腳本組件。

1.1.2 Start和Update事件

雙擊腳本文件,或者在腳本組件上單擊鼠標(biāo)右鍵,選擇
Edit Script (編輯腳本),就可以打開腳本文件進(jìn)行編輯。本書
建議使用 Visual Studio 2017 Visual Studio 2019 作為代碼編輯
器。在初次安裝 Unity 時(shí)會(huì)默認(rèn)安裝 Visual Studio 社區(qū)版,該版
本可免費(fèi)使用。
打開腳本文件,可以看到如下內(nèi)容。
using UnityEngine;

public class Ball : MonoBehaviour
{
    // Use this for initialization
    void Start()
    {
    }

    // Update is called once per frame
    void Update()
    {
    }
}
這個(gè)腳本文件名為 Ball ,引用了 UnityEngine 這個(gè)命名空
間,組件類型為 Ball ,繼承了 MonoBehaviour ,這些都是自動(dòng)生
成的部分。這里需要關(guān)注的是其中的 Start() 函數(shù)和 Update()
數(shù)。
Start() 函數(shù)在游戲開始運(yùn)行的時(shí)候執(zhí)行一次,特別適合進(jìn)行
組件初始化。而 Update() 函數(shù)每幀都會(huì)執(zhí)行,在不同設(shè)備上更新
的頻率有所區(qū)別,特別是當(dāng)系統(tǒng)硬件資源不足時(shí),幀率就會(huì)降
低,因此 Update() 函數(shù)實(shí)際執(zhí)行的頻率是變化的。
Start Update 又被稱為 事件 ,因?yàn)樗鼈兎謩e是在 該組件
開始運(yùn)行 更新該組件 這兩個(gè)事件發(fā)生時(shí)被調(diào)用的。第 2
會(huì)詳細(xì)講解腳本組件的各種事件函數(shù)。
這里介紹一個(gè)非常常用的方法: Debug.Log() 用于向 Console
(控制臺(tái))窗口輸出一串信息。下面改動(dòng)腳本,加上兩句輸出 信息的代碼。
using UnityEngine;

public class Ball : MonoBehaviour
{
    // Use this for initialization
    void Start()
    {
        Debug.Log("組件執(zhí)行開始函數(shù)!");
    }

    // Update is called once per frame
    void Update()
    {
        Debug.Log("當(dāng)前游戲進(jìn)行時(shí)間:" + Time.time);
    }
}
運(yùn)行游戲,找到 Console 窗口,如果沒有打開,則選擇主菜
單中的 Window→General→Console 選項(xiàng)打開,如圖 1-5 所示。
Unity 3D游戲開發(fā)+腳本編程完整指南:Unity腳本概覽-控制物體的運(yùn)動(dòng),Unity 3D,游戲開發(fā),Unity 3D游戲開發(fā)+腳本編程完整指南,unity,3d,游戲引擎
圖1-5 讓Console窗口顯示出來
執(zhí)行游戲, Console 窗口內(nèi)會(huì)產(chǎn)生大量信息,如圖 1-6 所示。
Unity 3D游戲開發(fā)+腳本編程完整指南:Unity腳本概覽-控制物體的運(yùn)動(dòng),Unity 3D,游戲開發(fā),Unity 3D游戲開發(fā)+腳本編程完整指南,unity,3d,游戲引擎
圖1-6 Console窗口輸出的信息
暫停游戲,查看 Console 窗口中的信息,發(fā)現(xiàn)開始函數(shù)只執(zhí)
行了一次,后面所有的 當(dāng)前游戲進(jìn)行時(shí)間:秒數(shù) 都是 Update()
函數(shù)被調(diào)用時(shí)輸出的。如果仔細(xì)觀察,可以發(fā)現(xiàn)時(shí)間的流逝不
太穩(wěn)定,特別是在游戲剛啟動(dòng)的時(shí)候偏差較大。
Debug.Log() 函數(shù)是寫代碼、查 bug 的好幫手,越是編程高
手,越是使用得多。 Debug.Log() 函數(shù)也是最簡單、最可靠的一
種調(diào)試手段,未來還會(huì)反復(fù)使用這個(gè)方法,建議從現(xiàn)在開始就
多多應(yīng)用它。

1.1.3 修改物體位置

Unity 里修改物體位置,實(shí)際上就是修改 Transform (變
換)組件的數(shù)據(jù)。在 Inspector 窗口里可以方便地查看和修改
Transform 組件的位置( Position )、旋轉(zhuǎn)( Rotation )和縮放
Scale )參數(shù),如圖 1-7 所示。
Unity 3D游戲開發(fā)+腳本編程完整指南:Unity腳本概覽-控制物體的運(yùn)動(dòng),Unity 3D,游戲開發(fā),Unity 3D游戲開發(fā)+腳本編程完整指南,unity,3d,游戲引擎
圖1-7 查看和修改物體位置
在界面中可以修改的參數(shù)在腳本中也能修改,而在腳本中
可以修改的參數(shù)就不一定會(huì)在界面上出現(xiàn)了,因?yàn)槟_本的功能
比界面上展示的功能要多得多。
修改 Transform 組件中的 Position 有兩種常用方法。一種是使
Translate() 函數(shù)。
// 物體將沿著自身的右側(cè)方向(X軸正方向也稱為向右)前進(jìn)1.5個(gè)單位
transform.Translate(1.5f, 0, 0);
另一種是直接指定新的位置。如果在游戲一開始就把物體
放在( 1, 2.5, 3 )的位置,則只需要修改 Start() 函數(shù)。
void Start () { 
 transform.position = new Vector3(1, 2.5f, 3);
}
這里可能有兩個(gè)讓人覺得奇怪的地方: “2.5” 要寫作 “2.5f” ,
設(shè)置位置時(shí)要用 new Vector3(x, y, z) 這種寫法。 這些主要源于 C# 語法的規(guī)定。直接寫 2.5 會(huì)被認(rèn)為是一個(gè)
double 類型的數(shù),而這里需要的是 float 類型的數(shù),所以必須加上
f 后綴。而寫 “new” 的原因是 Vector3 是一個(gè)值類型,而 position
一個(gè)屬性,由于 C# 中引用和值的原理,因此不能使
“transform.position.y = 2.5f” 這種寫法直接修改物體的位置。這
里的解釋可能對(duì)初學(xué)者來說有點(diǎn)模糊,不過沒有關(guān)系,可以先
記住并使用這個(gè)語法,隨著 C# 編程學(xué)習(xí)的深入自然會(huì)明白。
如果要做一個(gè)連續(xù)的位移動(dòng)畫,只需要讓物體每幀都移動(dòng)
一段很小的距離就可以了。也就是說,可以把改變位置的代碼
寫在 Update() 函數(shù)里,但是每幀都要比前一幀多改變一些位置。
例如,以下兩種方法都可以讓物體沿 z 軸前進(jìn)。
void Update()
{
    transform.Translate(0, 0, 0.1f);
    // 在這個(gè)例子中等價(jià)于:
    transform.position += new Vector3(0, 0, 0.1f);
}
以上兩句代碼只選擇寫其中一句即可,另一句可以注釋
掉。運(yùn)行游戲,觀察小球是否持續(xù)運(yùn)動(dòng)。
小提示
物體位置的兩種寫法有本質(zhì)區(qū)別
如果深究,這里有兩個(gè)要點(diǎn):一是向量的使用和向量加
法,二是局部坐標(biāo)系與世界坐標(biāo)系之間的區(qū)別和聯(lián)系。
Translate() 函數(shù)默認(rèn)為局部坐標(biāo)系,而修改 position 的方
法是世界坐標(biāo)系。 3D 數(shù)學(xué)基礎(chǔ)知識(shí)會(huì)在后續(xù)章節(jié)詳細(xì)說明,
這里先把關(guān)注點(diǎn)放在位移邏輯上。
前面提到,由于系統(tǒng)繁忙時(shí)無法保證穩(wěn)定的幀率,因此對(duì)
于上面的寫法,如果幀率高,小球移動(dòng)就快;幀率低,小球移
動(dòng)就慢。我們需要在 每幀移動(dòng)同樣的距離 每秒移動(dòng)同樣的
距離 之間做出選擇。
按游戲開發(fā)的常規(guī)方法,應(yīng)當(dāng)選擇 每秒移動(dòng)同樣的距
。舉個(gè)例子,如果幀率為 60 / 秒時(shí)物體每幀移動(dòng) 0.01 米,那
么幀率只有 30 / 秒時(shí)就應(yīng)該每幀移動(dòng) 0.02 米,這樣才能保證物 體移動(dòng) 1 秒的距離都是 0.6 米。這里雖然原理復(fù)雜,但實(shí)際只需
要略作修改即可。
transform.Translate(0, 0, 5 * Time.deltaTime);
// 或
transform.position += new Vector3(0, 0, 5 * Time.deltaTime);
}
Time.deltaTime 表示兩幀之間的間隔,如幀率為 60 / 秒時(shí)這
個(gè)值為 0.0167 秒,幀率只有 10 / 秒時(shí)這個(gè)值為 0.1 秒,用它乘以
移動(dòng)速度就可以抵消幀率變化的影響。由于 Time.deltaTime 是一
個(gè)比較小的數(shù),因此速度的數(shù)值應(yīng)適當(dāng)放大一些。

1.1.4 讀取和處理輸入

Unity 支持多種多樣的輸入設(shè)備,如鍵盤、鼠標(biāo)、手柄、搖
桿、觸摸屏等。很多輸入設(shè)備有著類似的控制方式,如按鍵盤
上的 W 鍵或上箭頭鍵,將手柄的左搖桿向前推,都代表
,用 Unity 的術(shù)語表述則是 沿縱軸( Vertical )向上 。以下
代碼就可以獲取用戶當(dāng)前的縱軸輸入和橫軸輸入。
void Update()
{
    float v = Input.GetAxis("Vertical");
    float h = Input.GetAxis("Horizontal");
    Debug.Log("當(dāng)前輸入縱向:" + v + " " + "橫向:" + h); 
}
Input.GetAxis() 函數(shù)的返回值是一個(gè) float 類型的值,取值范
圍為 -1~1 。 Unity 用這種方法將各種不同的輸入方式統(tǒng)一在了一
起。
以上代碼會(huì)輸出 v h 的數(shù)值。運(yùn)行游戲,然后按鍵盤上的
W 、 A 、 S 、 D 鍵或方向鍵,查看 Console 窗口是否正確讀取到了
輸入值。
通過簡單的乘法就可以將輸入的幅度與物體運(yùn)動(dòng)的速度聯(lián)
系起來。
void Update()
{
    float v = Input.GetAxis("Vertical");
    float h = Input.GetAxis("Horizontal");
    Debug.Log("當(dāng)前輸入縱向:" + v + " " + "橫向:" + h);
    transform.Translate(h * 10 * Time.deltaTime, 0, v * 10 * Time.deltaTime);
}
代碼解釋:先取得當(dāng)前的縱向、橫向輸入(取值范圍
-1~1 ),然后將輸入值與速度(代碼中的數(shù)字 10 )和
Time.deltaTime 相乘,以控制物體的移動(dòng)。每幀最小移動(dòng)距離為
0 ,在 60 幀時(shí) x 軸的每幀最大移動(dòng)幅度是 1*10*0.0167 ,即 0.167
米, z 軸同理。
運(yùn)行游戲,按 W 、 A 、 S D 鍵或方向鍵,看看效果。

1.1.5 實(shí)例:實(shí)現(xiàn)一個(gè)移動(dòng)的小球

下面利用上面所講解的內(nèi)容,實(shí)現(xiàn)一個(gè)移動(dòng)小球的案例,
具體操作如下。
01 新建一個(gè)球體。
02 調(diào)整攝像機(jī)的朝向和位置,可以設(shè)置為俯視、平視或斜
上方視角。
03 為球體創(chuàng)建腳本 Ball 并掛載,完整代碼如下。
using UnityEngine;

public class Ball : MonoBehaviour
{
    public float speed = 10;

    void Start()
    {
    }

    void Update()
    {
        float v = Input.GetAxis("Vertical");
        float h = Input.GetAxis("Horizontal");
        transform.Translate(h * speed * Time.deltaTime, 0, v * speed * Time.deltaTime);
    }
}
04 運(yùn)行游戲。單擊 Game (游戲)窗口,然后按 W 、 A
S 、 D 鍵或方向鍵就可以看到球體以一定的速度移動(dòng)了。運(yùn)行游
戲的效果如圖 1-8 所示。
Unity 3D游戲開發(fā)+腳本編程完整指南:Unity腳本概覽-控制物體的運(yùn)動(dòng),Unity 3D,游戲開發(fā),Unity 3D游戲開發(fā)+腳本編程完整指南,unity,3d,游戲引擎
圖1-8 控制小球移動(dòng)
通過修改 Translate() 函數(shù)的參數(shù),可以使球體沿不同方向移
動(dòng),如修改為以下代碼就能實(shí)現(xiàn)沿 xy 平面移動(dòng),而不是沿 xz
面移動(dòng)。
transform.Translate(h*speed*Time.deltaTime,
v*speed*Time.deltaTime, 0);
用這種寫法修改速度非常方便,不需要反復(fù)修改代碼。因
speed 是一個(gè) public 字段( C# 中類的成員變量稱為字段,兩種
術(shù)語叫法,不影響理解), Unity 會(huì)為這種字段提供一個(gè)快捷的
修改方法。在場景中選中球體,在 Inspector 窗口中查看它的腳
本組件,如圖 1-9 所示。
Unity 3D游戲開發(fā)+腳本編程完整指南:Unity腳本概覽-控制物體的運(yùn)動(dòng),Unity 3D,游戲開發(fā),Unity 3D游戲開發(fā)+腳本編程完整指南,unity,3d,游戲引擎
圖1-9 腳本中的速度變量顯示在面板中
讀者會(huì)發(fā)現(xiàn)這里出現(xiàn)了一個(gè) Speed 變量,值為 10 ,這就是腳
本中的 public float speed = 10 所帶來的效果。由于在真實(shí)的游戲
開發(fā)過程中有很多參數(shù)需要設(shè)計(jì)師反復(fù)細(xì)致調(diào)節(jié),因此 Unity
認(rèn)將 public 字段直接放在界面上,用戶可以隨時(shí)修改速度,并且
被修改的參數(shù)會(huì)在下一次 Update() 函數(shù)執(zhí)行時(shí)立即生效,也就是
說在游戲運(yùn)行時(shí)也可以隨時(shí)修改參數(shù)并生效。
唯一需要注意的是,如果游戲運(yùn)行前 Speed 的值設(shè)定為 20 ,
運(yùn)行時(shí)改為了 30 ,那么停止運(yùn)行游戲后, Speed 的值會(huì)回到 20
運(yùn)行時(shí)的改動(dòng)都不會(huì)被自動(dòng)保存,需要在調(diào)整時(shí)記下合適的數(shù)
字,停止運(yùn)行后手動(dòng)修改。將參數(shù)顯示到編輯器中還有更多技
巧,將在第 2 章繼續(xù)討論。
教程相關(guān)資源 Unity 3D游戲開發(fā)+腳本編程完整指南(工程文件+PPT).zip

文章來源地址http://www.zghlxwxcb.cn/news/detail-832828.html

到了這里,關(guān)于Unity 3D游戲開發(fā)+腳本編程完整指南:Unity腳本概覽-控制物體的運(yùn)動(dòng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?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)載,請(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ā)(3.5)

    Unity 3D腳本編程與游戲開發(fā)(3.5)

    6.2.8 總結(jié)和拓展 ????????本節(jié)利?Unity官?素材,以有限的篇幅解釋了動(dòng)畫狀態(tài)機(jī)的原理,以及動(dòng)畫制作中最基本但最重要的步驟??偟膩砜?,?前的動(dòng)畫只做了4種狀態(tài)——站?、?、跑和跳躍,還缺少下蹲、下蹲移動(dòng)和落地緩沖等動(dòng)作。好在這些動(dòng)作只是對(duì)現(xiàn)有動(dòng)作的

    2024年04月10日
    瀏覽(28)
  • Unity 3D腳本編程與游戲開發(fā)(3.4)

    Unity 3D腳本編程與游戲開發(fā)(3.4)

    6.2.3 動(dòng)畫的制作步驟 ????????接下來為??配上動(dòng)畫,整體思路分以下3個(gè)部分。?是準(zhǔn)備好單個(gè)的動(dòng)畫素材,包含站?、跑和跳等動(dòng)作。也就是說,把原始素材中的圖?串聯(lián)起來,形成?個(gè)單獨(dú)的動(dòng)畫。?是?Animator把這些單獨(dú)的動(dòng)作有機(jī)地組合起來,形成?張狀態(tài)轉(zhuǎn)移

    2024年04月26日
    瀏覽(24)
  • Unity 3D腳本編程與游戲開發(fā)【4.0】

    Unity 3D腳本編程與游戲開發(fā)【4.0】

    7.2.3 DOTween插件使??法簡介 緩動(dòng)動(dòng)畫既是?種編程技術(shù),也是?種動(dòng)畫的設(shè)計(jì)思路。從設(shè)計(jì)?度來看,可以有以下描述。 ①事先設(shè)計(jì)很多基本的動(dòng)畫樣式,如移動(dòng)、縮放、旋轉(zhuǎn)、變?和彈跳等。但這些動(dòng)畫都以抽象?式表?,?般封裝為程序函數(shù)。 ②動(dòng)畫的參數(shù)可以在使?

    2024年04月09日
    瀏覽(23)
  • Unity 3D腳本編程與游戲開發(fā)(3.2)

    Unity 3D腳本編程與游戲開發(fā)(3.2)

    5.3.4 制作背包界? ????????背包界?是此實(shí)例中的重點(diǎn),因?yàn)樗钠聊贿m配?較有代表性。當(dāng)屏幕?較“瘦?”時(shí),道具列表中能顯?更多道具項(xiàng),?屏幕?較“矮胖”時(shí),顯?的道具項(xiàng)會(huì)變少。但這些都不影響玩家通過下拉滑動(dòng)查看所有道具,如圖5-37所?。 ??????

    2024年04月12日
    瀏覽(43)
  • Unity 3D腳本編程與游戲開發(fā)【3.8】

    Unity 3D腳本編程與游戲開發(fā)【3.8】

    6.4.5 動(dòng)畫層 ????????圖6-42顯?了動(dòng)畫層設(shè)置窗?。在動(dòng)畫狀態(tài)機(jī)?可以添加很多層,層之間可以是覆蓋關(guān)系也可以是疊加關(guān)系,當(dāng)然也可以隨時(shí)屏蔽?些層、啟?另?些層。 每?個(gè)動(dòng)畫層可以有單獨(dú)的設(shè)置,其選項(xiàng)解釋如下。 ①Weight(權(quán)重),本層對(duì)總體動(dòng)畫效果的影

    2024年04月16日
    瀏覽(24)
  • Unity 3D腳本編程與游戲開發(fā)【4.1】

    Unity 3D腳本編程與游戲開發(fā)【4.1】

    7.2.5 后期處理舉例 Post Processing(后期處理)并不屬于特效,但現(xiàn)代的特效表現(xiàn)離不開后期處理的?持。本?節(jié)以眩光(Bloom)為例,展??種明亮的激光的制作?法,其效果如圖7-13所?。 1. 安裝后期處理擴(kuò)展包 ????????較新的Unity版本(如2018.4版本)已經(jīng)內(nèi)置了新版的后

    2024年04月26日
    瀏覽(28)
  • Unity 3D腳本編程與游戲開發(fā)(2.2)

    Unity 3D腳本編程與游戲開發(fā)(2.2)

    3.2.7 修改物理材質(zhì) ????????每個(gè)物體都有著不同的摩擦?。光滑的冰?摩擦?很?,?地毯表?的摩擦?則很?。另外每種材料也有著不同的彈性,橡?表?的彈性?,硬質(zhì)地?的彈性?。在Unity中這些現(xiàn)象都符合?常的理念。 ????????雖然從原理上講,物體的摩擦?

    2024年02月04日
    瀏覽(21)
  • Unity 3D腳本編程與游戲開發(fā)(2.8)

    Unity 3D腳本編程與游戲開發(fā)(2.8)

    5.1.2 矩形變換(Rect Transform)組件 ????????如果選中界?上的控件,讀者會(huì)發(fā)現(xiàn)每個(gè)物體并不帶有基本的Transform組件,取?代之的是Rect Transform(矩形變換)組件。其實(shí)Rect Transform組件是Transform組件的?類,因此并不違反“每個(gè)物體必須有且只有?個(gè)Transform組件”的規(guī)定。

    2024年02月03日
    瀏覽(28)
  • Unity 3D腳本編程與游戲開發(fā)【3.7】

    Unity 3D腳本編程與游戲開發(fā)【3.7】

    ????????在這個(gè)??控制腳本中,可以看到很多新奇的寫法。關(guān)鍵是,為什么要把移動(dòng)量轉(zhuǎn)化為轉(zhuǎn)?量和前進(jìn)量呢?要理解這個(gè)問題,?定要多進(jìn)?游戲測試,體會(huì)轉(zhuǎn)?與輸?的關(guān)系。 ????????當(dāng)???朝前,輸?朝后時(shí),??的前進(jìn)量為0,轉(zhuǎn)?量達(dá)到最?;?當(dāng)??

    2024年04月15日
    瀏覽(23)
  • 用Python做一個(gè)游戲輔助腳本,完整編程思路分享!

    用Python做一個(gè)游戲輔助腳本,完整編程思路分享!

    一、說明 簡述:本文將以4399小游戲《 寵物連連看經(jīng)典版2 》作為測試案例,通過識(shí)別小圖標(biāo),模擬鼠標(biāo)點(diǎn)擊,快速完成配對(duì)。對(duì)于有興趣學(xué)習(xí)游戲腳本的同學(xué)有一定的幫助。 運(yùn)行環(huán)境:Win10/Python3.5。 主要模塊:win32gui(識(shí)別窗口、窗口置頂?shù)炔僮鳎?、PIL(屏幕截圖)、num

    2024年02月14日
    瀏覽(27)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包