Unity和UE4开发VR的优劣_第1页
Unity和UE4开发VR的优劣_第2页
Unity和UE4开发VR的优劣_第3页
Unity和UE4开发VR的优劣_第4页
Unity和UE4开发VR的优劣_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

#/7轻量级,安装、调试和打包方便配置VR项目十分简单学习成本低,文档完善开发成本低UI系统在PS4上调试方便,有批处理文件可以一键运行AssetStore提供了一些VR下的Demo作为参考Unity的劣势:内建工具不够完善渲染差,光照系统糟糕,阴影bake有bug,只能勉强达到2A游戏入门水平对于控制器支持较差,一些如手柄震动、VR控制器空间定位的功能引擎未集成,需要第三方插件或额外代码没有材质编辑器,需要第三方插件Prefab不支持继承没有xx的LevelStream支持Unreal的优势:画面效果完全达到3A游戏水准光照和物理渲染即便在缩水的状况下也足以秒杀Unityxx系统,从此策划不用再写代码强大的材质编辑器各种官方插件xx对于手柄、VR控制器支持良好提供各种游戏模版,用来做原型配合Blueprint甚至比Unity更快Unreal的劣势:C++如果要开发PS4游戏需要重新编译引擎,12核服务器,24线程编译大概需要20-30分钟如果需要重新编译引擎,光拉代码就需要至少一个小时创建新项目大概又要编译十多分钟如果切换平台,要编译几千到上万个shaderPS4部署不方便,打包编译同样非常久学习成本高,各子模块功能强大但操作复杂部分功能没有任何文档,已有功能的文档同样不够完善,不如Unity开发成本高,某国内3A团队做了个10分钟的VRDemo,据说已经烧了一千多万UI设计器非常之难用VR下的一些bestpractice同样缺乏文档和例子,目前都在摸石头过河Buuuuuuuuuuug我觉得写了这么多结论已经很明显了:小团队没钱追求快速出效果,对画面要求不高的项目用Unity。中大团队不差钱,买得起Unreal技术支持,分工明确有专人填坑,对画面要求高的项目用Unreal。这里还有一篇老外写的关于Unity和Unreal的文章,建议阅读:ExtroForgeTheSwitchfromUnity3DtoUnrealEngineAHighLevelDecisionLetmestartoffbysayingthatI(andotherteammembers)arestillHUGEfansofUnity.SeveralofusontheteamhavebeenusingUnitysincev3.Xdays(includingProlicenses)andCONTINUEtouseitforvariousprojects.IfIwasstartingamobileprojecttoday,IwouldstillreachforUnity.WemadeaLOTofprogressonprotypingExtroForgewiththeUnityengine.Hugeswathsofgameplayelementswereengineeredandintegrated.WethrivedwiththerichvarietyofAssetStorepackagesavailabletousaswellastheYEARSofonlineposts,blogsandtutorials.Withatleasttwo15-yearsoftwareengineeringprofessionalsontheteam,wewereefficientandproficientunderUnity.image08Thefirstiterationwaslessthanimpressive.Extremelylimited(missing?)documentationandoddball(buggy?flaky?)performance.Simplereplicationofananimatedmodel(location/rotation)waseithernon-functionalorsuper-laggy.Weexperimented.Wereadforumposts.Wewaited.TherewerenoofficialUnitytutorials.SomeofthepeoplethatWEREmakingtutorialvideosthatwefollowedactuallygaveupanddecidedtowaituntilfuturereleases.ThentheUnityroadmapwaspublished.WiththeimplementationofthestandalonesimulationserverpushedouttoMarchof2016(plussomeotherelementsundefined),wedecidedtolookatotheroptions.WhatapleasantshockitwastofireupUnrealforthefirsttimewithastarterprojectandseethatlittlesidemenunexttothe“Play”buttonthatallowedyoutoauto-startnotjustadedicatedserver,butalsoasmany‘additional'playerclientsasyouwantedto.Itwasmultiplayernirvana.NotethatthiswasnotSOLELYadecisionbasedonmultiplayerfunctionalitybuiltintotheengine.Wehavestruggledforsometimetogettheworld/terrain/foliage/watertolookthewaywewanted.OurTeam/Studioleadwhowasresponsibleforthelookandfeeldecidedtolookatsomeothergameenginestoseehowquicklyhecouldachievethedesiredresults(ourUnityresultseitherlookedtoocartoonishortoo“claylike”).image09C#versusC++versusBlueprints...ohmy.Yeah-notsomuch.image02Oneseniorteammemberhadalreadystartedwiringupsomeblueprintfunctionality-addingtotheskeletonfirstpersoncharacterBPthatwastiedtotheC++classesIhadbeenworkingon.Creatinglittleboxes.dragginglittlewires..allthecolors!!!Iwasfascinated.Mostofitwasinput/controlsrelatedaswellasGUI/UIstuff-elementsIfiguredwereprobablythebestuseforBlueprints.IstartedmyforayintoblueprintsmyselfwasforMateriallogic.IwasAMAZEDatthestuffwecouldeasilydoinsecondsinamaterialblueprintthatwouldhavetaken..DAYSwritingshadercodeinUnity.Itwaseasy,itwasfast,anditwas(dareIsayit)satisfyinglyFUN.WhilemycoderemainedfirmlyinC++land,weslowlylearnedtoexposevariablesfromtheC++sidesotheycouldbeaccessedfromtheseinput/UIblueprintsasneed(stillhaven'tdeterminedifyoucanaccessaBPvariable/functionfromC++side-butitlookslikeitispainful).IlearnedthatIcouldcreatemycriticalsettingsandinitializearraysofimportantgameelementsinC++(whereitwassafeinanon-binary-corruptiblefile)andexposeitintobeusedasnecessaryinBlueprints.Sortof.Sointerestinglyenough..enumsarenowthebaneofmyexistence.Iloveenums.BeenahugefansincebeforethedawnoftimeandhaveusedthemineveryhighlevellanguagesinceIwasaweeengineer.AssetManagementUnityassetmanagementisaverymaturebeast.Dragafileintotheeditor,copyafiletotheAssetsfolder-itjustworked.Moveassetsaroundtodifferentdirectories-justdraganddrop.Thepackageimport/exportfunctionality(someflakydeterminationofdependenciesaside)wastopnotch.Therewereevenenginefunctionsexposed(througheditorscripts)thatallowedyoutocodeallsortsofneato-whizbangcustomlogictomanageyourimage05resources.OurexperienceswithUnreal,howeverweresomewhatpainful.Someofthiswasduetoignorance/inexperienceonourpart-butsomeisstillamystery.Tryingtomigratecontentfromoneprojecttoanother-withdifferentdirectorystructuresprovidedmanywastedhours.Tryingtomigrate(usingthetoolsUnrealprovided)BlueprintsbasedonC++classeswasanunmitigateddisaster.C++classescan'tbemigrated-youhavetocopyonyourown-butshouldyouneedtochangeclassnames(wemigratedfromaprojectwherethewewantedtorenametheautogeneratedcharactercontrollerclasses)themigratedblueprintsarepermanentlycrippleddotoun-changeablereferencestotheoriginalclass.Movingcontent(in-editor)betweenfolderswasalsoaseverepainpoint-Unrealwouldexplicitlyleavecopiesoffilesbehindoremptysubfoldersandallsortsofreferenceswouldgetbroken(someun-fixable).Wegotburnedsomuchbythatlastissue,wesimplytryNOTtomovecontentaround-beingextremelycarefulwhereweplaceitemsfromtheverybeginning.Tobefair,Unity'scritical‘assetdatabase'COULDgetcorruptedandwhenitdid,youwereinforaloongperiodofre-importingalltheassets.ButUnitydidthisallautomatically(detectingitsowncorruptionandfixingitself)-whereasanydetectionofissuesorfixingisdonemanuallyinUnreal.AsfarastheUnityAssetStoreversustheUnrealMarketplaceisconcerned-it'ssimplyamatterofmaturity.Unityhashadyearstobuildupalargeandthrivingstorefilledwithbothfree/inexpensiveandpricyassets(ofvaryingquality).AsanauthorofseveralUnitystoreassets,Iwashappywiththecontentcreationandsellingprocess(andmostimportantlypayout).FindingandimportingnewcontentinUnitywasfairlypainless.TheUnrealmarketplaceismostassuredlysmallerMuchsmaller.Tinyeven.Andthe‘average'priceforcontentishigher.Nodoubtaboutit.We'vehadnoexperienceyetwithselling(orevenbuying)assetsonthestore,usinginternallycreatedassetsorstartercontentasnecessary.ProceduralmeshmanipulationUnityprovidedtheabilitytomanipulatemeshdata(creatingfromscratchormanipulatingafterthefact)outofthebox.Vertices,vertexcolors,Uvs-itwasallaccessibleandwelldocumented.Overtheyears,Iuseditforcountlessreasons-terraindeformation,meshdestruction/fracturing,andinExtroForge,ourvoxelconstructionenginerequiredit.Itworkedwell,itwasfastanditwasubiquitous.LightingUnrealaddsanincrediblenumberofopenworldlightingtoolstoourarsenal.Yes,UnityrolledoutwithrealtimeglobalilluminationviatheEnlightenengine,butit'sstilllimitedforanopenworldwherestructuresarebeingaddedandremovedallthetime.Whatwereallybenefitedfromwasthedistancefieldambientocclusion,andtherealtimeindirectlightingvialightpropagationvolumes.Lookingintothedistance,thingsinUnitytendedtolookflat.Adistantmountainshouldcastashadowonthevalleybelow,butwithUnitywejustcouldn'tachievethatwithoutaninsaneshadowdistance.HighresScreenshot00218UnrealEnginehadasolutionforthatthat.Distancefieldshadowsandambientocclusionaredesignedtoshadefarawaythingsinanapproximatedkindofwaythatlooksperfectfromfaraway.Wereallywereabletogetthelushandwell-lit/wellshadedworldthatwewantedtowithUnrealEngine.Withlightpropagationvolumes,wewereabletocreateitemswithemissivematerialsthatwouldcastlightontonearbygeometry.Theresultinglookisfantastic.Again-thisislistedas‘experimental'(wehadtomakeasettingintheenginepropertyfilestoenableit),butsofar-sogood!OpenWorldToolsHighresScreenshot00280MiscellaneousFeaturesAndFunctionsOnefinalthing...image07IhavebeenonthereceivingendofseveralcriticalbugsinUnitythatpreventedsomemo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论