Call for 'Quick Hack' ideas (for beginner students to complete in a day)

Great idea Campbell!

What i would love to see is making the Z-pass work the same as the mist pass (set a begin and end)
Or ‘simply’ make an option to disable anti-aliassing from the mist pass.

Maybe some of these would be the right size to tackle for a beginner.

A Pop-up layer select similar to the ‘move to layer’ pop up. Maybe combine them to make it easier to go to the layer the object was just moved to. That pop up layout could be a bit better as well, such as center it to cursor, not left corner, re align text and layer buttons

Make export settings persistent between blender sessions, opening a new file, or deleting orphan data. Especially make ‘selected only’ ON by default to avoid exporting entire scenes by accident. expoting specific layers, or an active layer toggle might be useful as well.

Hotkeys for x, y, z axis constraint modes. for example, once in any of the transform modes ‘a’ could then be x axis constraint, ‘s’ y axis constraint, ‘d’ z axis constraint (or whatever).

Scrub Timeline in 3dview with hotkey and mouse/stylus movement.

Add animation transport tools (play, stop, advance, start frame, end frame, auto key frame button, keying set dialog, etc) to Graph editor and dope sheet (not just in timeline). maybe a ui option in prefs to turn this on or off

Sorry for giant wall post. This board has no spoiler tags, apparently. I’ve tried to sort it out by the likely-hood that it fits the criteria you are looking for, but keep in mind I’m not a programmer so I have practically no understanding from easy to hard in that regard. I’ve went ahead and included pretty much everything I could think of… within the last couple weeks. I don’t really know where else this kind of stuff should go, so I’ve just put it all here. Have patience with us (especially me) and thanks for keeping in touch with the Blender community.

Must be easy to do…

  • Option to use FoV instead of lens mm for the 3D viewport.
    Users with backgrounds in game development rather than photography/film are accustomed to using FoV. This option already exists for cameras, but is missing for the 3D viewport.

  • “Open Image” option in UV/Image Editor to allow opening multiple selections.
    While you can select multiple files to open with this option in the UV/Image Editor, it only actually loads in the last selected image. Very awkward and unnexpected behavior for the user. This kind of thing needs to change on a global level, this is a good place to start.

  • An option to automatically change your screen layout to a copy/original as soon as something is changed. Alternatively, an option to revert a layout to its original state.
    Often times it’s desireable to keep your original layouts unchanged so that they may contunue to be used in the future. This requires you create a copy of a layout as soon as you switch to one in order to ensure changes made to it do not remain permenant.

  • Whitelist option for auto-execution of Python scripts.
    Handeling of auto-execution paths in Blender is bizarre. Rather than setting your entire computer to “never executes” and then your personal work folder as “except here”, you instead can only either assign your entire computer as “always executes” then have to manually assign every single blacklisted path as “except here”, or set your entire computer to “never executes.” This is, frankly, illogical.

  • Invert option for the vertex group on the shrinkwrap modifier.
    This is a very simple QoL improvement that makes it so that users don’t have to manually create another inverted vertex group in some situations. This kind of thing needs to be made consistent on a global level, this is a good start.

  • Allow changing object origin while in edit mode.
    It’s dumb that users must exit edit mode in order to change an object’s origin. This needless step needs to be removed. Addons have done this, this needs to be in by default.

  • Option to automatically refocus the viewport camera to selected entity/entities in object mode and edit mode.
    I’m not sure if this would actually be enjoyable to use, but it would surely be easy to implement and may be worth it just to investigate possible UI improvements. Basically this would be like hitting numpad del every time you select something in the 3D veiwport. The only problem with this that I can forsee is that the focus feature isn’t great at at finding object bounds while in perspective mode (try it on a cube). Maybe that is something else that can be worked on.

Might be easy to do…

  • Channel-specific (R/G/B/A) image/texture painting.
    In 2.77 we will be able to view all of these in the UV/Image Editor, but (I’m assuming) we still won’t be able to edit them. In particular, this is useful for game developers who will often times combine multiple, different grayscale textures into one image via channels.

  • Proper editing of mirrored (via mirror modifier) topology in edit mode.
    Currently, trying to edit geometry that has been created via a mirror modifier is awkward as your actions actually take place on the original geometry and are therefore mirrored as you edit the mirroed geometry. This is not usable, and it’s honestly perplexing to think that the option to edit mirrored geometry even exists in this state. Like, why is the edit button even on the mirror modifier, lol. Really.

  • Ability to bind toggle type ui buttons to a key.
    Mind-boggling that this hasn’t been implemented yet.

  • Ability to lock selected vertices in place, preventing any edits in edit mode from changing their position. Alternatively, an option in edit mode to make hidden geometry partially visible.
    This would be extremely useful in particular when using proportional editing. Often times you want to have a fairly large area of effect on your proportional editing, but don’t want to change some surrounding geometry. Typically you’d then use the “hide” feature but the issue with that is, well, it hides things. Sometimes you want to see this stuff but don’t want to edit it!

  • Option to prevent manipulation of sliders from updating the preview render in the 3d viewport in realtime and instead only update after manipulation of sliders has ended.
    Adjusting slider values while a preview render is active will leads to sluggish UI interaction. This is quite irritating. An option that disables this should lead to a much more pleasant interactive experience for the user.

  • Offset for Copy Transforms constraint.
    Individual constraints that copy location/rotation/scale have offsets. The Copy Transforms constraint lacks these options entirely, forcing users to use three constraints rather than one.

  • Option to change the maximum samples for material preview render. (And perhaps make it per-material?)
    Currently there doesn’t appear to be a way to change the maximum number of samples that the material preview renders. Occasionally materials will require quite a few samples to get a clean render, even at very small resolutions, in which case this would be desireable.

  • Change behavior of console on close
    Closing the console closes Blender without a prompt. This is unexpected and not ideal behavior. Closing the console should just hide the console again.

  • Option to automatically toggle from preview render mode to another mode while activity is taking place in the 3d viewport.
    Attempting to manipulate anything within the 3D viewport while preview render mode is enabled can often times lead to very sluggish/poor interactivity, which is not ideal for a pleasant user experience. Automatically switching the viewport from preview render mode to another, more interactive mode when the user is attempting to interact with it may be the optimal solution for many.

  • Option to temporarily pause the preview render in the 3d viewport automatically while activity is taking place in the node editor and/or with other ui elements.
    While preview renders are active in the 3D viewport the UI becomes quite sluggish leading to an incredibly unpleasant, sub-optimal interactive experience for users. It is extremely important for UI to remain fluid at all times. Automatically pausing the render while the user makes changes in the UI, then resuming when activity ceases could improve this situation.

  • Automatically enable proportional editing (to last used setting) when you scroll while using grab/rotation/scale in edit mode.
    Proportional editing cannot be enabled/disabled while using various editing tools, forcing users to cancel their action in order to enable proportional editing. This needs to change on a global level. This is a good place to start.

  • Allow removing materials on hidden objects.
    Stupid and irritating, arbitrary (to users) limitation. Needs to go.

  • Veiwable and usable history of recently searched for items for the search tool.
    Either a list of recently searched terms input by the user or recently used parameters accessed via the search tool. Typically when I use something once that I found with the search tool, I end up using it again. This would be a fantastic workflow speedup.

Probably not easy to do…

  • Option to load/use a custom matcap.
    Particularly important for sculpters coming from other sculpting applications who will want to use thier own matcap library. Blender currently lacks a way to add matcaps in a way that is integrated/consistant with matcap display option.

  • Appending screen layouts.
    While users can create custom layouts in thier default scene that can be used with all of their future projects, they can’t use those same layouts with projects that were created prior to that, or come from different users. On top of that, new layouts created in new projects cannot then be added to the default scene easily or shared with other projects easily.

  • Support for disconnected edges with the wireframe modifier.
    It’s sometimes desireable to render disconnected edges. To the user, it’s bizarre that faces are required for the wireframe modifier, which is all about rendering edges and NOT rendering faces.

  • Prevent preview renders in the 3d viewport from updating after irrelevant changes are made (particularly in the material node editor).
    Example: When you delete/modify a node not connected to anything, or add a node not connected to anything. Annoying. Needs fix asap.

  • Ability to expand headers so they can be more than one row tall. Optionally, additionally allow headers to automatically sort buttons between rows to fit into the window.
    When windows are short horizontally, headers cannot display all of the options available to users. This forces users to have to interact with the header more than desired in order to change these obscured options. By allowing the header to be more than one row tall, this gives the user all of the options available while maintaining the horizontal size of the window.

Continued from previous post. You can probably just ignore these though, as I’m fairly sure they aren’t the kind of thing you are looking for. But as I previously stated, don’t know where else to post this sort of thing.

Probably doesn’t fit here, but something worth looking into by others…

  • Change vertical tabs from text to icons.
    Text is often too large to fit tabs and difficult to read vertically for some. Therefore it may make more sense to use icons insted. Adding text in the form of toolips on hover can further improve this change.

Definitely doesn’t fit here, but something worth looking into by others…

  • Multi-res and/or Dyntopo for vertex color painting.
    Vertex color painting is incredibly useful for many different reasons. In particular, because it doesn’t require UV unwrapping, it’s great for visualizing textures/colors on models that are still in development and will still undergo (sometimes dramatic) topology changes. This is especially useful for sculpts, which do not have optimal topology and need to be retopologized at a later time.

  • Texture input support for Cycles hair particle “Width”, “Root Width”, and “Tip Width” settings. (Or failing that, a material node that fakes it.)
    As in, make some areas of the emitter mesh have strands with lower width than others. It would be very useful to control these properties with textures, particularly for fur. I am absolutely, one hundred percent certain this can be faked with materials, using a base width that is then scaled down via transparency, but I am not a math person and I don’t even know where to begin with this (believe me, I’ve tried).

  • Simplified texture baking solution.
    Baking textures in Blender, whether it be via Cycles or the internal renderer, is extremely convoluted and confusing, even to veteran Blender users. This needs to be addressed. Baking should, ideally, be handeled entirely through the “Bake” dropdown menu in the Scene tab, and not require the user to do anything outside of it. Third party solutions exist with addons but this is something that needs to be improved officially.

  • Ability to link a Sky Texture (the node, not images) to a sun lamp in Cycles.
    Make sky and sun direction and colors consistant. Really needed. Possibly been done by third parties with addons but should be in by default. Alternatively, you could have a generated mesh with an emission material based on the Sky Texture properties.

  • Option to automatically toggle from edit mode to object mode and back after x# of edits have been made.
    I’m not sure if this would actually make sense to implement, and yes I know that this is what automatic saves are for, but it’s just a thought I had… Everyone knows how utterly volitile Blender’s history state system is, right? This is mostly due to how an undo in object mode then a switch into edit mode will wipe all object mode history states that occur after that, which can mean MASSIVE changes in a single edit mode session lost. By having Blender automatically force users out of edit mode after a number of changes are made, this creates more history states in object mode, making it less likely to lose massive amounts of work with a single mistake. The only issue that I can think of with this is that the operator would need to be made to retain the last edit when you leave edit mode.

@ideasman42 Wow thats a great news,

I have another one, this one seams a bit more complicated but i think that it can be really useful for texture paint and vertex paint.
So i would like to able to paint with brush being projected to surface normal. Right now it uses View Plane as default. Ive made comparison video to show how this was handled in other 3d painting apps.

As you can see, best way to handle this type of situation was made in substance painter and i would like to have same solution in blender.


here are a few features

1 - Is it possible to make Ctrl-M mirror work the same in Edit and object mode !

2 - a few more primitives like

  • parabola
  • ellipse but with std parameters ( a , b ) for more precision
  • new sphere type

3 - how about having some sort of spin circular modifier

thanks
happy bl

Change a lot of the words of commands in Blender. Today nobody duplicates text or excel cells, you make a copy. And when you make a copy you are automatically sent to a Grab command. Grab? what is that??? Shall I grab some cube and then move it? And here is a goodie: “Animated transform to Deltas” what on earth is that? How can you move somthing to a delta? Define dx - thats a tangent when dx go to 0? So when you whant to copy a animated cube with animation in it, then of course the animation shall automaticcaly ble copied to new location as well. This is just some small areas where Blender casuses a huge obstacle for newbees like me when logick not at all follow todays convention. Left click or right click - how can this even be a discussion today??? If Blender fanatics dont whanna change anything then Blender will die with them, but if you whant to keep newbees coming in and stay with this GREATH software then PLEASE, PLEASE redesign the workflow and command logick of system. If possible I will contribute with more og my newbee experiences and how difficult I find some “simple” tasks - Other than that - its an insane good system :slight_smile:

There is no logical reason for me that a object with a follow path constraint AND a particle system must have a Baked animation BEFORE the particle system will behave correct. Such dependencies are not explained anywhere and are just counter intuitive.

Could be useful for meshes that don’t have clear inside-outside, but think “Picking a normal randomly” isn’t really going to give users good results. (could use the view vector for example, or the normal of the largest face…).

However current calculate normals code is already attempting to unify normals. So would need to see some more information on how you would expect this to work… is it just making normals point outwards?, from your description it sounds like you want to make all normals aligned, thats OK but only works for flat surfaces, so its a bit limiting too.

Here’s an easy one: Make cursor snapping take derived mesh into account. Currently, if you’re working with applied edit cages from modifiers and you do any kind of snap-cursor ops or try to use the widgets, they appear at the original location of the vert/face/edge, not the location after modifiers are taken into account.

Here’s a possibly not-so-easy one:
Fix spline IK dependencies with hooks (and possibly spline IK in general). Spline IK works “good enough” in many cases on its own, but once you set up hooks to spline control points to make it useful for any kind of animation, the depsgraph breaks and changes take extra frames to propagate through the rig, and canceled actions aren’t registered until another additional action is taken that forces and update.

LMB on the timeline does not do anything. Why not? RMB sets the current time??? This is totally opposite. RMB should bring up Marker menu. LBM should set time and also be able to select and move keyframes on timeline (click and drag).

I have concerns about adding view actions to the undo stack. I constantly orbit and pan around my objects to get a good sense of them in 3d, and it wouldn’t take me long to fill up the entire undo buffer with just view controls. If they were managed as a separate stack, that wouldn’t be terrible, but I know what a cluster the separated object/edit undo stack is, som I am hesitant to pursue that idea as well. I’m sure there is some clever way to do it, but I’m not sure what exactly it is.

Autocad has view controls as an undoable action, but selection actions are not undoable. totally obnoxious when I have a big selection set and I need to undo.

The one thing on my wishlist for now is making 3d cursor movements undoable.

Okay these are all hacks i found would be useful in production due to my experience in commercials and now games, they are listed in no particular order.

  1. a checkbox to render all layers and passes in their own folder/subfolders like: c:/myproject/layername/passname/filename.0001

  2. the hability to render from the last frame towards the beginning ( for instance when you’re rendering the same file with two computers and want them to meet somewhere in the middle)

  3. a filter to make only a type of objects selectable (i.e.: when i’m animating a rig, i dont want to select geometry and this is often an issue, so a button to toggle what you can select and cant select based on object type is useful)

  4. automatically add Fake User to an action that has been appended (mostly useful when you want to have many actions in a rig)

  5. ability to delete vertex groups but keep the locked ones, or something similar, same thing with shapekeys

  6. being able to open/close modifier properties with A, just like you’d do with every other panel.

i can’t remember the rest now, but there are a few there =)

Cheers!!!

A separate “view history” in the camera controls wouldn’t be so bad I think. A nice middle ground between a complicated undo stack and no history at all.

This is possible, see “bpy.ops.wm.context_*” operators, its just not very convenient to set these up since you need to know the RNA path relative to bpy.context.

A couple of UV editor suggestions:
Normalised UVs by default. Normalised uvs are the industry standard and also make it easier to manipulate uvs with specific values as the user doesn’t need to take into account the resolution of the currently active image.
Resolution independent image display. It’s annoying when you change the loaded image in the uv editor and the editor appears to zoom in or out because the resolution was different. Make the image always fit a standard height (or 0-1 square).
Show image applied to first texture slot of material by default. When an image is not pinned, the image in the uv editor should be selected based on the material applied to the current mesh. If no texture is assigned, leave an empty grid.
Display uvs of all selected objects by default. Why else would you have multiple objects selected when uv editing if you didn’t want to see all UVs? Would REALLY love the ability to edit multiple object uvs simultaneously too, but I’m guessing this isn’t a quick hack…

Also:
Vertex snap by default. I don’t understand why anyone other than someone working to an exact grid scale would want to use grid snap. For any kind of free-form modelling, vertex snap is far more useful. It’s also hard to tell what you are snapping to as the grid is 2d only, so snap points are not visible.
Correct uvs on slide by default. There are times when you don’t want to do this, but I feel that most of the time you do want to correct uvs to avoid stretching. Too subjective? Note that if you enable/disable it in the redo panel, it often messes up the vertex position of the operation and you have to undo and redo for it to work, so maybe that could be fixed?

I would love to see these additions, as I have recently used channels of vertex colour to affect texture scrolling on a game asset, and using the blur tool gave me slightly polluted colours, so I had to set the rgb value manually to each vertex to keep the data clean. Adding alpha would also be very useful as it gives us one more channel that can be used for shader effects etc. It would be great to be able to display each channel isolated as greyscale too (or color r,g,b or grey depending on channel, as with Photoshop’s channels).

invert existng rgba channel values (invert rgb by default but with rgba channel checkbox mask in redo) would also be handy :slight_smile:

I want to be able to copy an objects location (all three coordinates) and paste it to the same object on a later frame without opening the Dope sheet. If this is possible already, please enlighten me!
Edit: for example if you right click the location in the properties shelf, and you can insert keyframe or single keyframe it could also be a copy location or copy single location.

A clone brush in Vertex Paint would also be nice.

Open multiple scripts when using open text in the text editor.

Making the drag & drop functionality accessible from a Python API would be brilliant. For example dragging from browser to the image editor and automatically importing that picture with Python. Dragging to an object and automatically making a material for that object from the image, etc…

Note that changing defaults is more of a design-task and typically only one line changes.
Changes to defaults we just need to agree on, then existing developers can commit, having others work on them isn’t really helping us.