View
13
Download
0
Category
Preview:
Citation preview
RetopologizingVRandGameAssetsUsingBlender*
Thisarticlecovershowtobothretopologizeameshtoaclean,low-densitymodel,andthenUVunwrapthatmeshtosupportaddingtexturemapstothenewmodel.ItalsodiscussestheuseoffreetoolslikeBlender*anditsBSurfaceadd-onforretopologizingasculpted3Dmesh.
AboutRetopology
Retopologyistheactofrebuildinga3Dmeshsoit'slowerinsizeanddesignedcleanerforuse.Retopologymayseemlikejustbusyworkinthe3Dcreator’sprocess,butitisakeytaskandalsoallowsflexibilityinworkingwithyourmodels.Mostoriginalmeshes,builtusing3Dmodelers,sculpted,orscanned,capturealevelofdetailtomakethemodellookgood.Howeverthatsamedetailcreatesalargefilethatisdifficultonreads,writes,andmemoryforyourtargetapplication.Also,mosthighlydetailedmeshescanhavetoomuchdetailorbenonsymmetrical,creatingoddorunwantedcreases,folds,andmovementwhenanimatingthemesh.
Toavoidthis,you’llneedtoretopologizethemeshtoamorebasic,usablestructure,andthentransferthedetaileddataaboutthecolor,bumps,andcreasesoutofthe3Dstructureandinto“baked”2Dmaterialsmaps.Thisallowsthe3Dmeshtobeamuchsmallerfilewithfewervertices,yetproducethesameresultsinrendering.Intheimagesabove,theoriginalmeshwasreducedfrom500,000facesto2,000faces,yettheoutputlooksrelativelythesame.
Whatyouneedtogetstarted:
• PC,Mac*,orLinux*computer;Intel®Core™i5ori7processorrecommended• Blender3DwiththeBSurfaceadd-onenabled(freetodownload)
Blender*andBSurface
Blenderisafree,full-purpose3Dmodeling,rendering,andanimationstudio.Withthispowerfultool,youcancreatesimple3Dobjectsorproduceafull-featuredanimatedfilminBlender.ForthepurposeofthisexercisewefocusonthemodelingsideofBlender.IfyouhaveneverusedBlenderbefore,IsuggestwatchingthisgettingstartedvideotolearnhowtosetupBlenderforgoodresults.
Video:https://www.youtube.com/watch?v=dg6HyERe0Qg&t=503s
Todotheworkinthistutorialyouwillneedahightopology3Dmesh.ForinstructionalpurposesweusedtheSuzannemonkeyheadmodelthatisameshobjectinBlender.Tocreateahigherdensityversionofthismodel,onewithover500Kvertices,followthesesteps.
1. AddMesh,andthenselectSuzanne.2. UndertheToolspanel,selectSmooth.3. UnderthePropertiespanel,clickthewrenchicontogettomodifiers.4. AddthemodifiercalledSubdivisionSurface.5. SetSubdivisionto5.6. ClickApply.
RetopologyUsingBSurface
Thefollowingretopologystepsarecoveredinthisvideo:https://www.youtube.com/watch?v=9tWeZLSXBYc&t=6s
SettingupBSurface
ToinstallBSurface,fromtheFilemenu,clickUserPreferences.SelecttheAdd-Onstab.Searchfor“bsurf”.Ontherighttheadd-onforBSurfacewillappear.Toenable,checktheboxtotheleftofitsname..BSurfaceshouldnowbeinstalledandenabled.
InorderforBSurfacetoplaceverticesintherightplacelinedupwiththeoriginalmodel,you’llneedtohavetheoriginalmodelloadedandinitiallyselectedwhileinObjectModeinthescene.Thentocreateyourretopology,addaplane,whichcreatesanewasset.GototheEditmenu,andthenselectSnaptoFeatures.
ToconfigureBSurface,fromtheToolsmenu,selecttheGreasePenciltab.Thendothefollowing:
• SelectContinue.• UnderDataSource,selectObject.• UnderStrokePlacement,selectSurface.
Youmayfindyoucanmovesomeofthevertices,edges,orfacesaroundmanually.Togetthoseitemstoalsoclingtothesurfaceofyourmodel,selectthefollowingwhileinEditmode:UnderSnap,selecton,andthenunderSnapElement,selectFace.Finally,clickthenextfouriconsonthebottomright.
YouarenowreadytouseBSurface.
Creatingyourfirstgridmesh
BSurfaceautomaticallycreatesameshbasedonafewlinesyoudrawovertheoriginalmesh.
• Youonlyneedtodrawafewparallellinesinonedirection.BSurfacewillcreateacrossingmeshbasedonthoselines.Donotdrawlinesfromdifferentdirectionsorincrossingdirections.
• IntheToolstabundertheToolspanel,youwillseeBSurface.ClicktheAddSurfacebutton.
• Toadjustwhathasbeencreated,setthenumberofCrossstrokesorFollow(linesbetweenthelinesyoudrew).YoucanalsoclearLoopsonstrokesifyouwantBSurfacetoignoreallbutthefirstandlastlinesyoudrew.Followwillnowbesubdivisionsbetweenthefirstandlaststroke.
Creatingaradialmesh
Oftenyouneedameshthatcirclesaroundanarealikeaneyeormouth.Tocreatethesetypesofmeshes,simplydrawevenlyspacedradiallinesfromtheareayouarecircling.
ClickAddSurface,andthenselectCycleCrosstoclosetheradialandsetthenumberofcyclecrossesneeded.
Asbefore,clearLoopsonstrokestosetthesubdivisionsmoreevenly.
CornerFill
Youwillfindyouoftenhavetwosidesofameshcompleted,butyoustillneedtofillthemeshbetweenthem.Todothat,selectallthepointsonthetwosides.UseSHIFT+RIGHT+CLICKtounselectthepointinthecorner,andthendrawoneofthemissingsides.Intheexamplebelowthetopandrightedgesweresetandselected.Abottomedgewasdrawn,followingthecurveofthemeshpoints.ClickAddSurfacetofillitin.
ConnectingMeshes
Toconnecttwomeshes,selectallthepointsyouneedtoconnect.Besureyouhaveselectedthesamenumberofpointsoneeachside.Thenimagineaseriesoflinesbetweenthem.Drawatleasttwoofthoselineswiththelastlinedrawingoveronesetofhighlightedvertices.
YounowhavethebasicsofBSurfaceneededtoquicklyretopologizeamodel.ContinuetouseBSurfacetocreateafullmeshoveryourhightopologymodel.
UVUnwrappingandAddingDetailedTextureMaps
UVunwrappingisakeypiecetotheprocessandisapartofthepipelinethatallowsyoutogetdetailslostfromyourhightopologymodelontoyournewlyretopologizedmodel.
UVunwrappingistheprocessofdefininghowa2Dimagewillbemappedoveralltheverticesinthemesh.Imagineaworldglobewhereyouhaveasmoothsphereandplantohaveaprintedimageoftheglobe’sfeatureswrappedontotheglobe.Forthe2Dimagetowrapovertheglobe,youwillneedtomakecutsintotheimageinawaythatallowsthatimagetowrapproperlyoverasphere.Thisiscalledamapprojection.
sourcewikipedia
For3Dmodeling,UVunwrappingofamodelallowsyoutodefinethisprojectionpattern,whichworksasaguideforallsortsof2Dinformationtobemappedoverthe3Dobject.Intheglobeexample,youcouldbakeinformationinto2Dimagemapsforthecolor,roughness/gloss,andheightinformationforthelandorwateroftheearth,andthenhavethatprojectedontothesphereusingtheUVmap.
BelowisanexampleofaUVmapofa3Dalienheadmodel.Theleftimageiscalledacolormap,andthemiddleimageiscalledanormalmaporbumpmap.Bothimageshaveawireframemeshflattenedoutovertherespectiveimages.ThisflattenedoutmeshpatternistheUVmap.
Whatyouneed
Forthispartofthetutorial,youneedahighpolymeshwithtexturedetails,whichisafileyoucanuse,oralternativelyyoucantakethehighpolyobjectyoucreatedandaddedtexturedetailsusingSculpt.Thelinkedfileisanexampleofthemonkeyheadsculptedwithwrinklesandlinesandskinfolds.
Firstbesurethehighpolymeshandtheretopologyorlowpolymeshareinthesamespace.SettheirX,Y,andZcoordinatestothesamelocationusingthetranslateoptionsinthepropertiespanel.
Thestepsthatfollowarealsocoveredinthisvideo:https://www.youtube.com/watch?v=ouZB0GqF9PU
Step1:MarkingSeams
Marketingseamsistheprocessofselectingwherethemeshwillcutorbreakapartinordertobeaflat2Dpatternofthe3Dmodel.Thinkofseamslikeseamsonashirtorplushtoy,wherethe2Dmaterialwillbestitchedtogether.Andlikethoseseamsyouwouldn’twanttoomanyofthem,norwouldyouwanttoputseamsinhighlyvisibleareas.Putthemwherethereisalotofgeometrythatcurvesaroundandwhereitmakessensetohavenaturaledges.Whenbakingtexturemapsaswearedoing,theseamswilllikelynotshow.Howeverifyouuseproceduralmapsofnoiseorotherpatterns,thosepatternswilloftenbreakattheseams.
Tomarkyouseams,selectyourLowPolyObject,andthengotoEditmode.SelecttheEdgeselectiontool,andthenselectwhereyouwantyourseamstogo.
• SelectMeshMenu>Edge>MarkSeams.Dothisforeveryseamyouwanttomark.
Seamswillappearasred-colorededgesonyourmodel.
Step2:UnwraptheLowPolyMesh
Thisstepisstraightforwardandconsistsofunwrappingthemodel,andthencreatingatexturefiletobemapped.AgainyouneedtobeinEditmodeofyourlowpolymodel.Selectall,verifyingthateverymeshfaceisselected.Type“U”tobringuptheUnwrapmenu.SelectUVUnwrapatthetopofthemenu.
FortheUVmaptowork,you’llwantitasaguideforatexturefileyouaregoingtobakeorrender.CreateanewviewportwindowandsetthatviewporttoUVImageEditor.UnderImageinthatviewportselectNewImage.
Setanydesiredresolutionoptions,giveitaname,andthensave.
Itshouldnowbeablackimagewithnothinginit.YouhowevercanseetheUVmapovertheblackimage.
Step3:BakeaNormalMapoftheHighPolyMesh
Inthisstep,youwill“bake”thetextureinformationonyourhigh-resolutionmodeltoa2Dimagefilecalledanormalmap.Thistexturewillthenbeaddedtothematerialonyourlow-resolutionmodel.Thefirststepistomakesureyourlow-resolutionmodelhasamaterialwithatextureinit.
Selectyourlow-resolutionorretopologymodel.InthePropertiespanelgototheMaterialstab.Ifamaterialdoesn’talreadyexist,addamaterialandselectNodes.(BesureyourrendersettingsatthetopoftheBlenderapplicationaresettoCyclesRender.)
OpentheNodeEditorbysettingoneofyourviewportstoNodeEditor.FromtheAddmenu,selectTexture,andthenImageTexture.
Withthisadded,setthefiletothenameoftheUVimageyoucreatedintheprevioussection.AlsosetittoNon-Colordata.
Nextyouneedtoselectthebakesettings.UnderthePropertiesPanel,selecttheRendersetting,whichisthecameraicon.ScrolltothebottomtotheBakesectionanddothefollowing:
• ForBakeType,selectNormal.• ForSpace,selectTangent.• SelectSelectedToActive.• SetRayDistancetobeatleast1.00.
Thenextpartcanbetricky.Youneedtoselectbothmodels,butyoualsoneedtobesuretofirstselectthehigh-resversion,andthenthelow-resversion.BesureyouareinObjectModeandnotEditMode.
OnceinObjectmode,usingtheAssetInventorypanel,verifythatboththehightopologymodelandthelowtopologymodelarevisibleandhavetheeyeiconstotherightoftheirnames.Selectthehightopologymodelsoitappearsinwhite.Right-clickit,andthenclickSelect.Youshouldseethemodelselectedingoldwithitsnameinthe3DViewport.
NowpressandholdtheSHIFTkey,andthenright-clickthelowpolymodelinthe3Dviewport.Thisactioncausesthenameofthelowpolymodeltonowappearinwhite,thelowpolymodelwillbenamedinthe3Dviewport,andtheselectioncolorwillchangefromgoldtoorange.Withthatdone,clickBakeintheRenderpanel.
Step4:Applythenormalmaptoyourmodel
Inthisfinalstepwetakethebakedfileandconnectittothematerialofourlowpolymodel.Firstyou’llneedtosavetheBakedrenderfromthelaststep.Inyourviewport,undertheUVimagemap,firstverifythatthenameofyoursavedUVmapislistedinthefilebrowser.Theimageshouldbeshadedblue/purple,similartotheimageshownbelow.TheimageontheleftshowsthenormalmapwheninEditmode;theimageontherightshowsthebakedimagewhileinObjectMode.WhileintheUVMapImageeditor,selecttheImageMenu,andthenclickSave.
Wearenowreadytoconnectthistexturetoourmodel.
GototheNodeEditorwhereyouhavetheTextureImageNode.ConnecttheTextureNodetoaNormalMapNode.YoucangetthisNormalMapNodeundertheAdd>Vector>NormalMap.
ConnecttheNormalMapModeintotheNormalslotonthePrincipledBSDFShader.Youshouldnowseeallthedetailsfromyourhigh-resolutionmodelinyourlow-resolutionmodel.
Youhavenowcompletedamajorpartofthe3Dassetworkflowforuseingamesorvirtualrealitysoftware.Inadditiontotexturingnormalinformationonamodel,youcantexturewithothermaterialmapsthatcreaterealisticskin,hair,orothermaterialsfromcrackedconcretetoscratchedgunmetal.Forreferenceonthisnextworkflow,doawebsearchonPBRmaterialsusingtoolslikeSubstancePainter*andBlender.
NoticesNolicense(expressorimplied,byestoppelorotherwise)toanyintellectualpropertyrightsisgrantedbythisdocument.
Inteldisclaimsallexpressandimpliedwarranties,includingwithoutlimitation,theimpliedwarrantiesofmerchantability,fitnessforaparticularpurpose,andnon-infringement,aswellasanywarrantyarisingfromcourseofperformance,courseofdealing,orusageintrade.
Thisdocumentcontainsinformationonproducts,servicesand/orprocessesindevelopment.Allinformationprovidedhereissubjecttochangewithoutnotice.ContactyourIntelrepresentativetoobtainthelatestforecast,schedule,specifications,androadmaps.
Theproductsandservicesdescribedmaycontaindefectsorerrorsknownaserratawhichmaycausedeviationsfrompublishedspecifications.Currentcharacterizederrataareavailableonrequest.
Copiesofdocumentswhichhaveanordernumberandarereferencedinthisdocumentmaybeobtainedbycalling1-800-548-4725orbyvisitingwww.intel.com/design/literature.htm.
IntelandtheIntellogoaretrademarksofIntelCorporationintheU.S.and/orothercountries.
*Othernamesandbrandsmaybeclaimedasthepropertyofothers.
©2018IntelCorporation
Recommended