point position from group

53 views
Skip to first unread message

Sebastian Kowalski

unread,
Jan 23, 2013, 11:07:26 AM1/23/13
to soft...@listproc.autodesk.com
hey list,

i am asking myself what type of array i get when i am reading point position from a group of geometries..
when i try to plug that into an vector per object i am expecting a long list of vectors. but ice won't allow that.
to my surprise it is giving me a context mismatch saying that point position is per point of the first element in the group.
now thats new.. i always thought that reading a group is losing all connection to the elements its holding.

kine.global makes no such fuss, thats simply an ordinary array of 4x4 matrices.
its obvious that this has to do with the context, point position is per point. kine.global is per object.

what i am doing is ice merging a group of equal characters to one mesh.
reading and writing topo is kinda slow, so i thought just passing some vector arrays on a freezed merged mesh should be faster. in my understanding the point order of the merged mesh is starting with the first (generated) element
point order and that would be just an offset by nbpoints of the other elements in the group. (just checked it on a simpler scene and thats correct)
normally i would try to build an array from set, but that somehow is fucking up the point order�
reading point location and than the position crashes without warning.

still can go the setting topo way, but that problem is showing me a fundamental misunderstanding on my side, of how ice handles stuff.

what you guys think?

sebastian







Stephen Blair

unread,
Jan 23, 2013, 11:19:04 AM1/23/13
to soft...@listproc.autodesk.com
It's always been that way

Peter Agg

unread,
Jan 23, 2013, 11:19:34 AM1/23/13
to soft...@listproc.autodesk.com
Get Data (group) -> Get Data (Point Position) -> Select in Array (with the index of the geo you want to copy) -> Switch Context -> Set PointPosition

should work.

That's all presuming that the point count is the same for all the geo in the group, that is - otherwise it won't do anything, which seems to be ICE's default behaviour with mis-matching per point counts.



On 23 January 2013 16:07, Sebastian Kowalski <li...@sekow.com> wrote:
hey list,

i am asking myself what type of array i get when i am reading point position from a group of geometries..
when i try to plug that into an vector per object i am expecting a long list of vectors. but ice won't allow that.
to my surprise it is giving me a context mismatch saying that point position is per point of the first element in the group.
now thats new.. i always thought that reading a group is losing all connection to the elements its holding.

kine.global makes no such fuss, thats simply an ordinary array of 4x4 matrices.
its obvious that this has to do with the context, point position is per point. kine.global is per object.

what i am doing is ice merging a group of equal characters to one mesh.
reading and writing topo is kinda slow, so i thought just passing some vector arrays on a freezed merged mesh should be faster. in my understanding the point order of the merged mesh is starting with the first (generated) element
point order and that would be just an offset by nbpoints of the other elements in the group. (just checked it on a simpler scene and thats correct)
normally i would try to build an array from set, but that somehow is fucking up the point order…

Sebastian Kowalski

unread,
Jan 23, 2013, 11:24:48 AM1/23/13
to soft...@listproc.autodesk.com
additional:

now i understand how the build array from set works and why i get a different point order.
first it gets all values of every first element of all the sets in the group than the second �
that is making sense. so i need to rearrange that array. problem is that the every character consist of several geomtries with different point counts� so there goes my rearranging

Sebastian Kowalski

unread,
Jan 23, 2013, 11:27:15 AM1/23/13
to soft...@listproc.autodesk.com
exactly, it is just turning red. 
well, learned something new today.

benjamin malartre

unread,
Jan 24, 2013, 4:38:06 AM1/24/13
to soft...@listproc.autodesk.com
Beside the different point order you get there is an other issue:

If your geometries have different point counts, you can only get the Nth point position on each geo,
N corresponding to lowest NbPoints of the geometries in that group.

ie: you have a geo with 8 points, an other with 16 and the last with 32, you can only access the first 8 points on each geometries

ben

Vincent Ullmann

unread,
Jan 24, 2013, 8:51:36 PM1/24/13
to soft...@listproc.autodesk.com
Not sure what exactly you want to do...

If you want to have all the Points of the GroupMembers:
you yould use the "Generate Sample Set"-Node, and set it to "EmissionType = Points" and "Rate = All Points"

If you want to get alle Points of ONE Groupmember:
try the ICE-Tree in my attatchment... works on a simple Scene.

Or... if you want to get all the Points of all Groupmembers, and the corresponding GroupIndecies...
Try the Advanced-Setup

Hope this helps....
PointsOfGroup.jpg
PointsOfGroup_advanced.jpg
Reply all
Reply to author
Forward
0 new messages