2017-04-16 38 views
2

我在3D編程/遊戲開發領域還很新。我在MonoDevelop中使用Unity,主要使用Blender製作的模型,紋理等。編程邏輯是用C#完成的。使用Unity 3D時有任何限制嗎?

我的主要問題是:Unity有沒有一切可能?我知道,這是一個很寬泛的問題,但「一切」我的意思之類的東西幾乎所有的3D遊戲(或也2D遊戲)擁有時下,一些例子:

  • 片頭/過場動畫(如達到在地圖上的特定點)
  • 主菜單/菜單配置/動畫菜單組件
  • 配置的聲音/圖形選項
  • 多個地圖/場景,加載地圖/場景/遊戲的需求
  • 聲音效果的對象,背景音樂

對不起,我知道這是一個廣泛的問題,但我不能擺脫在Unity中我「無法做到我想做的一切」的感覺(如果您知道什麼我的意思是)。

例如,我可以寫遊戲如Call of Duty MW2或Super Mario 64與Blender/Unity完全兼容? (我知道那些可能使用他們自己的遊戲引擎等等,但我的意思是基本上所有組成遊戲的遊戲)。

或者其他方式,誰能說「哦,這是一個好主意,但你不能用Unity實現」或類似的東西。如果是,爲什麼?

謝謝!

+0

https://madewith.unity.com/希望它會告訴你什麼與團結?實際上,你可以與團結 –

回答

0

(我不能發表評論,以低REP)

我可以說,在4年使用Unity我從未有過不能夠創造的東西,我想的想法的(雖然我必須爲事情做一些解決方法)。現在團結如此廣泛,你可以想象一個功能,它存在。

我目前正在與多人遊戲的一個學校項目,並努力工作。我知道的唯一限制是其他引擎速度更快,(對於某些人)更易於使用。而且我知道一個人在哪裏編寫遊戲大約需要30秒。哪個不太好。但他的代碼也很垃圾。

你可以試着想想一個你想構建的遊戲或示例。這將有助於回答這個問題。

+0

謝謝你的回答!我在上面的問題中提到了兩個例子游戲。這些只是關於菜單,過場動畫,資產加載,遊戲玩法,保存/加載遊戲狀態等的示例。 – Sebastian

+1

至於modding,我知道Unturned(殭屍射擊遊戲)也是由Unity製作的。他們有MOD支持,所以你可以試着看看他們是如何做到的。 – NLxDoDge

6

我敢說沒有遊戲真的不可能在Unity編寫。有些事情很難或不可行,但讓我們從你的小列表開始。

  • 前奏/過場:目前這是一個小手冊。您可能需要編寫一些C#代碼來控制GameObjects和Camera上的一組動畫。我會說很難,不是不可能的。另一種方法是使用Cinema Director(資產倉庫),或等待,直到統一發布Timeline(以前稱爲主任,只是那種東西了一個新特性; d)

  • 主菜單:這將是容易的。自從v4.6開始,Unity有一項名爲Canvas的功能。很容易製作菜單(甚至是動畫)。

  • 聲音和圖形選項:不是我的部門,但我相信你想要的是Unity Quality settings。它們允許您創建一些預定義的圖形設置,以便用戶可以在它們之間進行選擇。另外,在編寫着色器ShaderLab(統一的着色器語言)時,您可以根據您的播放器所具有的圖形卡告訴Unity應該如何表現。

  • 多個地圖/場景,載入地圖/場景/遊戲對象點播:對於內容點播有AssetBundles。從來沒有真正使用過它們,但總體思路就是:將文件中的一些資源分組,並讓遊戲下載它,加載資源並在遊戲中使用它們(如DLC)。如果您打算將代碼存儲在其中,您可能會遇到一些困難,但同樣,這不是不可能的。

  • 音效,背景音樂:呃...你有我。你可能想看看Unity的Audio Mixer,但那是我從未真正看過的東西。 (理論上它也很容易,我看到我的同事音頻所有的工作時間)

統一幾乎可以做任何你想要用一個小團隊做任何事情。如果你偶然發現一些你不能做的事情,我會建議尋找資產商店,因爲很可能有其他人已經有這個問題。

現在,什麼團結不能做:

團結是一個遊戲引擎設計,以適應大多數人的需求。因此,如果您的遊戲需要複雜而繁重的計算,它有時會面臨效率問題。但是,如果你有團結的話,你可能也會在別處有他們。這裏的另一個選擇是將重量級的東西寫在統一之外的dll中。無論如何,Unity中的大部分效率問題都可以通過良好的編程實踐和一些C#知識來糾正。

修改支持。我認爲這是目前統一的最大缺口。有很多來自社區的嘗試,但沒有一個通用的解決方案將始終有效。如果你打算製作一個可修改的遊戲,你可能不得不閱讀很多東西,修改代碼並自己寫很多東西。但是,這不是不可能的。人們已經做到了,你也可以做到。

圖形技術 Unity4在AAA遊戲通常具有的渲染技術方面存在很多空白,但Unity5很好地適應了它,幾乎涵蓋了其他任何現代引擎支持的任何東西。 (糾正我,如果我是錯誤的傢伙)在unity5中有幾個這些限制。

團結中的大部分限制都會影響到我,尤其是編輯器相關的問題,並非真的不可能解決。


如果我記得什麼,我會在這裏編輯它。


+0

我雖然誤解了我的第四點「多個地圖/場景,按需加載地圖/場景/遊戲對象」。我沒有考慮DLC和東西,而是加載了新的GameObjects等等,這些都是你需要的。在播放時切換地圖(所以我假設你需要加載地圖/角色和其他遊戲對象)。因爲我不認爲你會在遊戲開始時加載整個遊戲對象/關卡/地圖,或者你會? – Sebastian

+0

嗯。我假設你知道團結允許你創建單獨的場景。當你調用UnityEngine.SceneManagement.SceneManager.LoadScene(sceneNameOrIndex)時,它將開始加載新的關卡,並將其中的所有內容廢棄。由於可能需要一段時間才能加載所有內容,因此還有一個異步版本(不會立即廢棄舊場景)。如果你希望將某個對象從一個場景持久保存到另一個場景(比如某些玩家的得分,任務信息等),你可以在Awake()中添加一個對'DontDestroyOnLoad(gameObject)'的調用。 這次我做對了嗎? –

+0

也許你的意思是[預製實例化](https://docs.unity3d.com/Manual/InstantiatingPrefabs.html)隨需加載GameObjects。 –

2

Unity是一個非常通用的引擎。 如果您指定的所有內容都使用Unity的默認引擎,或者某些插件也可用,那麼您可以最大限度地做到最多。

過場動畫

你可以寫在C#代碼編輯您的過場動畫,這一切都取決於你要確保你的電影的質量水平。

主菜單

你可以得到角落找尋與團結的默認安裝繳費的工具創建菜單和其他的HUD輕鬆,格外的「畫布」遊戲對象進行的HUD工作正常,和負載菜單像其他任何在遊戲場景

聲音

聲音編輯,團結是相當不錯的,沒有那麼多創造聲音,但配置他們將如何重現遊戲

地圖

地形編輯器真的很強大,你也可以從資產存儲導入的資產包,也有關於如何使自己的地圖,讓你感動在YouTube上好看的視頻,還許多像着色器,風工具和地形

如果你正在尋找更強大的圖形和更逼真也許團結是不是你要找的工具,虛幻填補更多的空白,但你必須學習C++ ,編輯的主要lenguaje。你第一次,Unity是一個非常堅實的選擇