Jump to content
  • Advertisement

3D Character Creating

Recommended Posts

Hello, everybody. While making some models for my game I' ve found a problem. I don't know how to create a base mesh for humanoids. I mean i don't need a regular male from ZBrush or whatever. My modelling skills can't help me in this situation. May be there is some sort of program which helps to create a basemesh for human?

Share this post

Link to post
Share on other sites

Daz Studio fits this bill and I think Poser does as well, but that's getting into paid programs whereas makehuman is free. Daz Studio has a free version. I think it gives you a basic human male and female. It's easy to spend a whole lot of money on these programs if you're not careful.


I've seen tutorials on importing Daz Studio characters into Unreal Engine. I think even with the free version you can adjust the shape of the character.

I'm not sure any of these models are optimized for games. For example, with clothes on the model probably has a lot of hidden geometry that the engine has to draw every frame but can never actually be seen (waste of gpu cycles). They tend to be pretty high poly meshes as well, but maybe not too terribly bad, especially for a main character.

I've actually used MakeHuman to create basic characters for Unity. I had a problem with the armature, skinning, and rigging. I had to import the model into blender, delete the armature, recreate it from the Blender humanoid armature and then re-skin and rig it. It was a good educational exercise though. Not sure if that's gotten better, but I think Daz Studio models may handle that a lot better.

I think both programs have clothes for the model. Daz Studio has a ton of stuff you can buy and blow through money pretty quickly (for a "free" program). I've been interested in Marvelous Designer. Marvelous Designer actually comes from the clothing industry. The same people make a version that is actually used to design commercial clothing. Marvelous Designer is the version for the game industry and focused on that basically throwing out features that aren't needed for game creation but are needed for creating real world clothing designs. But it looks to me to be pretty much the industry standard for clothing your models, although you may have to learn a thing or two about real world tailoring to use it.

I want to get into character creation myself, but we're not doing sculpting (like with ZBrush) until next semester and I have a ton of work to crankout this semester still. I'm kind of "chomping at the bit" to get into it. So, I've been looking at this stuff. And Daz Studio and Marvelous Designer seem like they could get you started (or really just Daz Studio by itself). I imagine in the future, I'll be modeling my own base form in Blender and then either sculpting detail in Blender or in ZBrush. Then doing clothing in Marvelous Designer. Then taking it back into Blender to remove hidden geometry and such. Then painting it all in Substance Painter.

I could imagine Daz Studio possibly still being part of the work-flow at that point to crank out a large number of models for NPC's and such. I'm not sure how I will feel about Daz Studio once I learn how to do it from scratch, but I can at least imagine how it might fit into my workflow once I learn to do it myself. You can customize things yourself in Daz Studio if you learn how. For example, you can make your own clothing in Marvelous Designer for Daz Studio characters (and if it's any good, sell it). So, the main reason I can think of that you would not use Daz Studio is to get more control over the model and it's topology.

The other day I even saw that Daz Studio has a plugin for humanoids, which I thought looked pretty cool.

Share this post

Link to post
Share on other sites

Thaks a lot. It is very useful information. Actually I've made my character, created the base mesh in MakeHuman, add details with 3DS Max and some clothing with Marvelous. For me Daz Studio seems very interesting program and may be I will touch it in the future. I didn't exported bones and maybe it was right desicion. Any way thanks to everyone again.

This was my first humanoid character and I'm very happy with it. Learned very a lot while making it. But there is steel a big way to bring it to the engine: texturing, rigging, skinning, animating. This parts are familiarly to me, thats way I should pass them without any serious problems.

Share this post

Link to post
Share on other sites

I just found this one a few minutes ago. It looks pretty interesting. Not quite Daz Studio, but much more integrated directly into Blender. I guess if you're using Max it's of no help, but for anyone using Blender it makes a whole lot of sense.





Share this post

Link to post
Share on other sites

In my opinion Daz makes the best looking character models - but its important to realise its not free if you want to use their models in most types of game. The prices are good for their quality, but they are not free. (if you want free use either makehuman or Manuel Bastoni, or maybe Morph3d I dont know much about it).

Daz models have 2 different licence types, a "standard licence" which is just for 2d renders (daz was not originally written for games, its real purpose is to make 2d renders), and an "interactive licence" which is needed to buy a model for most games usages apart from visual novels or sprites.


You download daz studio (which is free) and it gives you "genesis 8 starter essentials" for free (which includes the basic genesis 8 male and female models under the "standard licence").

You morph those models and export them as people models for your games.

As you used "genesis 8 starter essentials" models inside your models in a game, you will need to buy the "interactive licence" for "genesis 8 starter essentials", (which is $100 https://www.daz3d.com/genesis-8-starter-essentials )

I actually prefer genesis 3 instead of genesis 8. (See Appearance tip below.)

Similarily each product you buy from their shop also has an optional "interactive licence" which you would need to buy if you want to use it in a game. If a model doesnt have an interactive licence then you cannot legally use it in that way.

This is another advantage of daz models - there is a huge amount of clothing models you can buy that fit the characters.

Money saving tip - bundles are cheaper as they have an interactive licence that covers everything in their bundle.

Appearance tip - If you want figures for the player character, I prefer genesis 3 (ie generation 7) rather than genesis 8. Genesis 8 is very new and doesnt have many good character models under the age of 30 out yet compared to previous versions. So currently I prefer the previous generation of character models ie their generation 7 models which are based on "genesis 3 starter essentials" (which was free in their older download, but i dont know if it is now)

Edited by CortexDragon
added appearance tip that i prefer generation 7 for player characters

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Advertisement
  • Advertisement
  • Popular Tags

  • Popular Now

  • Advertisement
  • Similar Content

    • By Gnollrunner
      Hi again,  After some looking around I have decided to base my game directly on Direct X rather than using an existing game engine.  Because of the nature of the stuff I'm doing it just didn't seem to fit very well and I kept running into road blocks.  At this point I have a big blob of code for doing fractal world generation and some collision code,  and I'm trying to put it into some form that resembles a game engine.  Since I've never used one before It's a bit alien to me ..... so can someone direct me to a book, website, article, whatever... that covers this?  I'm mainly looking for stuff that covers C++ library design. I'm not adverse to using 3rd party tools for stuff I can used them for.
    • By Stalefish
      Automated builds are a pretty important tool in a game developer's toolbox. If you're only testing your Unreal-based game in the editor (even in standalone mode), you're in for a rude awakening when new bugs pop up in a shipping build that you've never encountered before. You also don't want to manually package your game from the editor every time you want to test said shipping build, or to distribute it to your testers (or Steam for that matter).
      Unreal already provides a pretty robust build system, and it's very easy to use it in combination with build automation tools. My build system of choice is  Gradle , since I use it pretty extensively in my backend Java and Scala work. It's pretty easy to learn, runs everywhere, and gives you a lot of powerful functionality right out of the gate. This won't be a Gradle tutorial necessarily, so you can familiarize yourself with how Gradle works via the documentation on their site.
      Primarily, I use Gradle to manage a version file in my game's Git repository, which is compiled into the game so that I have version information in Blueprint and C++ logic. I use that version to prevent out-of-date clients from connecting to newer servers, and having the version compiled in makes it a little more difficult for malicious clients to spoof that build number, as opposed to having it stored in one of the INI files. I also use Gradle to automate uploading my client build to Steam via the use of steamcmd.
      Unreal's command line build tool is known as the Unreal Automation Tool. Any time you package from the editor, or use the Unreal Frontend Tool, you're using UAT on the back end. Epic provides handy scripts in the Engine/Build/BatchFiles directory to make use of UAT from the command line, namely RunUAT.bat. Since it's just a batch file, I can call it from a Gradle build script very easily.
      Here's the Gradle task snippet I use to package and archive my client:
      task packageClientUAT(type: Exec) { workingDir = "[UnrealEngineDir]\\Engine\\Build\\BatchFiles" def projectDirSafe = project.projectDir.toString().replaceAll(/[\\]/) { m -> "\\\\" } def archiveDir = projectDirSafe + "\\\\Archive\\\\Client" def archiveDirFile = new File(archiveDir) if(!archiveDirFile.exists() && !archiveDirFile.mkdirs()) { throw new Exception("Could not create client archive directory.") } if(!new File(archiveDir + "\\\\WindowsClient").deleteDir()) { throw new Exception("Could not delete final client directory.") } commandLine "cmd", "/c", "RunUAT", "BuildCookRun", "-project=\"" + projectDirSafe + "\\\\[ProjectName].uproject\"", "-noP4", "-platform=Win64", "-clientconfig=Development", "-serverconfig=Development", "-cook", "-allmaps", "-build", "-stage", "-pak", "-archive", "-noeditor", "-archivedirectory=\"" + archiveDir + "\"" } My build.gradle file is in my project's directory, alongside the uproject file. This snippet will spit the packaged client out into [ProjectDir]\Archive\Client.
      For the versioning, I have two files that Gradle directly modifies. The first, a simple text file, just has a number in it. In my [ProjectName]\Source\[ProjectName] folder, I have a [ProjectName]Build.txt file with the current build number in it. Additionally, in that same folder, I have a C++ header file with the following in it:
      #pragma once #define [PROJECT]_MAJOR_VERSION 0 #define [PROJECT]_MINOR_VERSION 1 #define [PROJECT]_BUILD_NUMBER ### #define [PROJECT]_BUILD_STAGE "Pre-Alpha" Here's my Gradle task that increments the build number in that text file, and then replaces the value in the header file:
      task incrementVersion { doLast { def version = 0 def ProjectName = "[ProjectName]" def vfile = new File("Source\\" + ProjectName + "\\" + ProjectName + "Build.txt") if(vfile.exists()) { String versionContents = vfile.text version = Integer.parseInt(versionContents) } version += 1 vfile.text = version vfile = new File("Source\\" + ProjectName + "\\" + ProjectName + "Version.h") if(vfile.exists()) { String pname = ProjectName.toUpperCase() String versionContents = vfile.text versionContents = versionContents.replaceAll(/_BUILD_NUMBER ([0-9]+)/) { m -> "_BUILD_NUMBER " + version } vfile.text = versionContents } } } I manually edit the major and minor versions and the build stage as needed, since they don't need to update with every build. You can include that header into any C++ file that needs to know the build number, and I also have a few static methods in my game's Blueprint static library that wrap them so I can get the version numbers in Blueprint.
      I also have some tasks for automatically checking those files into the Git repository and committing them:
      task prepareVersion(type: Exec) { workingDir = project.projectDir.toString() commandLine "cmd", "/c", "git", "reset" } task stageVersion(type: Exec, dependsOn: prepareVersion) { workingDir = project.projectDir.toString() commandLine "cmd", "/c", "git", "add", project.projectDir.toString() + "\\Source\\[ProjectName]\\[ProjectName]Build.txt", project.projectDir.toString() + "\\Source\\[ProjectName]\\[ProjectName]Version.h" } task commitVersion(type: Exec, dependsOn: stageVersion) { workingDir = project.projectDir.toString() commandLine "cmd", "/c", "git", "commit", "-m", "\"Incrementing [ProjectName] version\"" } And here's the task I use to actually push it to Steam:
      task pushBuildSteam(type: Exec) { doFirst { println "Pushing build to Steam..." } workingDir = "[SteamworksDir]\\sdk\\tools\\ContentBuilder" commandLine "cmd", "/c", "builder\\steamcmd.exe", "+set_steam_guard_code", "[steam_guard_code]", "+login", "\"[username]\"", "\"[password]\"", "+run_app_build", "..\\scripts\\[CorrectVDFFile].vdf", "+quit" } You can also spit out a generated VDF file with the build number in the build's description so that it'll show up in SteamPipe. I have a single Gradle task I run that increments the build number, checks in those version files, packages both the client and server, and then uploads the packaged client to Steam. Another great thing about Gradle is that Jenkins has a solid plugin for it, so you can use Jenkins to set up a nice continuous integration pipeline for your game to push builds out regularly, which you absolutely should do if you're working with a team.
    • By mmmax3d
      Hi everyone,
      I would need some assistance from anyone who has a similar experience
      or a nice idea!
      I have created a skybox (as cube) and now I need to add a floor/ground.
      The skybox is created from cubemap and initially it was infinite.
      Now it is finite with a specific size. The floor is a quad in the middle
      of the skybox, like a horizon.
      I have two problems:
      When moving the skybox upwards or downwards, I need to
      sample from points even above the horizon while sampling
      from the botton at the same time.  I am trying to create a seamless blending of the texture
      at the points of the horizon, when the quad is connected
      to the skybox. However, I get skew effects. Does anybody has done sth similar?
      Is there any good practice?
      Thanks everyone!
    • By 4d3d
      Hi there,
      I've been away from 3d Art whilst on Maternity leave and just started to get an hour a day (if i'm lucky) to model while my baby sleeps. This is also my reason for picking something small. Really i'm after some feedback, good or bad, on any improvements, tips on rendering etc. 

      Any feedback would be massively appreciated as my time is so precious at the moment that i don't often have time to watch tutorials and research techniques so anything to point me in the right direction would be great.

      I've baked down from High-poly and exposed some custom color changing, decals, and number plate naming from substance designer and imported to marmoset.

    • By lucky6969b
      Dear folks,
      How do I calculate the axis of rotation between 2 vectors, one of them is the source directional vector, and the second is the destination directional vector.
      Thanks a lot
  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!