最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

unity入門基礎(chǔ)操作

2022-08-16 21:59 作者:元宇宙-秩沅  | 我要投稿

那么在這里小編其他的話就不說了直接步入主題:

本次入門學習分為以下幾個步驟:

1.五大主要面板

2.基本操作和組件介紹

3.控制3Dobjectk物體運動

4.相機的實時跟隨

5.預制體的設(shè)置(標簽,旋轉(zhuǎn)效果)

6.碰撞器,觸發(fā)器及其腳本

7.UI幕布

一.五大主要面板

1.Project面板(工程面板)---里面主要包含插件




以上的文件包含物體的材質(zhì),腳本,插件等有關(guān)場景中的一切

2.Hierarchy面板---顯示當前場景有哪些事物。

初始場景中只有:MainCamra相機和DirectionalLIght燈光

3.Inspector面板(檢視面板)-----查看物體有哪些組件組成的

4.Scene面板(場景面板)

5.game面板(游戲面板)。=

二.基本操作和組件介紹

1.基本操作

如上圖所示 (1)拖拽 (2)移動 (3)旋轉(zhuǎn) (4)大?。?)2d大?。?)旋轉(zhuǎn)+移動+大小

分別對應(yīng)快捷鍵 Q,W,E,R,T,Y

2.基本組件介紹

首先在Hierarchy面板中右鍵選中- 3Dobject創(chuàng)建一個3d模型

1.物體的基本組件(在Inspector面板中):
(1)Transform -----位置和大小

(2)Mesh Renderer--渲染控制顯示

(3)Mesh collider---碰撞器

(4)Mesh Filter-----網(wǎng)格

三.控制3Dobjectk物體運動

首先創(chuàng)建一個地面在Hierarchy面板中右鍵-3dobject-pian創(chuàng)建一個地面,然后右鍵-3dobject-cube創(chuàng)建一個正方體。

1.添加剛體

在inspecter面板中點擊 add component 在搜索面板中輸入Rigidbody(剛體),代表此時物體有了物理信息,重量質(zhì)量等等,此時你若將正方體上移脫離地面然后按下如下圖所示的執(zhí)行按鈕,你會發(fā)現(xiàn)物體做自由落體運動并且停止到地面上

2.控物體運動

(1).操作介紹

那么這個時候我們得寫腳本了(c#代碼),首先點擊Add component 然后移到最下方點擊 New script(新腳本),輸入自定義腳本名稱,此時我們可以輸為sport,按下creat and add ,你會發(fā)現(xiàn)在,project中會出現(xiàn)如下:

點擊 ,然后他會打開VS(前提自己安裝vS2019社區(qū)版--個人推薦 ),以下是自動出現(xiàn)的基本代碼模板,start的方法只運行一次,但是Update是大概每秒60次,也就是一直在運行

(2) 腳本代碼

using System.Collections; using System.Collections.Generic; using UnityEngine; public class sport : MonoBehaviour { ? ?public Rigidbody cube;//創(chuàng)建剛體對象 ? ?// Start is called before the first frame update ? ?void Start() ? ?{ ? ? ? ?cube = GetComponent<Rigidbody>();//Cube得到剛體組件(方法) ? ?} ? ?// Update is called once per frame ? ?void Update() ? ?{ ? ? ? ?float a, b, c; ? ? ? ?//內(nèi)置方法可在Edit- projectsettings -Axis中查看 ? ? ? ?a = Input.GetAxis("Horizontal");//按ws或者上下方向可以向前前后移動 ? ? ? ?b = Input.GetAxis("Vertical"); ?//按ad或者左右方向可以向左向右移動 ? ? ? ?c = Input.GetAxisRaw("Jump"); ? //按一直空格可以飛行跳躍 ? ? ? ?cube.AddForce(new Vector3(a, c, b) *10 ); ? ? ? ?// Addforce也就是給cube添加一個力 Vector是它的三維方向軸 ? ? ? ?//所以按wsad和空格 可以對物體在不同的方向產(chǎn)生不同的力從而達到運動的作用 ? ? ? ?//乘上10是為了加快它的速度 ? ?} }

然后Heritchy按ctrl+s 保存再切換到unity,點擊Hierarchy面板的cube再將在Inspecter面板中Rigidbody拖到Script中(賦予對象),如下圖有有綠色的剛體物件顯示,然后點擊運行,就可以實現(xiàn)物體基本的運動了

四.相機的實時跟隨

若想實現(xiàn)實時相機畫面跟隨物體運動那么見如下步驟:

1.基本操作介紹

首先點擊Hierarchy面板中的Main camera,再看到Inspector面板點擊add Component ,按照上文介紹過的操作,創(chuàng)建一個腳本自定義命名(followsight),生成后打開編輯,代碼如下。

2.腳本代碼

using System.Collections; using System.Collections.Generic; using UnityEngine; public class followsight : MonoBehaviour { ? ?public Transform ?cube; //創(chuàng)建跟隨對象 ? ?private Vector3 offset; ? ? ? ?//偏移視角 ? ?// Start is called before the first frame update ? ?void Start() ? ?{ ? ? ? ?offset = transform.position - cube.position; ? ? ? ?//記錄初始相機到物體的三維差 ? ?} ? ?// Update is called once per frame ? ?void Update() ? ?{ ? ? ? ?transform.position = offset + cube.position; ? ? ? ?//此時相機的位置就一直跟著cube的位置變化而變化 ? ? ? ?//那么此時物體和相機就成了形影不離的整體 ? ?} }

然后按ctrl+s 保存再切換到unity,點擊Hierarchy面板的Main camera再將Hierarchy面板中的cube物體拖到在Inspecter面板中Script中(賦予對象),如下圖。這樣就可以實現(xiàn)相機的實時跟隨了。

因文段過長不便觀看,后三節(jié),請點擊小編主頁觀看~!

五.預制體的設(shè)置

1.介紹:

什么是預制體?預制體你可以理解為NPC,野怪,地鐵跑酷里面的金幣,那么接下來,小編將創(chuàng)建是Tag(標簽)為Food的預制體,將實現(xiàn)實現(xiàn)cube觸碰到它后食物消失,形成,吃掉食物的效果

2.創(chuàng)建預制體(添加標簽相當于將其分類,方便系統(tǒng)識別,和自身梳理)

首先在Project面板創(chuàng)建自定義命名prefabs(預制體)文件夾,后在任意在hierarchy面板創(chuàng)建一個3Dobject物體,在Inspector面板點擊Tag將untagged換成add Tag,然后點擊+號,添加自定義tag(標簽),此時我們添加一個自定義為food的標簽,退出后再選擇。

之后我們將位于Hierarchy面板的food對象拖拽至prefabs的文件夾中,此時物體的圖標會變藍,之后我們可以在它Inspectors面板的transform組件中改變它的大小或位置,(當然按R也可以)然后按住ctrl+d進行預制體復制

此時為了方便梳理,我們可以創(chuàng)建一個空物體(右鍵creat +creatempty),然后按住shift進行多項選擇,將其一起拖拽進空物件中,并可以將,空物件命名為env(環(huán)境),這樣預制體的基本創(chuàng)建就完成了

六. 碰撞器,觸發(fā)器及其腳本

1..讓預制體運動(旋轉(zhuǎn))

?那么此時我們的創(chuàng)建一個腳本,腳本代碼如下:using System.Collections;using System.Collections.Generic;using UnityEngine;public class rotate : MonoBehaviour{ ? ?public float speed=5; ? ?// Start is called before the first frame update ? ?void Start() ? ?{ ? ? ? ? ? ?} ? ?// Update is called once per frame ? ?void Update() ? ?{ ? ? ? ?transform.Rotate(Vector3.forward * speed); ? ? ? ?//rotate是旋轉(zhuǎn), 那么forward是向前當然可以選其他方向,然后可以看到我定義了一個speed, ? ? ? ?//那么這個speed也就是速度的意思可以在Inspector面板中的script組件中修改speed的值 ? ?}}

為了方便觀看我們給物體都添加個色彩,在Project面板中創(chuàng)建一個存放材質(zhì)的自定義文件夾,然后創(chuàng)建Material(右鍵-creat-Material)材質(zhì),然后在右邊Inspector面板調(diào)色后推拽到物體身上,如下圖:

2.碰撞器,觸發(fā)器《主體碰到預制體消失(實現(xiàn)吃食物的代碼)》

1.首先我們得在Inspector面板看到box collider碰撞器組件,然后勾選is tigger 讓其從碰撞器變成觸發(fā)器(當然觸發(fā)器也是碰撞器得一種),勾選注意不要給prefabs預制體添加剛體組件,不然它會掉下去,因為此時它沒有了碰撞效果,任何物體經(jīng)過它后會穿透

2.添加觸發(fā)腳本

using System.Collections;using System.Collections.Generic;using UnityEngine;public class chufa : MonoBehaviour{ ? ?// Start is called before the first frame update ? ?void Start() ? ?{ ? ? ? ? ? ?} ? ?// Update is called once per frame ? ?void Update() ? ?{ ? ? ? ? ? ?} ? ?// private void OnCollisionEnter(Collision collision)//這個是碰撞器方法,enter意味著發(fā)生碰撞接觸時會發(fā)生什么 ? ?//private void OnCollisionEnter(Collision collision)//這個是停留時會發(fā)生什么 ? ?//private void OnCollisionExit(Collision collision)//那么這個就是離開時會發(fā)生什么 ? ?//此時我們是接觸器如下 ? ?private void OnTriggerEnter(Collider other)//接觸時 ? ?{ ? ? ? ?if(other.gameObject .tag =="food")//當接觸的物體它的trandform組件中的tag標簽是food時執(zhí)行 ? ? ? ?{ ? ? ? ? ? ?Destroy(other.gameObject ); ?//此時讓食物物體對象消失 ? ? ? ?} ? ?}}

7.UI幕布

不管添加要顯示在幕布上的什么組件。添加時幕布只有一個

1.幕布中添加文字

右鍵+UI+lagacy+Txet,則會出現(xiàn)以下:物體中間出現(xiàn)文字,當然幕布是透明的,

如果此時你想更改文字的位置,大小顏色的話 ,看到inspector面板的txet框框,在character中可以改變字體字樣,大小,那么在Rect Transform組件中點擊center選擇位置,則可以實時固定字體的位置,意思是不管畫面怎么移動,字體在屏幕上的位置不會改變。

此時小編將其放到了右下角,并且修改為hello unity、

2.添加照片

首先將你的照片電腦文件夾中拖拽到project面板中,然后單擊它后看到Inspector面板,將Texture Type改成Sprite(2d and ui),之后點擊屏幕,他會彈出一個提示框,點擊框中的Apply,

然后在Hierarchy面板中在canvas對象位置右鍵+UI+image,創(chuàng)建一個幕布圖片組件,然后看到右邊Inspector面板中的image組件,將Souce image 從None 換成上面已經(jīng)弄好的ui材料,

此時你即可看到屏幕中出現(xiàn)的畫面,那么跟文字一樣,將其改變大小,位置,實時固定

3.添加視頻

首先你得在Project面板創(chuàng)建一個渲染材質(zhì)右鍵+creat+Reader texture,將其移到在幕布中新創(chuàng)建得位于Inspector面板的Raw iamge 的組件中,然后再按 Add component添加 Vidio player組件,然后點擊source選擇視頻文件。

4.添加激活物體腳本

作用在當你吃完食物之后,要顯示勝利的畫面,那么上面的UIxai顯示就是為此,那么此時你的先將其隱藏,然后通過腳本代碼,吃完全部的食物后激活。

腳本如下:

using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;//涉及UI時需要加上這個命名空間public class chufa : MonoBehaviour{ ? ?// Start is called before the first frame update ? ?public float socrce = 0; //定義一個分數(shù)值讓他初始值為0 ? ?public GameObject ui; //創(chuàng)建要激活的對象gameobjet類型 ? ?void Start() ? ?{ ? ? ? ? ? ?} ? ?// Update is called once per frame ? ?void Update() ? ?{ ? ? ? ? ? ?} ? ?// private void OnCollisionEnter(Collision collision)//這個是碰撞器方法,enter意味著發(fā)生碰撞接觸時會發(fā)生什么 ? ?//private void OnCollisionEnter(Collision collision)//這個是停留時會發(fā)生什么 ? ?//private void OnCollisionExit(Collision collision)//那么這個就是離開時會發(fā)生什么 ? ?//此時我們是接觸器如下 ? ?private void OnTriggerEnter(Collider other)//接觸時 ? ?{ ? ? ? ?if (other.gameObject.tag == "food")//當接觸的物體它的trandform組件中的tag標簽是food時執(zhí)行 ? ? ? ?{ ? ? ? ? ? ?Destroy(other.gameObject); ?//此時讓食物物體對象消失 ? ? ? ? ? ?socrce++; //吃到一個食物得到一分 ? ? ? ?} ? ? ? ?if(socrce == 4.0F) //F是float的后綴當吃到四個食物時就激活勝利信息 ? ? ? ?{ ? ? ? ? ? ?ui.SetActive(true);//setActive就是激活true就是實現(xiàn)按鈕 ? ? ? ?} ? ?}}


那么這就是本次的全部內(nèi)容啦,有收獲的朋友請點個支持再走吧


unity入門基礎(chǔ)操作的評論 (共 條)

分享到微博請遵守國家法律
佛冈县| 修武县| 稻城县| 伊川县| 东乡族自治县| 晋宁县| 濉溪县| 广宁县| 修水县| 墨江| 沙田区| 犍为县| 虹口区| 南通市| 嘉峪关市| 旅游| 湘乡市| 淮滨县| 汽车| 万州区| 石棉县| 集安市| 宝兴县| 溧阳市| 榆社县| 讷河市| 宜良县| 朝阳市| 腾冲县| 崇明县| 文山县| 逊克县| 林芝县| 闸北区| 德惠市| 定结县| 通许县| 汝州市| 蒙阴县| 琼海市| 商城县|