五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

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

[學(xué)習(xí)筆記][翻譯搬運]Unity Dots ECS 1.0 github 入門教程

2022-10-30 16:36 作者:白白_可樂  | 我要投稿

https://github.com/Unity-Technologies/EntityComponentSystemSamples/blob/master/DOTS_Guide/ecs_tutorial/README.md

上面是1.0版本入門教程的對應(yīng)鏈接,原文是英文,我使用 Chrome 瀏覽器的插件翻譯為了中文,因此在接下來的截圖畫面中將出現(xiàn)中文.

原文使用的 Unity 版本是2022.2.0b8,不過在我下載2022版本的時候已經(jīng)更新到2022.2.0b10,也是本文使用的 Unity 版本.

本文將主要記錄個人在閱讀學(xué)習(xí)該文章時遇到的問題及心得體會.

不是很建議用2022.2.0b10這個版本,我過程中經(jīng)??ㄋ?

(還會盜一些教程里面的圖哈哈)


在跟隨原文創(chuàng)建了一個 3D URP 模板的項目后,開局就彈了一個 URP 材質(zhì)需要升級的窗口,我們直接升級就是了.

URP版本過低

接下來是安裝 DOTS 包,這一步可能會出現(xiàn)網(wǎng)絡(luò)問題,建議刷新或者切換網(wǎng)絡(luò)環(huán)境.

接下來進入?Edit > Project Settings > Editor 勾選?Enter Play Mode Options


然后創(chuàng)建一系列文件夾:

調(diào)整設(shè)置:

創(chuàng)建場景

創(chuàng)建子場景,命名為?EntityScene:

太長懶得打字,直接截圖了:

移除創(chuàng)建時附帶的碰撞體(Collider).

炮塔旋轉(zhuǎn)

接下來在“Scripts/Systems”文件夾中創(chuàng)建一個名為“TurretRotationSystem.cs”的新文件,復(fù)制代碼:

保存,等待代碼編譯完成,然后 Run 一下:

原文在此處有個筆記:

簡單翻譯一下就是說上文代碼中的 foreach 會旋轉(zhuǎn)所有帶 transform 的東西,我們需要修改代碼以確保代碼僅影響 Turret 這個物體.

退出播放模式

啊我在這兒直接卡了

強退進程重來,這個故事告訴我們一定要勤按 Ctrl+S

在“Scripts/Components”文件夾中創(chuàng)建一個名為“Turret.cs”的新C#源文件,將以下內(nèi)容放入其中:


在“Scripts/Authoring”文件夾中創(chuàng)建一個名為“TurretAuthoring.cs”的新C#源文件,將以下內(nèi)容放入其中:



重建了下Library文件夾,勉強解決了無限Hold on.

我們繼續(xù).

將“TurretAuthoring”組件添加到“Turret”游戲?qū)ο笾?,方法是?TurretAuthoring.cs 文件拖放到 Turret GameObject 上,或者使用游戲?qū)ο髾z查器中的“添加組件”按鈕并找到“Turret Authoring”。


修改文件夾“Scripts/Systems”中名為“TurretRotationSystem.cs”的文件內(nèi)容如下:

再次運行:

退出播放模式

坦克移動

在“Scripts/Components”文件夾中創(chuàng)建一個名為“Tank.cs”的新C#源文件,將以下內(nèi)容放入其中:

在“Scripts/Authoring”文件夾中創(chuàng)建一個名為“TankAuthoring.cs”的新C#源文件,將以下內(nèi)容放入其中:

將“TankAuthoring”組件添加到“Tank”游戲?qū)ο?

在“Scripts/Systems”文件夾中創(chuàng)建一個名為“TankMovementSystem.cs”的新C#源文件,將以下內(nèi)容放入其中:


Run!

制作炮彈

在“Scripts/Components”文件夾中創(chuàng)建一個名為“CannonBall.cs”的新C#源文件,將以下內(nèi)容放入其中:

在“Scripts/Authoring”文件夾中創(chuàng)建一個名為“CannonBallAuthoring.cs”的新C#源文件,將以下內(nèi)容放入其中:

在 Hierarchy 窗口中右鍵單擊“SampleScene”,選擇GameObject > 3D Object > Sphere并將新的 GameObject 命名為“CannonBall”。將其位置設(shè)置為 (0,0,0),旋轉(zhuǎn)設(shè)置為 (0,0,0),縮放設(shè)置為 (0.2,0.2,0.2).

將“CannonBallAuthoring”組件添加到“CannonBall”游戲?qū)ο?

從“CannonBall”游戲?qū)ο笾幸瞥癝phere Collider”組件.

將“CannonBall”游戲?qū)ο笸戏诺巾椖看翱谥械摹癙refabs”文件夾中.

從“SampleScene”中刪除“CannonBall”游戲?qū)ο螅ìF(xiàn)在是一個預(yù)制體實例).


修改文件夾“Scripts/Components”中名為“Turret.cs”的文件內(nèi)容如下:



修改文件夾“Scripts/Authoring”中名為“TurretAuthoring.cs”的文件內(nèi)容如下:


選擇“Turret”游戲?qū)ο?,并將“Turret Authoring”組件的新字段“CannonBallPrefab”和“CannonBallSpawn”分別設(shè)置到Project文件夾中的“CannonBall”預(yù)制件(拖放)和“SpawnPoint”游戲?qū)ο螅◤腍ierarchy窗口拖放)


在“Scripts/Aspects”文件夾中創(chuàng)建一個名為“TurretAspect.cs”的新C#源文件,將以下內(nèi)容放入其中:

在“Scripts/Systems”文件夾中新建一個名為“TurretShootingSystem.cs”的C#源文件,將以下內(nèi)容放入其中:


Run!

炮彈移動

在“Scripts/Aspects”文件夾中創(chuàng)建一個名為“CannonBallAspect.cs”的新C#源文件,將以下內(nèi)容放入其中:

進入游戲模式,炮彈現(xiàn)在正在遠離坦克并在地面上彈跳:


放置多個坦克

將“坦克”游戲?qū)ο髲摹癊ntityScene”拖放到項目窗口中的“Assets/Prefabs”文件夾中.

從“EntityScene”中刪除“Tank”游戲?qū)ο螅ìF(xiàn)在是一個預(yù)制體實例).

在“Scripts/Components”文件夾中創(chuàng)建一個名為“Config.cs”的新C#源文件,將以下內(nèi)容放入其中:


在“Scripts/Authoring”文件夾中創(chuàng)建一個名為“ConfigAuthoring.cs”的新C#源文件,將以下內(nèi)容放入其中:

在 Hierarchy 窗口中右鍵單擊“EntityScene”,選擇Create Empty并將新的 GameObject 命名為“Config”.

將“ConfigAuthoring”組件添加到“Config”游戲?qū)ο?

選擇“Config”游戲?qū)ο螅瑢⑿伦侄巍癟ankPrefab”設(shè)置為 Project 文件夾中的“Tank”預(yù)制件(拖放),將“TankCount”設(shè)置為 20,將“SafeZoneRadius”設(shè)置為 15.


“SafeZoneRadius”尚未使用,但與后續(xù)步驟相關(guān)。

在“Scripts/Systems”文件夾中創(chuàng)建一個名為“TankSpawningSystem.cs”的新C#源文件,將以下內(nèi)容放入其中:

如果您此時進入游戲模式,您可能會驚訝地看到只有一個坦克.實際上有 20 輛坦克,但它們都在相同的位置生成并以完全相同的方式移動.

修改文件夾“Scripts/Systems”中名為“TankMovementSystem.cs”的文件內(nèi)容如下:

然后就可以Run了:

給坦克和炮彈上色

找到我們的坦克(Tank)預(yù)制體,給Tank,Turret以及Cylinder添加?URPMaterialPropertyBaseColor組件,這個時候我們就可以得到全黑的坦克啦.


修改文件夾“Scripts/Systems”中名為“TankSpawningSystem.cs”的文件內(nèi)容如下:


如果這個時候播放,就可以得到隨機顏色的坦克了.

修改文件夾“Scripts/Authoring”中名為“CannonBallAuthoring.cs”的文件內(nèi)容如下:


修改文件夾“Scripts/Aspects”中名為“TurretAspect.cs”的文件內(nèi)容如下:


修改文件夾“Scripts/Systems”中名為“TurretShootingSystem.cs”的文件內(nèi)容如下:


現(xiàn)在再播放,子彈也上色了.

安全區(qū)

在“Scripts/Components”文件夾中創(chuàng)建一個名為“Shooting.cs”的新C#源文件,將以下內(nèi)容放入其中:


修改文件夾“Scripts/Authoring”中名為“TurretAuthoring.cs”的文件內(nèi)容如下:

在“Scripts/Systems”文件夾中創(chuàng)建一個名為“SafeZoneSystem.cs”的新C#源文件,將以下內(nèi)容放入其中:

修改文件夾“Scripts/Systems”中名為“TurretShootingSystem.cs”的文件內(nèi)容如下:

確保在視圖選項中啟用了 Gizmo,否則您將看不到白色圓圈。

相機跟隨

在“Scripts/MonoBehaviours”文件夾中創(chuàng)建一個名為“CameraSingleton.cs”的新C#源文件,將以下內(nèi)容放入其中:

將“CameraSingleton”MonoBehaviour 添加到“SampleScene”中的“Main Camera”游戲?qū)ο?

在“Scripts/Systems”文件夾中創(chuàng)建一個名為“CameraSystem.cs”的新C#源文件,將以下內(nèi)容放入其中:

進入播放模式,查看 Game 視圖(而不是之前的 Scene 視圖),并注意相機正在跟隨其中一輛坦克。確保 Game 視圖具有輸入焦點(單擊它),然后反復(fù)按空格鍵。相機每次都應(yīng)該切換到另一個隨機坦克。

結(jié)束


[學(xué)習(xí)筆記][翻譯搬運]Unity Dots ECS 1.0 github 入門教程的評論 (共 條)

分享到微博請遵守國家法律
威宁| 新宾| 青川县| 怀化市| 汨罗市| 泰州市| 雷山县| 皋兰县| 康乐县| 隆子县| 聂荣县| 长垣县| 闻喜县| 江阴市| 巴里| 漳浦县| 富蕴县| 托里县| 柘城县| 泰顺县| 大同县| 平远县| 桦川县| 望谟县| 三穗县| 宁城县| 武宁县| 云龙县| 乐山市| 保亭| 读书| 化隆| 清涧县| 滦南县| 肇州县| 新余市| 长宁区| 通渭县| 金阳县| 从江县| 枣阳市|