Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Free 3D texturing

odesodes Administrator
Quixel mixer is a texturing tool that makes painting 3D models much easier.



If you have experience of photoshop, you'll probably feel right at home since this tool make use of layers and filters just like photoshop.

Mixer is similar to Substance Painter in many ways, but without the price tag.

Check it out if you have the time:
https://quixel.com/mixer

Comments

  • Seems pretty nice, but why does it require an Epic Games account? Makes me feel like there might be some undeclared strings attached, given their reputation. Will probably bite the bullet and register an account to check it out in more detail later, but I'll feel like I need a shower afterwards, heh.
  • odesodes Administrator
    edited March 1
    Epic games is funding quixel, which has made it possible for them to reduce prices or even give away their things for free:
    https://quixel.com/blog/2019/11/12/quixel-joins-forces-with-epic-games

    Megascans (an asset library from quixel) is free to use with Unreal Engine, so I guess Epic Games is just creating an incentive for people to use their engine by funding developers of tools, like quixel.

    Either way, customers benefit from having free tools regardless of what you're using them for.
  • @odes have you tried using Mixer? Other than a few visual glitches and confusing color picker for B/W values, painting masks just straight up does not work. There's no way to work directly with UVs, or editing in 2D, which was very useful in SubPainter when working on fine details. I'm impressed by the vast library of assets though.
    From the dev documentation @ http://docs.quixel.com/mixer/1/en/topic/3d-mesh-file-support-in-mixer:
    Mixer is currently only allowing creation of one texture set per mix and has no UDIM support.
    (...)
    Mixer currently supports unique UV shells and we recommend not using flipped or overlapping UVs.
    So, unless you're fine with using only fill layers, Mixer is not a viable option, yet.
  • odesodes Administrator
    @Styl1sh

    Yeah I tried it a little bit. I didn't have any problems with painting layers or painting masks, so not sure what's causing the problem you're experiencing.

    I agree that Substance Painter is better, but I don't say no to free software. :)
  • So you mean you don't have this happening to you?
    Mari offers a free non-commercial license, but it's really fussy about importing YL2 models. I have to import/export through blender, or else all I get is an 'could not create entity' error. Additionally, I have to unstack the UVs manually in blender so that strokes don't affect multiple parts at once. And boy does the UI suck in this one. And every stroke takes several seconds to calculate, even on a high-end PC. And rotating the model does not hold the Z axis in place, so you just keep working on a slanted model.
  • Kind of a false alarm - the reason for faulty model load is the good ol' localized floats conversion - exported character file has commas instead of periods, and Mari just doesn't know what to do with that. The UVs still need to be separated beforehand to prevent overlapping.
    The only character file that I can paint in Mixer normaly is the one with unstacked UVs as well. Of course, since currently the program can't handle UDIMs, you can only paint one section of the model at a time.
  • Ah, so that's what it's called. I was wondering what the whole business with the stacked UVs was all about. Could use a bit of a guide on how to handle them, though, looks like I'd need to do plenty of research to figure it out on my own and I just don't have time for that at the moment.
  • edited March 2
    @Brownmane Shifting UVs is a one-minute deal.
    Start by creating a generic project in blender, delete the starting cube, and importing your character with default settings. Split the screen, preferably horizontally, to make space for UV workspace, by right-clicking the bottom edge of the window and selecting 'horizontal split'. In the newly created area, select the button in the top left corner and choose 'UV Editor'. Click your imported character model to select it, in upper left corner switch from 'Object mode' to 'Edit mode' - you should see the stacked UVs in the editor. Now, on the sidebar to the right you should have a column of icons. Click the red 'checkered' sphere - Material properties. In there, you should have 4 or 5 materials listed - those are the separate parts of the character, with separate UVs for each. Start with clicking in the model area to clear selection. We should leave the first one alone, so click the second one named 'Material1' and press 'Select' button underneath - the head on the model should light up, and in the UV editor, only head's UV should be visible. Mouse over the UV editor area, then press [A] to select everything. We'll use the keyboard input to move UVs quickly and accurately. Press [G] for 'Move', move your mouse a little (somehow refused to work without that step), then [X] to lock in the X axis, and then [1] to shift it one unit right, and hit [Enter] to confirm. Then, clear the selection from the model, by clicking in the free space next to it. Repeat for all the materials/UVs, but keep increasing the offset by one. When you're finished, export the model.

    Edit: posted a video in the later comment.
  • odesodes Administrator
    @Styl1sh
    Ah, that comma thing is actually a bug. Thanks for pointing that out. Should be fixed for the next release.
  • Gah, I give up. I can't get neither blender nor Mari to create a MetalSmoothness map. After 3 days of fiddling around with Mari's channels and nodes, I've only managed to get a half-working solution, and baking in blender is as random as ever.
    Google suddenly pretends that it has never heard of metal smoothness..
    What are the 'official' ways to prepare such map?
  • odesodes Administrator
    Well, metal-smoothness is something that's authored rather than baked, just like albedo. Usually it's just normal and ambient occlusion maps that are baked (optionally curvature and thickness among others can be baked as well).

    For example, for a metallic hard surface object that is supposed to look worn, it would make sense combine curvature and grunge as mask and then fill that in with roughness.

    Example:

  • edited March 5
    @odes Sorry, what I meant to say is that I cannot export metal-smoothness to a file for use in YL2. The node-based solution in Mari only works with default grey-colored base layer, which prevents me from getting full color range. Changing the base color breaks the output alpha channel. Compositing the map from two greyscale images isn't perfect because of alpha premultiplication during saving, meaning that if one of the values is zero, the other will not be saved. And while I know how to feed that data into blender, I just can't find information how to pack the smoothness with metallic into a single image.
  • odesodes Administrator
    Well, there's two ways you could do this. Either you can use the PBR layer, which accepts multi-channel maps directly. Or you could import masks, use them with mask texture and a fill mask layer. You'd need two fill masks in that case (one for the metallic and one for smoothness).
  • odesodes Administrator
    You could also just manually combine channels in photoshop or gimp.
  • It's exactly my goal to create a metal smoothness map for PBR layer. Trying to merge those in gimp creates way too many artifacts. I'll have to stick to texture mask for separate metal and smoothness.
    Mari is so awful. Just yesterday, when trying to export flattened channels, it'd put flat color in RGB channels, and shape in alpha, making it unusable for import as mask into YL2, but now, when I tried to snap images for an angry rant, doing exactly the same steps as before, it creates the proper output..
    I've been spoiled by SubPainter, where everything makes sense and just works :disappointed:
  • I found a way to paint character models in Mixer - by packing all model's UVs next to each other into the square space. You can then work on your model freely, with increased file resolution, and then split up the exported images into ones acceptable by the game, for example using gimp. Obviously, it will only work on female models, since the sheath is additional geometry with its own UV.
  • odesodes Administrator
    edited March 7
    Sure, that would work. It'll essentially be like an atlas.

    If I remember correctly, body uses 2048x2048, head 1024x1024 and hands/feet 512x512. So you could fit that within a 4k texture. Lots of manual labor though so not optimal, but when devs don't make support for udim or multi material, I'm not sure what other options you have.
  • I was meaning to ask about the max resolutions. I reckon the sheath is 512x512 as well? That would mean that I can pack hands, feet and optionally sheath onto a single packed spot with no loss in image quality.
  • odesodes Administrator
    Yeah, balls/sheath is using 512. Shafts are using 1024.
  • odesodes Administrator
    edited March 7
    @Styl1sh
    I could implement an option where exported assets have had their UVs packed into an atlas (for 4k texture). Then, you could use something like this to unpack the textures you author from the atlas:

    https://github.com/lvcabral/PhaserSpriteSheetUnpacker

    pssu <json path> <png path> <output folder>

    It would need a json declartion, like this:
    https://github.com/lvcabral/PhaserSpriteSheetUnpacker/blob/master/sample/general.json

    Is it something I should do, you think?
  • I don't think it's worth it, since it's just a workaround for one specific software's missing feature that's already on the way.
Sign In or Register to comment.