We are getting warm…
The trouble with this solution is that I need a geometry to paint on.
I want to use my solution to squetch points when there is nothing in the scene.
I think I will create a plane to paint on, oriented with the construction plane or the camera.
But if you have some idea to do it like the object creation (the box projected in the scene that show where the object will be…) it could be better.
Thanks, you already help me a lot
Found 25 posts.
Search results Show results as topic list.
Technical Discussion » Sketching with mouse events ?
- dealer2couleurs
- 25 posts
- Offline
Technical Discussion » Sketching with mouse events ?
- dealer2couleurs
- 25 posts
- Offline
Could you detail please.
It was my first idea but I look for mouse input in chop and it only give me some mouse coordinates in screen space.
Is there an other node to get the mouse button status?
and after that, how did you project this coordinates into your scene ( with 2 screen if I remenber the coordiantes are from -1 to 3 in tx)
It was my first idea but I look for mouse input in chop and it only give me some mouse coordinates in screen space.
Is there an other node to get the mouse button status?
and after that, how did you project this coordinates into your scene ( with 2 screen if I remenber the coordiantes are from -1 to 3 in tx)
Technical Discussion » Sketching with mouse events ?
- dealer2couleurs
- 25 posts
- Offline
Hi,
I want to create a sketching interface for Houdini. I think the way to go is to create an event handler but I'm not sure where to start.
I want to create a tool that could be activated in Houdini and which will records mouse button events and mouse moves in order to paint curves inside the viewport. ( I want to record the mouse position when the left mouse button is pressed and use the recorded positions to draw a curve in the viewport)
I was looking for the event handler in the HDK but I cannot find a lot of informaiton on it. I found the MSS_CustomBrushState in the samples files. It looks like if I use it as a template (that's means inherite from MSS_singleOpState) I can handle mouse events and records mouse position and apply some computation on the records… but
My knowledge in Houdini are still in progress and my knowledge in the HDK is NULL.
Before to start playing around withg the code and testing my ideas, I prefer to get your gourou advices…
Leave comments if you think this is the way to go or if you think I miss a point. Moreover, if you already have some solutions similar, I'm really interested to see them or to get your advices.
Thank you for reading
Nicolas
I want to create a sketching interface for Houdini. I think the way to go is to create an event handler but I'm not sure where to start.
I want to create a tool that could be activated in Houdini and which will records mouse button events and mouse moves in order to paint curves inside the viewport. ( I want to record the mouse position when the left mouse button is pressed and use the recorded positions to draw a curve in the viewport)
I was looking for the event handler in the HDK but I cannot find a lot of informaiton on it. I found the MSS_CustomBrushState in the samples files. It looks like if I use it as a template (that's means inherite from MSS_singleOpState) I can handle mouse events and records mouse position and apply some computation on the records… but
My knowledge in Houdini are still in progress and my knowledge in the HDK is NULL.
Before to start playing around withg the code and testing my ideas, I prefer to get your gourou advices…
Leave comments if you think this is the way to go or if you think I miss a point. Moreover, if you already have some solutions similar, I'm really interested to see them or to get your advices.
Thank you for reading
Nicolas
Houdini Indie and Apprentice » converting a forming geometry in to a rbd object
- dealer2couleurs
- 25 posts
- Offline
I try to do something similar few times ago,
but I'm still learning Houdini and I cannot figure how to do it.
I didn't work anymore on this but my last idea was to try with particules. If you create a particule in the middle of each of your chunks. I think you can use them to compute individual collision. The only thing I don't know is if we can use a piece of geometry to compute the collision of the particule… a teapot… or a chunk.
use connectivity to get an id foreach of your chunks, then use this id to create the corresponding particule (in the center, with the same id) then use collision for particules and if possible change the geometry used to collide the particule…
If you find your answer, I'm curious to know it so I can go back on my older tests and finish them…
but I'm still learning Houdini and I cannot figure how to do it.
I didn't work anymore on this but my last idea was to try with particules. If you create a particule in the middle of each of your chunks. I think you can use them to compute individual collision. The only thing I don't know is if we can use a piece of geometry to compute the collision of the particule… a teapot… or a chunk.
use connectivity to get an id foreach of your chunks, then use this id to create the corresponding particule (in the center, with the same id) then use collision for particules and if possible change the geometry used to collide the particule…
If you find your answer, I'm curious to know it so I can go back on my older tests and finish them…
Houdini Indie and Apprentice » [RESOLVED] Parenting objects like joints
- dealer2couleurs
- 25 posts
- Offline
Thats perfect…
exactly what I needed…
I will remember that function for sure.
thank you so much
All the time it's the same. I know what I want and I'm pretty sure there is an easy way to do it. But finding that way is not easy.
exactly what I needed…
I will remember that function for sure.
thank you so much
All the time it's the same. I know what I want and I'm pretty sure there is an easy way to do it. But finding that way is not easy.
Houdini Indie and Apprentice » [RESOLVED] Parenting objects like joints
- dealer2couleurs
- 25 posts
- Offline
alright thank you,
And is there a way to do that automaticaly…
like an expression to access an attribute from the parent node…
I could do it if I specify for each node the name of is parent,
then I could use a fetch node to get the parenting informations and some expression to access parent attributs.
But I'm looking for a better way to do that, using the fact that the node are connected.
I see some python script to retrieve parent of a node, but I don't know how I can make this kind of script to be evaluated each time the parent attribut change and/or each time the parent change.
And is there a way to do that automaticaly…
like an expression to access an attribute from the parent node…
I could do it if I specify for each node the name of is parent,
then I could use a fetch node to get the parenting informations and some expression to access parent attributs.
But I'm looking for a better way to do that, using the fact that the node are connected.
I see some python script to retrieve parent of a node, but I don't know how I can make this kind of script to be evaluated each time the parent attribut change and/or each time the parent change.
Houdini Indie and Apprentice » [RESOLVED] Parenting objects like joints
- dealer2couleurs
- 25 posts
- Offline
hi,
I know I have a lot of question, but I'm working with bones and there is a lot of stuff I want to do but I'm not sure it's possible or really easy.
I see that when you parent two bones, the child goes automaticaly to the end of the parent (except if using the “keep posiiton when parenting”). I was wondering if we can do the same with others objects like for exemple a line or a sphere.
For exemple I got two lines with length L1 et L2. I want the line l2 to go at the end of the first one and staying at the end if I change the length of l2….
I know I can do it if I just translate the line l2 corresponding to the length of l1, but I want an automatic way to do it…
Maybe looking for the parent attribut length…
But I cannot figure how to do it…
thanks for your ideas,
I really like this community.
I hope I will be helpfull for you soon
I know I have a lot of question, but I'm working with bones and there is a lot of stuff I want to do but I'm not sure it's possible or really easy.
I see that when you parent two bones, the child goes automaticaly to the end of the parent (except if using the “keep posiiton when parenting”). I was wondering if we can do the same with others objects like for exemple a line or a sphere.
For exemple I got two lines with length L1 et L2. I want the line l2 to go at the end of the first one and staying at the end if I change the length of l2….
I know I can do it if I just translate the line l2 corresponding to the length of l1, but I want an automatic way to do it…
Maybe looking for the parent attribut length…
But I cannot figure how to do it…
thanks for your ideas,
I really like this community.
I hope I will be helpfull for you soon
Edited by - June 1, 2010 15:55:20
Houdini Indie and Apprentice » I this possible to create a new node type from existing node
- dealer2couleurs
- 25 posts
- Offline
Hi,
I just try to modify some nodes and save the result as a new type of node, but I cannot figure how it's working.
For exemple, I create a bone node at object level, but I want to add some extra locators in it and save the result as a new digital asset called myBone…
I try different way to do it but each time it is simply changing the definition of the bone node or loosing the parameters informations.
for exemple: if I try to use the change type function when you right click on the node, I can change the type, keep the network but even with the keep parameters button enable, I loose all the parameters of the bone node…
What can be missing?
Do you have an idea?
I don't want to recreate it from scratch, because I need the same interface than the bone node…
I just try to modify some nodes and save the result as a new type of node, but I cannot figure how it's working.
For exemple, I create a bone node at object level, but I want to add some extra locators in it and save the result as a new digital asset called myBone…
I try different way to do it but each time it is simply changing the definition of the bone node or loosing the parameters informations.
for exemple: if I try to use the change type function when you right click on the node, I can change the type, keep the network but even with the keep parameters button enable, I loose all the parameters of the bone node…
What can be missing?
Do you have an idea?
I don't want to recreate it from scratch, because I need the same interface than the bone node…
Technical Discussion » VEX code execution bug ?? I think so
- dealer2couleurs
- 25 posts
- Offline
Sorry for the mistake, but it's not what give me the error.
it's due to copy/paste/clean of the code.
if you look on the file, you will see there is no additional bracket.
I will edit my first post to correct my mistake..
thank you for pointing that,
it's due to copy/paste/clean of the code.
if you look on the file, you will see there is no additional bracket.
I will edit my first post to correct my mistake..
thank you for pointing that,
Technical Discussion » VEX code execution bug ?? I think so
- dealer2couleurs
- 25 posts
- Offline
I have prepare a little scene for the bug.
I don't know if I'm in the right section of the forum to post it.
Just open the scene,
load the library
and don't unlock the nodes…
I hope you will find what's going on.
And I wait for some advices…
I don't know if I'm in the right section of the forum to post it.
Just open the scene,
load the library
and don't unlock the nodes…
I hope you will find what's going on.
And I wait for some advices…
Technical Discussion » VEX code execution bug ?? I think so
- dealer2couleurs
- 25 posts
- Offline
Hi,
I got a weird kind of bug in VEX code.
I try to read an attribut with an index.
int index = indexs;
import(sprintf(“translation_%d”,index), Translation, 1,0);
doesn't work but
int index = indexs;
int k =0;
int l =1;
for(k=0; k < l; k++)
{
if(index== k)
{
import(sprintf(“translation_%d”,k), Translation, 1,0);
}
else
l+=1;
}
works fine…
I canno't show my file or code but I will try to recreate the error on a simple file tomorow. It looks like there is something wrong when it create the int from the float array (int index = indexs because if I put some value by hand, the results are correct but if I try to get them from my float array, the results are wrong.
The workaround I found was to create an int and increment it until it was equal to the value I need. What I found really weird is that the value index seems to be initialized with the good value ( when I print it or compare it) but it's not interpreted the right way when importing the attribut.
hope you have some idea…
I got a weird kind of bug in VEX code.
I try to read an attribut with an index.
int index = indexs;
import(sprintf(“translation_%d”,index), Translation, 1,0);
doesn't work but
int index = indexs;
int k =0;
int l =1;
for(k=0; k < l; k++)
{
if(index== k)
{
import(sprintf(“translation_%d”,k), Translation, 1,0);
}
else
l+=1;
}
works fine…
I canno't show my file or code but I will try to recreate the error on a simple file tomorow. It looks like there is something wrong when it create the int from the float array (int index = indexs because if I put some value by hand, the results are correct but if I try to get them from my float array, the results are wrong.
The workaround I found was to create an int and increment it until it was equal to the value I need. What I found really weird is that the value index seems to be initialized with the good value ( when I print it or compare it) but it's not interpreted the right way when importing the attribut.
hope you have some idea…
Edited by - May 4, 2010 15:54:23
Houdini Indie and Apprentice » "origin" return rotations between 90 and -270
- dealer2couleurs
- 25 posts
- Offline
Tnak you for your answer,
As I was thinking, it's not a trivial solution.
I will continue with “origin” for now
As I was thinking, it's not a trivial solution.
I will continue with “origin” for now
Houdini Indie and Apprentice » "origin" return rotations between 90 and -270
- dealer2couleurs
- 25 posts
- Offline
I don't know a lot the quaternions, but
don't you think I can compute for each transformation matrix the corresponding quaternions and use them to compute the final quaternion to rotate my object…
I had the feeling that it couldn't be done with matrix but maybe with quaternion…
don't you think I can compute for each transformation matrix the corresponding quaternions and use them to compute the final quaternion to rotate my object…
I had the feeling that it couldn't be done with matrix but maybe with quaternion…
Houdini Indie and Apprentice » "origin" return rotations between 90 and -270
- dealer2couleurs
- 25 posts
- Offline
I have some trouble with the origin expression.
I try to use it to retrieve the rotations values of an object in world space but it didn't return the expected result.
If you look my exemple, you will see that the rotations values retrieved with “origin”, are modified and are always between 90 et -270. But I need the real rotation angle. For exemple if I rotate the object by 360 I don't want to get 0.
Maybe I need to use an other function than origin, or maybe I need to recreate one. I was thinking that the only solution is to create a new expression function that will read all the parenting hierachy and compute the reals rotation values, but I'm not sure I could do it beter than the guy who have made the origin function (I'm not sure it's faisable)
Please tell me what you think.
Can I do it or is it not possible because of some mathematical problemes…
I try to use it to retrieve the rotations values of an object in world space but it didn't return the expected result.
If you look my exemple, you will see that the rotations values retrieved with “origin”, are modified and are always between 90 et -270. But I need the real rotation angle. For exemple if I rotate the object by 360 I don't want to get 0.
Maybe I need to use an other function than origin, or maybe I need to recreate one. I was thinking that the only solution is to create a new expression function that will read all the parenting hierachy and compute the reals rotation values, but I'm not sure I could do it beter than the guy who have made the origin function (I'm not sure it's faisable)
Please tell me what you think.
Can I do it or is it not possible because of some mathematical problemes…
Houdini Indie and Apprentice » [RESOLVED] Paint float array with more than 3 component
- dealer2couleurs
- 25 posts
- Offline
Thank you so much Soothsayer…
My test show me that it's not working because I think the color will reflect the attribute values. But in fact when you change he attribute name in the paint sop, the colors don't updates but as you said, the attribut values are correct. In order to update the colors, I need to desactivate and then reactivate the override color toggle…
As you said, I will put all my values in differents attributs so I will be able to paint them separetly.
My test show me that it's not working because I think the color will reflect the attribute values. But in fact when you change he attribute name in the paint sop, the colors don't updates but as you said, the attribut values are correct. In order to update the colors, I need to desactivate and then reactivate the override color toggle…
As you said, I will put all my values in differents attributs so I will be able to paint them separetly.
Houdini Indie and Apprentice » [RESOLVED] Paint float array with more than 3 component
- dealer2couleurs
- 25 posts
- Offline
I decide to go with a script,
I have create a subnet where I need to paint my attributes and if I specify the subnet as editable, the user or a script can add all the nodes he want in it, so I assume it will allow me to get what I want.
My only stress now is to see him working with a high number of attributs. I hope it will not be too slow or too heavy.
I have create a subnet where I need to paint my attributes and if I specify the subnet as editable, the user or a script can add all the nodes he want in it, so I assume it will allow me to get what I want.
My only stress now is to see him working with a high number of attributs. I hope it will not be too slow or too heavy.
Work in Progress » Metallic paint shader v002
- dealer2couleurs
- 25 posts
- Offline
Nice shader….
I really like the sparkle effect
If I wasn't the one who help you, I will ask you how it's done…
I really like the sparkle effect
If I wasn't the one who help you, I will ask you how it's done…
Houdini Indie and Apprentice » [RESOLVED] Paint float array with more than 3 component
- dealer2couleurs
- 25 posts
- Offline
I got an idea that could be really nice,
but I'm pretty sure it will not work…
Do you think I can use a copy stamping in order to get the same paint node but affecting differents attributs based on the copy number.
I think it will not work because all the paint nodes will have the same painting informations but maybe there is a way to do the trick…
Or maybe there is a way to store the result of the paint node and connect it back in his input… so if I change the modified attribut, it will not erase the modification but use them as an input an continue painting an other attribute value…
Or maybe i'm just stuck and there is no way except using a paint node foreach of my values…
Or maybe I can recreate a kind of paint tool that allow to paint custom attributs values.. but I don't have any idea on how to do it
But I think that if I can paint the color by channel, I can also paint an attribute with more than 3 channels…
I got a lots of ideas
but I don't know if they are reasonable
C&C and advices are really appreciate
but I'm pretty sure it will not work…
Do you think I can use a copy stamping in order to get the same paint node but affecting differents attributs based on the copy number.
I think it will not work because all the paint nodes will have the same painting informations but maybe there is a way to do the trick…
Or maybe there is a way to store the result of the paint node and connect it back in his input… so if I change the modified attribut, it will not erase the modification but use them as an input an continue painting an other attribute value…
Or maybe i'm just stuck and there is no way except using a paint node foreach of my values…
Or maybe I can recreate a kind of paint tool that allow to paint custom attributs values.. but I don't have any idea on how to do it
But I think that if I can paint the color by channel, I can also paint an attribute with more than 3 channels…
I got a lots of ideas
but I don't know if they are reasonable
C&C and advices are really appreciate
Houdini Indie and Apprentice » [RESOLVED] Paint float array with more than 3 component
- dealer2couleurs
- 25 posts
- Offline
Hi,
I have some trouble with the paint attribute sop.
I have an array attribute with a variable number of composants and I need to be able to paint each of them separetly based on an integer parameter used as an index.
For that purpose I create a single float attribute, I transfert the selected composant of my array in this float value ( point(“node”, $PT, “arrayAttribut”, ch(“./Index”) ) . After that I use a paint sop to modify the floats values and I transfert them back into the array…
The trouble come when I change the index of my input. I'm able to paint a new component (the one specified by the index) but I loose the previous modifications.
I understand why it's not working but I don't see what could be the solution…
The only solution that I see is to use a paint node foreach of my composants, but I'm looking for an other way because the number of composants can be really high…
I hope I'm enough clear, and you will have some ideas for that.
actually, I'm thinking to use a script to create all the paint sop I need based on the maximal index value, but I never do such a thing and I have the impression that using 10000 paint sop will slow down my setup and will increase a lot my scene file…
what do you thing …
Do you see an other way…
I have some trouble with the paint attribute sop.
I have an array attribute with a variable number of composants and I need to be able to paint each of them separetly based on an integer parameter used as an index.
For that purpose I create a single float attribute, I transfert the selected composant of my array in this float value ( point(“node”, $PT, “arrayAttribut”, ch(“./Index”) ) . After that I use a paint sop to modify the floats values and I transfert them back into the array…
The trouble come when I change the index of my input. I'm able to paint a new component (the one specified by the index) but I loose the previous modifications.
I understand why it's not working but I don't see what could be the solution…
The only solution that I see is to use a paint node foreach of my composants, but I'm looking for an other way because the number of composants can be really high…
I hope I'm enough clear, and you will have some ideas for that.
actually, I'm thinking to use a script to create all the paint sop I need based on the maximal index value, but I never do such a thing and I have the impression that using 10000 paint sop will slow down my setup and will increase a lot my scene file…
what do you thing …
Do you see an other way…
Edited by - April 7, 2010 09:57:36
Houdini Indie and Apprentice » Iterate pointGroup by groupCount or trough list of groupName
- dealer2couleurs
- 25 posts
- Offline
Thank you Swann_, I get it to work with argc…
Maybe this is not the better way to iterate over point groups, but here is the solution I have for now
FOREACH number
1 -> argc( pointgroupmask(“../group2”, “group2*”))
with pointgroupmask, I get the list of all my groups and with argc, I get the number of groups in the list…
after that, I use
group2`stamp(“../../foreach1”,“FORVALUE”,0)-1` as the group name
to compute only for the specified group. The “-1” is used because my groups numbers started at 0.
I hope it can help peoples,
Maybe this is not the better way to iterate over point groups, but here is the solution I have for now
FOREACH number
1 -> argc( pointgroupmask(“../group2”, “group2*”))
with pointgroupmask, I get the list of all my groups and with argc, I get the number of groups in the list…
after that, I use
group2`stamp(“../../foreach1”,“FORVALUE”,0)-1` as the group name
to compute only for the specified group. The “-1” is used because my groups numbers started at 0.
I hope it can help peoples,
-
- Quick Links