Specify per-object distribution ratio for moss use case #84608
Labels
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: blender/blender#84608
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
When instancing from a collection it is important to be able to specify at which ratio each object is instanced.
Existing workaround is to separate the points beforehand.
Prototype: P1906
{F9592504 size=full}
{F9603726 size=full}
Added subscriber: @dfelinto
Added subscriber: @JacquesLucke
Below are some notes on different possible solutions.
1. List all objects in the selected collection with their corresponding ratio in the node.
2. Use an integer attribute on points to determine which object are instanced on them.
3. Have multiple inputs and store a weight per input.
@JaquesLucke the 2nd and 3rd ideas are no different than using Point Separate with a couple of Point Instance node, correct?
They would just be a convenient way for users to do that in a single node
Well, that is kind of true for all three options. Convience and flexibility is what we are trying to achieve, right?
I think we should not mix external data (when the collection come from sockets) and local data (per-object count).
When not using "Use Count" it can work as it is now. With the collection that can come via a socket. However when users want to hand pick the use count within the node the collection socket disappears and the collection has to be set inside the node. This should cover the "common every-day use" use case.
Yes, I'm fine with that. It obviously has significantly less flexibility, but should be good enough for now. Also, if we ever decide to change that, writing versioning code to convert that to a more flexible approach should be possible (not so much the other way arount).
An early prototype just to prove the point: P1906
I will move this to a TODO task later, but have it filed for testing now (aka whether the design of the socket/socketless is clear).
{F9592504 size=full}
{F9592507 size=full}
When switching "Use Count" it would be nice to sync the collection from the socket default value and vice-versa
Added subscriber: @zeauro
I like the third option of a weight and type per input.
That is more powerful and more intuitive.
No more global switch forcing to use 1 object or 1 collection.
We could mix simple objects outside or inside collection with a whole collection.
That is more powerful than what we have with less buttons.
Unfortunately, the mock-ups are not great.
We could have something really simple.
Per input settings like type or Whole Collection option could be set in Input panel of sidebar.
In sidebar, there could be a button to convert a collection input into corresponding objects inputs.
And instead of settings a count equal to zero for some objects of collection, user could simply delete inputs.
Edit : Oops. I just realized that I forgot weights.
There could be slider under each input.
Order of inputs could influence reccurence of objects.
I updated the mockup to be a bit more complete.
The proposed design can work and does solve the problem it set out to solve. Therefore I'm moving this task to done.
Changed status from 'Needs Triage' to: 'Resolved'