worstplayer: Some apps do that, and basically let you work at any detail level you want. It's difficult to do with the system I have though, so I don't think it will happen. You will probably be able to hide parts of the model instead, so you only see the area you are currently working on. Should speed it up.
sayrex: The materials idea? I don't see how it would be very useful. If you have the two images you can just combine them in a paint app with the desired blending/ratio to make it as shiny as you want, and then save it as your material image. You could make several variations if you want a few degrees of shininess to choose from. Requiring two images for every material would make it more complicated for most users who aren't interested in that adjustment option.
One related thing that would be more useful is if you had two images for each material where one was the "ambient" component, with environmental light only, and the other was directional/specular light. In that case, I could theoretically add shadows which are somewhat properly rendered even for complex materials. It would use the ambient image in shadowed areas and the fully lit one in non-shadowed areas. Rendering would be a lot slower though, and it would make it harder to see what you're doing, so kind of useless eyecandy.
Here's an idea: What if we could place some primitives in relation to each other to outline a "sketch" for the model and then combine them to a single mesh to start sculpting? Kind of like the way ZBrush lets you make that Skeleton thing, but less confusing. This would be to lessen the extent to which we have to draw on appendages and stuff, something I find very difficult to control...
Though I suppose the suggestion then would be to simply make a box model in Blender beforehand or something.
You posted in my thread over at the Luxology forums. First of all I'd like to say thanks for making this awesome program and making it a public alpha/beta. You said you liked the material I showed in my screenshot/s, so if you like I can send those to you as I made them. One of them (the greenish one) is actually a remake of a freely available ZBrush matcap called BG_Horror by someone who goes by the handle BGEN. I remade it in Modo because BG_Horror had some noise and JPG artifacts that were distracting, so mine is slightly different.
Anyway, I'm posting in this thread just because I have a few feature requests. Sorry if it's already been mentioned, but it'd be great if the Grab brush had an option like in ZBrush to constrain movement to the normal of the surface (maybe assigned to the shift modifier function). It saves a lot of time from having to rotate the model into awkward positions so that you can move something slightly back or forward.
Second, you mentioned in the other thread that you'd like to be able to add a change brush size hotkey other than the mousewheel. Well, I noticed the S key isn't bound to anything, so maybe if holding down S plus moving the mouse/pen to the right/up to increase size and down/left to decrease. And maybe A could modify the strength, or something.
Third, this is pretty minor and stupid of me but I just thought I'd mention it. I'm trying to recreate my matcap in Sculptris and the only real difference is in the rim lighting, here's an example of what my material looks like in ZBrush:
I find I can't quite get the rim lighting along the top and sides of the geometry thick enough in Sculptris, but if I could it'd really enhance the feedback in terms of volume and silhouette. I think it just has to do with how the material image circle is mapped to the geometry? Anyway, thanks again.
Sure, you can email me materials, or just post them on the forum somewhere. Maybe I should make a materials thread?
Rim light is pretty. Kind of less awesome when there's no self-shadowing, but it's still useful in moderation. I've too noticed that Sculptris doesn't quite manage to map the farthest points of the material circle, and I know why. It's basically using orthogonal projection of the camera-space normals, which means it'll only show the rim if you zoom way out. Up close your horizons will be closer to the forward direction and thus values closer to the center of the material image will be used. I will see if I can make some shader tweaks to fix this.
Surface-locked grab is an interesting thought. I'll try it. There's no established modifier key for tools yet, but I should probably prepare Shift and Ctrl for that.
For tablet-friendly brush settings, I was sketching on an idea of using Alt or some other key to bring up a cursor-centered GUI with size and strength sliders, as well as any other commonly-used options (detail toggle/slider maybe). It could lock the 3D cursor in place when you hit Alt, and then you'd see it change size as you drag the slider, making for good feedback on what value you want.
thought of adding a few more basic shapes to start from? I was thinking of a basic "humanoid" basic "head" shape... basic "bowl"... basic "branch" form? or allowing a user to define a model as one of the basic shapes they can pop in (I realize you can just import one, or open an old scene... not exactly what I was thinking.)
I think the cut tool (and an inverse of that being an add tool?) would be awesome. Hopefully you can add box box selection and lasso selection for this tool/brush
I think the key with a detail reduction tool would be twofold: to make cleaner and less lumpy meshes quicker (sculpt out a rough form at a high res, down res to a medium res and delete all details from the higher res. then bump up the detail of the medium res for a new high res); and to erase features (if you go to a lower res object and smooth an area you can "erase" unwanted appendages or facial features)
But honestly, that can be done by exporting as an obj to a program that can reduce polys anyways. I think it would just be less of a pain to not have to switch programs. And in a way, if the reduce detail brush starts working, you can accomplish the same thing on a local level. Still it wouldn't hurt to have a reduce detail tool that removes unwanted high frequency details across the whole rough sculpt. It would be neat if you had a slider that would allow sculptors to see the results of different levels of detail reduction before selecting the results they want.
The only other things I'd like to see is using 3dobjects as brushes and implementing layers. Oh and look at the polish brushes from zbrush. They both harden sharp angles and smooth shallow angles with one stroke.
Post by closetweevil on Feb 25, 2010 21:29:41 GMT 1
So this isn't really a feature, per se. I've been using your program with Crossover Games for Mac OS X and it runs amazingly well. The only problem I have is that the keyboard shortcut for undo won't work, probably because it's a hotkey for Crossover already, and it makes me think, it'd be really great if as well as there being hotkeys for undo and redo, there also be some buttons for it as well in the GUI.
Great program though, can't wait to see more versions of it.
As opposed to a shader on/off for the lighting, make a little subroutine that renders a lighting sphere as material 0, for example. It just has to get rendered while the lighting is adjusted. I've done something very much like that for my games before using openGL, actually, hehe. You can even implement material properties like specularity and even parametric lighting extensions for translucency effects. (as opposed to dot product from 0.0 to 1.0, pushing it through 0.0 by adding an extension (for example 0.5) and dividing the result by 1.0+extension (dot/(1.0+0.5)). I even tied translucency color to it by an inverted dot fade of the translucency color. Very simple and effective!
extension = 0.5 shading = (extension+dot(lightdir,normal))/(1.0+extension)) color *= shading+(1.0-shading)*translucency_color
Something like that...just from the top of my head, of course. It should be a great way to do some interactive shading. Since rendering such a material sphere doesn't have to be superfast, you may as well add as many lightsources as you like.
Just some ideas.
...some more viewing modes: FOG (either preset or automatic) ...can be very helpful and effective. Can be used to display or export depth/height images as well! (would suggest an unshaded white material as well)
taron: True about the sphere. It could be dynamic. Also, you could render it in any resolution you'd want, and it would still look pretty good on the full mesh. Even if you had a really heavy material it should render quickly to a 128x128 framebuffer (could do that for interactively changing light direction and then render to 512x512 when you let go of the button). The main problem would be to supply interface controls for manipulating it. I guess the most basic would be light direction though, and the actual material specification could be done through cryptic shaders and/or definition files with light vectors, colors and other parameters. That way the nerds can make cool materials and regular people could use them as they please, with preferred light direction.
Maybe I could have it so that there's a main materials directory, and then you can put image files in it to use for direct rendering (current method) and any subfolders would be treated as "complex materials" with associated shaders, textures and whatever else I could potentially come up with. In the application, they would all just show up as entries in a material list, I guess with thumbnails and names.
Obviously this is entertainment though, and not a priority yet. I might play with it if I get frustrated with primary development at some point
Fog and normals (object-space, as opposed to camera/screen-space?) could be possible as such custom materials, but I might add them in some dedicated way earlier since they have "real uses" besides looking neat. Depth map could be normalized/scaled from back to front for the current model/view, but 256 levels might be a bit limited. An orthogonal projection and locked plane views would also be nice for these kinds of image export.
Oh, the first normal implementation might mostly be helpful in camera/screen space, since such images could be immediately used outside of skulptris for games or compositing.
256 on depth would certainly be a bit limiting for outside use, but it simply can look quite cool and should be fairly easy to implement, hehe... quick flashy effects aside from the potential use outside.
Considering my current level of joy with your baby there, I would already look at it as "real use", hAHAHA! SWEET stuff!
Interface wise I was gonna suggest a material "icon folder" earlier already, but figured it might be a bit much right now. I hate to program interface elements...or rather the implementation. The elements individually are not so troublesom. So, yep, I feel your pain. But the results are already magical of what you're doing and I'd be incredibly thrilled if I was you. You're pumping up a lil' monster with Skulptris! OH, one more thing about the lighting/material editor: It could be super simplified similar to your ring for size/strength/detail. Imagine this around a sphere on which you'd adjust the light position. On the ring it would simply have glossiness/diffusion/color(as button to open picker).
glossiness: controls specular highlight by fading it as it gets wider, simulating real diffusion of lightsource reflections
diffusion: controls diffuse shading from (0.1 to 2.0) to potential extend it. (1.0 would be standard)
Later you could add more such as reflections or whatnot, while that becomes a bit playful. The essentials could really be considered a modeling/viewing comfort.
And, yes, I reckoned rendering into a texturebuffer/renderbuffer could be incredibly fast for the interactivity.
I had a really wild idea about light directions, though. It might be a bit much to write it in here and I think I'll try it on my own first, but I realized that the mapping by normals for the material render could be offset for lighting changes and a single wrapping light image could be used. It's just an idea and I'm not even sure, if it's any more efficient, but it sure as heck sounds curious to me... food for thought.
taron: You mean using a lightmap image from the light's point of view, adding several of those to the final map if you have multiple lights? That would basically replace the ordinary dot product component, and would work for a diffuse factor. If you want specular highlights you would have to use additional images, and I'm not sure if they'd map as well as a proper reflection formula.
I asked about the normal space since I remember you or someone else saying they already had a material image for displaying screen-space normals, which sounds exactly like what you were asking for.
EDIT: And yeah. Development is fun. Just trying to keep a sensible target ahead of me and not think about all the potential directions I could/should go with it in various scenarios
Last Edit: Feb 27, 2010 20:46:44 GMT 1 by DrPetter
Oh sorry, I've already modified my above post for additional ideas, but yeah...
Specular would not work, of course... doh. Wasn't thinking about that. While it's really the big question how slow the computation would be in the first place. Hmmm... there may be a way to relate a highlight image to the offsets, but well.... I'm really not sure if it's worth it to begin with... that's why I said: I need to test it first. I sometimes just have some ideas...eh...always just have some ideas and then try them out. It's tough if we don't sit together. Plus: My nonsense will be black on white and that can leave lasting impressions... LOL.
So, yeah...guess it's best to skip that one.
AND OH YES, that was me with the normals material. I'm just thinking it might be just as easy to render the normals out. I believe you are already converting them to screenspace for the materials, so it would literally just be a turn of a switch to show those as opposed to the material, right?!