[a / b / c / d / e / f / g / gif / h / hr / k / m / o / p / r / s / t / u / v / vg / vr / w / wg] [i / ic] [r9k] [s4s] [vip] [cm / hm / lgbt / y] [3 / aco / adv / an / asp / biz / cgl / ck / co / diy / fa / fit / gd / hc / his / int / jp / lit / mlp / mu / n / news / out / po / pol / qst / sci / soc / sp / tg / toy / trv / tv / vp / wsg / wsr / x] [Settings] [Home]
Board
Settings Home
/3/ - 3DCG



Thread archived.
You cannot reply anymore.



File: 1032858803_cbab190fb9_b.jpg (482 KB, 681x1024)
482 KB
482 KB JPG
what's the video game industry standard method for making+texturing huge, single objects (like a skyscraper for example)

do you split up the model into multiple meshes and give each mesh a separate UV map? if so, how do you make sure that the edges of each 'chunk' are connected?
or do you make one massive mesh with a 10,000x10,000 pixel textures and then split that up into a bunch of 512x512 chunks somehow?

if you need specifics, I'm using blender + substance designer + Unity 5
>>
>>555958
the best way is what they did in Doom 2016 with mega textures 2.0
>>
to be specific, they use traditional retopology+texturing on modular assets (like those windows).
the exterior is simple as a cube. there are various texturing techniques that can tile bricks and patterns into the texture, or bake from highpoly to lowpoly into a normal map.

for a huge building you might want to duplicate each floor (in engine).
just imagine you have a lego set and you need to combine all the parts to make it fit
>>
>>555965
well, that pic wasn't the best example because that style lends itself to being modular

if I were doing something with a big flat surface, e.g. a giant concrete wall with rust leaks, or a really tall and huge pillar with patterns and moss at the bottom, anything that needs to have a unified texture and doesn't have a tiling-pattern but is too big to put onto a single UV map. how would I do that?
>>
>>555962
I have no idea what that is and can't find a source, where do you get that info?
>>
>>555970
http://www.adriancourreges.com/blog/2016/09/09/doom-2016-graphics-study/
>>
>>555967
like i said. you will need to separate the building by floors. whith accurate measurements of course so you can snap it exactly and stack it ontop.
if you want variation (leaks,damages) you can simply do them in something like substance painter or use material blending, which is possible in UE4.

a single 4k map for each floor is just fine. if you actually utilize the detail to the maximum
>>
>>555973
here is the full breakdown on how its done in AAA

http://polycount.com/discussion/144838/ue4-modular-building-set-breakdown
>>
>>555975
looks like just another unreal game lol
>>
File: Untitled.jpg (82 KB, 1355x975)
82 KB
82 KB JPG
>>555973
>>555975
damn, is that really what they do in AAA?
i've ALWAYS been told that having a large number of meshes for a single object and meshes with multiple materials was a BIG BAD for drawcalls, but whatever

anyway so if this diagram is correct, and each modular piece has its own texture, how would I apply something like the leakage there to a model? it goes across multiple pieces, it can't have a seam between them, but its NOT tiling or use on all the other pieces of the same type

does that make sense? or am I still looking at the concept wrong?
>>
>>555983
yup that's it bro.

if we are talking about going really close next to those buildings, if not you will need some LOD
>>
>>555983
>large number of meshes for a single object
What does this mean?
>>
>>555991
model each building in blender, import to Unity = 1 mesh per building

model 20 modular pieces, import to Unity, construct buildings in editor = 5-10 meshes per building
>>
>>555992
In unreal you can combine several instanced modular pieces to one object.
My guess would be that you can do it in other engines too. So they become basically one mesh and need one draw call.
So 20 modular pieces + 20 unique houses build of these pieces = 40 drawcalls.
Repeating houses don't cost extra.
>>
File: leakage.png (800 KB, 1255x733)
800 KB
800 KB PNG
>>555983
You can still do this, but it gets awkward pretty fast.

Don't know if there's any other way to do it (which there probably is) but this is one way, I guess. If you wanted to actually paint leakage onto individual pieces of your modular set, I don't know if there's any way you could do this without creating an entirely new instance of that particular piece just to put the grunge in there.
>>
>>556030
Here's without the line in the middle.
>>
>>555983
Its bad because you need a way to merge the objects.
Its fine because we aren't in 2000-2007 anymore, and there is a lot of tools to automate the process, and we got okayish GPUs now.

A option is to build an entire object, and then setup UV islands per material.
Also once you get complicated objects, unwrapping everything and adjusting each material island's size is sorta a pain.
Exporting becomes a pain.
It also means you can't just build new objects, you need to manually create items, which is good and bad for reasons.
>>
File: hrh_model.png (1.91 MB, 1920x1080)
1.91 MB
1.91 MB PNG
>>556021

what's a good workflow to get something like this mapped and into ue4? is there anything I should keep in mind when setting up my scene in maya (ie groupings, naming conventions, exporting big chucks vs individual meshes)?

about pic.. (yes, I know the render sucks)
>all concrete construction
>columns are modular so a single mesh asset could be used in repetition for each type
>there are 6 separate floors
>nothing really aligns to a grid
>>
>>555983

For leaks and other details.

Make detail texturesheet.

Use additional uv map on mesh specifically for said texture sheet

Profit
>>
>>556585
>nothing really aligns to a grid
not an expert but I feel like you wouldn't particularly care about making things modular when they weren't made to be. In this case, you just reuse textures on the pillars (by giving them the same UVs) but you don't worry about exporting them as separate meshes.

What I would do:
-Unwrap everything in Maya, copy and paste beams, columns that can share textures (don't forget to rotate them)
-Give it one material with multiple material slots/IDs to plug in your different textures
-Import the whole thing in Unreal as one static mesh

If for a game you might want to create a simple collision mesh, if using Lightmass don't forget to create a second UV channel with no overlapping UVs for the lightmaps (though UE can also repackage your first UV channel automatically)
>>
>>556842
If you're using UE4 (or similar) I would definitely recommend using deferred decals instead if you can. I heard it's less shader instructions than adding another UV channel, and it's definitely much easier to manage in-editor (you can drag the decals anywhere and add/remove them on the fly instead of having to fiddle with UVs)
>>
>>556863
>one material with multiple material slots/IDs
is this possible in blender?

if the model is for a game its optimal to keep it to one or two materials at most , but if I use material IDs in order to make masks for substance painter its still one material right?
>>
File: vertexblend.webm (1.7 MB, 532x472)
1.7 MB
1.7 MB WEBM
>>555958
modular assets
lots of tiling + vertex blend shaders to add variation.
>>
>>556928
explain this sorcery in that webm

can that be done with Unity 5?
>>
>>556933
This is vertex painting, with an extra texture used to control the blending's contrast (will create transitions by filling the cracks first, instead of smoothing everything out)

https://www.youtube.com/watch?v=dghCetkArJI&t=576s
Unreal does it out of the box, believe you have to rely on Unity plugins to vertex paint.
>>
File: blend.jpg (805 KB, 1247x1800)
805 KB
805 KB JPG
>>556928
Not this anon but it's only a blend between two textures using a third texture or a vertex color channel, which itself is modulated by a heightmap. You can either download a premade shader or make your own if you use shaderforge. Pic attached is the method I use

You also need a painting plugin if you want to paint in engine
>>
>>556933
what this guy said >>556939
in unity, you can write a custom shader for that, i'd personally use something like amplify shader editor (which i bought for a sweet discount, but now it's back up to $50...) because i don't know shit about actually writing shaders with unity's new PBR stuff.
and yeah, i don't think unity has vertex painting in itself by default. i know there are plugins you can get for it.. but what i do is simply do the vertex painting in blender, then import it.
of course the downside to this is that if you want to build things modularly in unity(not me), you have to import multiple of the same model just to get different vertex colors, which is retarded so if you plan on that, just get a vertex painting plugin for unity
>>
>>556939
>>556943
>>556941
what about building modularly in blender, painting the texture in blender or substance painter, then just combining it into one huge final mesh to import to unity?

is that a dumb idea?
>>
>>556948
nah you could do that.
most games do modular stuff nowadays and build in-engine. but an example of a huge game where this isn't the case is uncharted 4. they actually built all the environments entirely in maya. they even hand-placed every single tuft of grass. crazy fuckers...
anyway, you could do it that way.
there are a couple things to keep in mind though. one is collision. a benefit of modular assets is you set up collision once for each asset, in the engine, then reuse them a ton, and your collision is basically all good and complete.
if you're building outside of engine though, then you'll be making collision meshes for one big chunk of environment which can get pretty tiresome. on the one hand, this can be more efficient, since you're more selective about how your collision meshes are set up, but it's a bit less easy to do depending on what the mesh is like and how the player will encounter it of course.
another thing is rendering efficiency. since it's one bigass mesh, when the player in game sees it, it'll render all at once. whereas if it was modular, it would only render the pieces that were on screen at a given time.
but go ahead and try it, i've done it that way too. and it was a pretty common way to do things for games that didn't use BSP brushes for environments (silent hill games, for example, modeled things basically room by room, or by big chunks, like when outside in the town)
>>
>>556948
>then just combining it into one huge final mesh to import to unity?

For a single prop you could but for big environments you don't want to do that That's the idea around "megatextures" tech though, but it's not at all mainstream and it has pros and cons - no texture reusability, can look blurry, big video memory usage...

Vertex painting is still the most clever approach, you can make your textures tile all you want to keep the texel density sharp, and vertex data in itself has practically no performance cost. You can reuse the textures in the editor.. And it's easier to edit, workflow wise
>>
>>556960
Well if he's still building it out of a bunch of modular assets, then it doesn't have to be one huge texture, right?
>>
>>556951
thanks for the info, luckily my game isn't really physics-based so collision is only going to be a navmesh

>>556962
I was hoping this is true, if not then it might be time to switch over to UE4 because I can't afford most of the plugins you need for Unity to get vertex painting working well
>>
>>555962
I don't know about level geometry but items and characters use regular textures, usually 3840x3840, it's then cut up to 128x128 tiles and stored in memory, but they are overlapping by 4 pixels on each side.
>>
bump
>>
Bump, because I'm having the same problem with painting large meshes.




Delete Post: [File Only] Style:
[Disable Mobile View / Use Desktop Site]

[Enable Mobile View / Use Mobile Site]

All trademarks and copyrights on this page are owned by their respective parties. Images uploaded are the responsibility of the Poster. Comments are owned by the Poster.