Hey guys I am just learning Unity and am testing out putting 3D models in my game. I opened up paint 3D and made a red cone. I saved it as a 3D object and opened up unity. Then I dragged it into my prefabs but it wont work when I drag it into the scene. It also wont pop up when I click import new asset. I know I am doing something wrong can someone please help.
I figured out how to get it into unity by saving it as an fbx file. However, it just puts in the cone and it does not save the color of the cone, it makes a plain blue cone instead of the red one that I am making in paint 3d
Unity does not import most material properties used by 3D authoring programs, nor do any of Unity’s shaders use vertex colors (if you’re using those). I usually ignore my 3D modelling software’s material editor, and just create my materials in Unity itself.
Oh, I was going to say that would be easier and just make more sense. Thanks for the help!
Oh, one thing to note, though. If you use textures you DO need to create a UV mapping for your model in the 3D modelling program.
I don’t think that is an option in Paint 3D. However, if I look at my models properties and then select: Use External Materials in the Location section then it puts the correct materials on my model. It also adds a separate materials folder under my model with he correct materials. Is this right?
I figured it out actually, you’re right it’s just hard for Unity and other modelling sites to communicate well to each other in terms of colors and materials.
Could you actually explain what vertex colors are?
You can store a color value in each vertex of a 3D model. Most 3D modeling packages include a way to “paint” vertex colors and some people color their models that way. Unity will import these, but it does not include any shaders that display these colors (because most people will want to use textures instead). I only mentioned vertex colors because I don’t know how you colored your model in Paint 3D, so I thought that vertex colors may have been one possibility.
It’s possible to write a shader that displays the vertex colors if you want to use them for some reason, though.
Oh so basically, Unity just takes the color of the model you just made and does not take into account any “shaders” because people would just rather edit that in Unity. I hope I am interpreting that right however I’m a little vague on what a shader is. And what a vertex is
How do you personally create your materials in unity? I know you can add a material component but how would you add an advanced texture like sand?
You would have to create texture maps and possibly other PBR-type maps like normal maps or metallic/smoothness maps, but Unity doesn’t really include tools to create these sort of files. You’d need to use some sort image-editing program like Photoshop or Paint.NET. Usually, to make realistic sand, an artist will actually start with just a plain photograph of sand, open it in an image-editing program and try to edit it so that it tiles seamlessly.
Normal maps are difficult to make, but if you can make a black-and-white height-map than Unity can convert those. There are also free and paid programs to generate normal maps from photos.
Edit: By the way, for common-place materials like sand, dirt, etc, there are a lot of great free packages on the asset store. You can use them as-is, or you can modify them in image editing program to adapt them to your own needs.
Sweet, that helps out. Thanks for getting back to me so fast