How in the World will i populate my Unity game with 200 daz characters if each one adds 4GB to proj?
To the project size..........that would end up being sooooooo huge. What do people typically do to reduce the size of DAZ figure(Fbx i'm guessing cause i use Unofficial Daz to Unity bridge to export them) file size(GB/MB size). it's so huge!! So why does DAZ to Unity bridge even exist if you can't even make a realistic game. Who in the world makes a game with 3 characters? i dont think anybody would. at least 20 and that means 4GB x 20 . There goes 80GB added to your project aside from the ton size created by props and Sets that you export. Currently from my imports of bought Unity Assetstore assets(Sets and props and tools : gaia etc) and DAZ sets/environments and soon characters..right now is at 340GB size. Can you imagine if i add 200 DAZ characters!!!!!! 4GB x 200 that's oh man...800GB (+340GB = 1140GB =1.xTB). Impossible!!!!!!!!!!!!!!! I'm not a professional game maker so i dont understand these things. How would i go about it?
Do i just not use DAZ Characters and use super low poly character packs from somewhere that don't have any detail ?...but then why the heck did daz make a Daz to Unity bridge and why is there an unofficial Daz to Unity Bridge too. They're not intended for making games?
I've tried using the DAZ Decimator, but that does't really solve theproblem, files are still big, and with daz decimator if you decimate it to like 40% it loses all details, characters look bad. There's unity tools for decimation at runtime, but what does that matter in terms of project size ..that's only gonna help with the built game, not with reducing the project size.
Please help
Comments
Oh and PS, you may ask why he wants 200 characters. that was an example, it can be 100, it can be 80 but i want diversity and lots because I"m making OR trying to make a simulation game that is kind of like real world with lots of population and stuff, lots of props, lots of places(envireonments/sets)
So yeah i was talking about the NPCs
Didn't read, text too large.
Fixed it
How many morphs are you including in the exported files? Does Unity even use morphs?
well just the basic BODY. but i dont include multiple morphs in the body, i just shape it once. i dont know if that counts as many morphs. And then like 20 facial morphs Plus All the visemes which are like 15(those i use for my Lipsync software in Unity). Yes Unity can use Morphs , they call them Blendshapes. You just select the morphs in the Daz To Unity Bridge and then they appear in Unity in the mesh with the Skinned mesh renderer
Morphs will certainly add to the file size, since each is a list of new postions for the vertices - though some of the things you list are not actually morphs, they are controls that (at least in part) drive the facial bones.
Some people have said since years ago, that DAZ models are not meant to be used in games, but then i've also read that people use them for games. Yet apparently it's so hard to optimize them for games. They are huge in file size etc and textures too. Should i even be using DAZ characters in Mass for games...or is it more realistic to use like 5 daz characters per Unity Game and all the others supporting characters including any NPCS and Enemies should be super low poly game ready characters obtained from some site that sells them or some site that gives them free?
But then, I was hoping to make like a realistic game with awesome DAZ Characters to interact with , with Detailed faces ....apparently not possible especially in mass numbers not possible? LIke i wanted to use DAZ Characters for my main character that i cntrol, then for the NPCs, then for the enemies then for the population that would fill up the scene .... I just saw a video where a guy talked about using DAZ Characters in Unreal engine and he had mass characters but he used
Simplygon software/plugin for UnrealEngine and SDK for windows, and then he also went through the DAZ textures and turned them from 4096X size to something less like 1024 or 512 in an image editing program. There is a Unity version of Simplygon too, but only works in Unity 2019/2020. i use 2021. So i cant use it. I have assets i bought that need unity 2021, so i can't go back to 2020
Originally posted on this thread: https://www.daz3d.com/forums/discussion/518681/released-unofficial-dtu-bridge-v1-1#latest, but I think it makes more sense to move it here.
I'm very glad that you find the unofficial DTU bridge helpful to you. It is the product of many months of work so far. Regarding your questions about high polygon count and multiple GB project sizes, it is not an issue specific to Daz Studio or Unity, but is relevant to the entire game development industry. The detailed answer / tutorial requires at least a separate thread and probably could fill several books on game design and production. However, I can give you a few tips here:
1. Generate and use multiple mesh LODs, billboards and imposters. Look for Unity plugins / tutorials for help with this step.
2. Hide any body parts or clothing pieces which are completely covered up. Use FBX Export Option "No Hidden" or Decimator's "Remove Invisible".
3. Add push modifiers to overlying items to prevent decimated geometries from causing poke-through.
4. Prioritize mesh detail to important body parts. In Decimator, use "Weights" tab to prioritize mesh detail for important body parts, ex: set Face, Lips and Sclera to 10; set Ears to 6; set Head to 2; leave all other body parts at 1.
5. Avoid complex Daz Hairs and clothing which do not look good when decimated.
6. Decrease texture resolution as much as possible.
7. Combine and reuse textures with texture atlases.
Unless you are using very complex hairs or clothing, most exported mesh data will be less than 100MB even at full base mesh resolution. In fact, most modern Daz Genesis 8 Figures have very optimized and efficient geometry (less polys) compared to earlier generations. If your exported figures are multiple GB in size, then it is almost 100% likely that this is due to exported high resolution images. You need to use Unity or an image editor to optimize your texture resolution. Every 50% decrease in resoltion will exponentially decrease the size of the image file. Example: going from 2K to 1K will make the images 4 times smaller.
You are correct that there are very few tutorials on advanced game development concepts such as mesh and texture optimization. This is true for both Daz Studio and Unity. The information is out there, but it's just not in an easy to follow tutorial. I picked up these concepts by reading books and academic papers on computer graphics programming and game engine design, but maybe there are now textbooks written specifically for game developers and not just programmers. If someone has any ideas or suggestions please share them.
Currently, the short answer is "No". Game optimization is left to game developer, either making your own LODs in Daz Studio or with an external 3D model edtior or with one of the many, many, many Unity Asset Store LOD plugins (just search LOD in the Unity Asset Store). Texture optimization can be done by selecting textures and changing the maximum size or by using additional plugins to create texture atlases. I remember that Daz Studio had an old Texture Atlas plugin, but I've never used it -- maybe someone who has can comment? However, in the long-term, I hope to add some more convenience features such as auto-LOD generation and inclusion in the generated prefab based on my own interpretation of the Progressive Mesh dynamic polygon reduction algorithm. I'll also include a duplicate texture detection lookup-table.
In the future, the DTU Bridge will do a better job of identifying and reusing the same textures. This should help decrease some of the texture bloat caused by the DTU bridge. However, large project size is actually a problem with all Unity projects and not just ones that use Daz Studio assets. For now, you can look at my list of tips above on how to optimize Daz Studio asset sizes. Look in the Unity Forums for advice on how to optimize Unity projects in general.
My suggestion is that you optimize outside of Daz Studio: either in an external 3D or image editor, or with the many Unity Asset Store plugins for LOD, texture optimization, billboard/imposter creation, etc. Daz Studio's Decimator does a decent job of polygon reduction, but you still need to set up your LOD mesh levels and tweak your Unity perfomance settings -- so a Unity plugin that is tightly integrated with these engine settings might be easier for you. Once again, the full answer to your question is way beyond the scope of what I can cover in this thread and could fill multiple books.
The final advice I will give you is this: To be a really good game developer, you must start thinking like a stage magician (Houdini, Copperfield). They use many tricks to make the audience believe the impossible is happening: people being sawn in half, buildings disappearing, etc. Likewise, instead of trying to literally export 200 different Daz characters, your primary goal should be to to make the audience believe there are 200 different characters. Maybe this will involve importing a lot of Daz characters, but it will definitely involve doing lots of tricks to make things look better than they really are. Good luck!
PS - If you are using Unofficial DTU Bridge v1.2 Beta, most Genesis 8 Daz Original characters will take up about 200 MB or less when exported to Unity -- as long as you don't use an extremely complex hair or wardobe.
Thank you so much Daniel, that is what i needed. I went to forums, and discord and such and everybody just made fun of me and saying that i shouldn't use Tools( I use many tools to help me create levels, for example Unity GAIA, Unity Realistic Eye Movements, Unity Speechblend Lipsynch, FPS counter for testing purpses, some Population Pllugin to create pedestrians and Crowds, Some Plugin to Help me make Buldings from Scratch and Create Indoor Levels etc etc) and anyways all these Mean people in discord just telling me that i should model my own stuff from scratch and PROGRAM EVERYTHING BY HAND( even though I keep telling them i have learning disablities and i use Game Creator[ tool that helps so much to make games much easier without coding or at least much less coding] )
and that i shouldn't even attempt or ever think about making games with lots of characters, why do they care ...if i want to make a large game it's up to me. Those DISCORD places and chaats are toxic, not helpful or welcoming at all. I hate them, i'm not going back there again ever.
Anyways, your message was positive awesome and encouraging. I'm gonna do all the tips you told me. And yes, i'm finding out about the Weights part in decimator and it was awesome, i decimated my character to 40% then went to the weights tab and set the face weight to 10 and it made the face have more detail and look better.
By the way the Unofficial Daz to Unity bridge is awesome and unlike the official one, it tells you when it's done in DAZ, and then it tells you when it's done in Unity. that's an awesomething that theofficial one didn't do. I just had to by the way, install a zip file containing like 2 shader files to fix some issues that users experienced about characters turing GREEN. I found this file posted by some user who probably got helped by you or something, and he posted the zip file. Ad i downloaded it and i have to put it in my project's Daz3d folder to fix that green problem. Is this fi x added in Version 1.2 beta?
And about 1.2 beta, i was going to get it because i was thinking it seems it has more levels of Subdivision, like version 1.1 only has 0 and 1 but to show Wrinkles and muslces so that they translate into unity..i think you need level 2 of subdivision , well i don't know but even in DAZ if you have subdivision at zero and use the Aging/Aged Morphs product you will not see any wrinkles, so it said in the description that v1.2 beta has Subdivisions, that made me kind of happy thinking that maybe it has up to 2 or 3 levels subdivisions and i will be able to take my OLD /ELDERLY looking daz characters to Unity. But
I didn't download it because it's beta and i dont know if it has problems and lots of bugs. Do you recommend me downloading it? does it work fine just like v1.1?
PS To Daniel , you said " If you are using Unofficial DTU Bridge v1.2 Beta, most Genesis 8 Daz Original characters will take up about 200 MB or less when exported to Unity " WOW, how is that? When i added Dazto Unity folder PLUS the character my project went from 5.22GB to 9GB using Unofficial Daz to Unity bridge, taht's how i calculated(guessed) that Daz figures are 4GB in size. But you said they are 200MB? woooow, how can i achieve that?
My Character is just a G8 Girl(Current testing character) with hair, dress, pantyhose, shoes, .
=I used Decimator on her but only on the main body i didn't do it on the clothes because like i told you
&That tears the clothes up, i also didn't do it on the hair because i have tried it before and that makes the hair loose all of its detail and make it look so bad and recede.
&I also didn't decimate shoes because that i have experience and it destroys the shoes to become useless
So i dont know how to handle Decimation for Clothes, hair, shoes
But i'm gonna do all the optimization tricks you told me now, about Decimation and then Making my textures down to 512 512 because all of them are originally like 4096x4096. So i will reduce them in size using Free XNView and treplace the originals in each folder of textures in my project with the ones i convert with Xnview.
I'm sorry you had that experience on the Forums and Discord. In my opinion, encouraging growth and enthusiasm in the community leads to new and diverse ideas and that benefits everyone. I think it can be easy to be pessimistic and react negatively to other people's ideas or even to our own ideas. So that's why I try very hard to be optimistic whenever I have the chance.
BTW, if you have not done so, I recommend you doing the FREE developer courses at https://learn.unity.com. These used to require paid Unity subscription, but it's been made free in recent years. Many of them are VERY high quality -- and many of them have full multi-part Video and Written instructions, which IMO is much better than usual video-only tutorials that you find on Youtube.
Not yet. Version 1.2 will still have Green tint for materials that use subsurface-scattering. I'll try to automatically add the Daz Skin Diffusion Profile to projects in a future Bridge version, maybe v1.3 or v1.4.
Yes, I think many HD morphs with fine details like wrinkles require at least level 2 or 3 (sometimes even higher) before you see their true quality. I've attached a screenshot of Genesis 8 Base Female with Aging Morphs for Genesis 8 Females and Tousled Pixie Hair, G8F Subdivision level was set to 2, and no morphs were selected in the uDTU Bridge. By the way, the total size of the folder is 47.6 MB.
It's up to you. I know some people use the term "beta" to mean experimental. However, for me, "Beta" stage products are potential candidates to become "release" products, if no bugs are found with expanded testing.
The uDTU bridges before v1.2 embedded textures into the FBX. The texture embedding was removed in version 1.2, since the DTU import procedure copies a separate set of texture files into subfolders for each Daz shape. By removing the embedded textures, the folder size is reduced by half, on average. If your Daz character folder is already 4GB, then it will probably only reduce to 2GB. Like I said in my previous post, reducing the resolution of textures will exponentially reduce the file size.
Some clothing and hair will work with Decimator, but complex shapes with many curves or angles will usually not. In my experience, hairs will require the most polygons of all, but they can still be decimated at least a little bit. The Daz Figure itself, especially if it is a Daz Original, is usually extremely efficient and will still look acceptable even at polygon counts lower than the figure's clothing and hair.
There are many different image resizing or resampling algorithms. Make sure you try them all to figure out which ones look best to you. Also, most Daz Figures come with JPG textures, and these are copied into your Unity Assets folder. However, Unity will convert these to a GPU hardware friendly format (usually DXT) when it builds the game. Be sure to read up on the Unity texture compression settings to optimize build size and image quality, and not just project size.
You are going to want to take advantage of GPU instancing.
I know this is old but the best way is to just take the inefficient thing into Unity with the Bridge then use Unity tools and process to reduce it's size and improve performance.
If your'e expecting this to be just like buying an asset on the Unity Asset Store and getting the best out of the great Daz artists assets to boot forget it, you need to do the work.
Tools like Polyfew MeshBaker and Prefab out and back in to make sure only have the stuff actually used (but this is all Unity will build anyway not what is actually on disk in dev project). Also can reduce texture resolution or if multiple same textures copied by daz remove them and reuse them in slots and re prefab. Daz to Unity Bridge is a material creating infinity machine, need to re-use the same ones into multiple slots on the Materials of your objects in scene and MeshBake to remove excess ones then re-prefab. Obviously LOD etc... and there's a whole lot more processing in Unity, but the point is do it in Unity and just use Daz to get a good lookingish thing into Unity and improve / optimise in Unity from there. Also, note for some of the models particularly some of the good scenery models make sure to realise that the Bridge taks the SubD 0 which can often be not very nice compared to SubD 1/2 and often not much poly difference so better to take the higher SubD and do reduction in Unity. The Bridge allows SubD 1 but not 2 to be chosen, but this choice doesn't work and it always sets to SubD0, if I like SubD 2/1 or higher and it is not a rigged model I just take it to OBJ first and back into Daz then out to Unity with Bridge/FBX, of course don't do this with rigged as OBJ doesn't support.
NOTE: It's possible to get great looking optimised stuff with DAZ into Unity as they have great art work / artists, it's just not easy! It has become a lot easier now with the DAZ bridge mainly becuase of the DAZ shaders which could have used other shaders but DAZ shaders seem good and better than the way the old FBX exporter used the standard / HDRP Lit ones with same setting every time.
Thanks for the tips ARealiti.