Found 71 posts.
Search results Show results as topic list.
Houdini Indie and Apprentice » Menu token bug?
- archie
- 71 posts
- Offline
Technical Discussion » VEX Sop Operator
- archie
- 71 posts
- Offline
Hello Mark,
Thank you for your answer. Sure, I know how to compile OTL, but I asked about why the “Dialog Script” doesn't work I'd be grateful if you could explain it.
Thank you for your answer. Sure, I know how to compile OTL, but I asked about why the “Dialog Script” doesn't work I'd be grateful if you could explain it.
Technical Discussion » VEX Sop Operator
- archie
- 71 posts
- Offline
Hi there,
I try to use custom vex file in the VEX Sop Operator. So, I put my “vex” file and “ds” file to the $HOUDINI_PATH/vex/sop and when I create VEX Operator I can choose it from menu (icon “down arrow”), but I don't see my script in “Dialog Script” form (icon “Open file chooser”). I can't realise what I should do that my script is appeared in “Dialog Script” for customizing my params. Could you help me?
I try to use custom vex file in the VEX Sop Operator. So, I put my “vex” file and “ds” file to the $HOUDINI_PATH/vex/sop and when I create VEX Operator I can choose it from menu (icon “down arrow”), but I don't see my script in “Dialog Script” form (icon “Open file chooser”). I can't realise what I should do that my script is appeared in “Dialog Script” for customizing my params. Could you help me?
Technical Discussion » VEX: getsubdivid()?
- archie
- 71 posts
- Offline
Is there any undocumented VEX function that can return a subdivision ID for sample_geometry() ? A method described in the “physicalsss.h” is useless to me.
Technical Discussion » Displacement and Env.light
- archie
- 71 posts
- Offline
Hello,
I have faced with a strange problem when I use micropoly engine with a env. light (direct lighting mode) and displacement. A noise of env light is quite static and constant, but I have a few areas with a strange behavior. They have fast flicker. I have done a few experiments with tuning samples for env.light, dicing for obj, triangulate prims, subdiv. prims, on-off sample lock and tunning jitter for ROP and I have understood, that I can solve that problem if I use a “uniform” dicing for my object.
Of course, I can use a lot of samples for env.light, but it is not solution, because the high level of noise (but consistent and flicker-free) is appropriate for me and a render time of frame is very important. I guess that the “uniform” dicing is half solution, because a camera can move toward objects and using the “uniform” dicing will be useless.
Is there any way to solve that problem? And so, I would like to get a sequence of images with constant noise (flicker-free) by using a low level sampling for env. light (direct lighting mode!) between 0.25 and 1; the micropoly engine for rendering, shading quality 1 or 2 and the displacement shader for objects. Would be great, if the objects will not use manta subdiv.
Also, I have created an example for test and I have done a movie file for illustrate my problem.
I have faced with a strange problem when I use micropoly engine with a env. light (direct lighting mode) and displacement. A noise of env light is quite static and constant, but I have a few areas with a strange behavior. They have fast flicker. I have done a few experiments with tuning samples for env.light, dicing for obj, triangulate prims, subdiv. prims, on-off sample lock and tunning jitter for ROP and I have understood, that I can solve that problem if I use a “uniform” dicing for my object.
Of course, I can use a lot of samples for env.light, but it is not solution, because the high level of noise (but consistent and flicker-free) is appropriate for me and a render time of frame is very important. I guess that the “uniform” dicing is half solution, because a camera can move toward objects and using the “uniform” dicing will be useless.
Is there any way to solve that problem? And so, I would like to get a sequence of images with constant noise (flicker-free) by using a low level sampling for env. light (direct lighting mode!) between 0.25 and 1; the micropoly engine for rendering, shading quality 1 or 2 and the displacement shader for objects. Would be great, if the objects will not use manta subdiv.
Also, I have created an example for test and I have done a movie file for illustrate my problem.
Technical Discussion » Wire solver attracting forces
- archie
- 71 posts
- Offline
Technical Discussion » accessing methods within python sop
- archie
- 71 posts
- Offline
Sorry, I have edited my post above and I have attached file with the another way. Please, read that again.
Edited by - Jan. 27, 2011 07:37:12
Technical Discussion » accessing methods within python sop
- archie
- 71 posts
- Offline
Hello,
There are a lot of ways to do it.
1)I have created another version for you. You can look at the attached file.
I think that these pages from the documentation will be useful for you:
http://www.sidefx.com/docs/houdini11.0/hom/assetscripts [sidefx.com] (This method is described at the end of that page!)
http://www.sidefx.com/docs/houdini11.0/ref/windows/optype [sidefx.com]
2)Also, you can use a simple script for adding your contents from a file into the section called “PythonModule”:
import hou
def addSectionFromFile(hda_definition, section_name, file_name):
sections = definition.sections()
if sections.has_key(section_name):
# Save contents
contents = section.contents()
# Read the new contents
section_file = open(file_name, “r”)
# Add contents
data = ‘%s\n\n’%contents
data += section_file.read()
hda_definition.addSection(section_name, data)
section_file.close()
file_name = ‘%s/myModule.py’%hou.expandString('$HIP')
nodes = hou.selectedNodes()
for node in nodes:
definition = node.type().definition()
#
if node.type().definition() is None or node.isLocked():
continue
#
addSectionFromFile(definition, ‘PythonModule’, file_name)
3)Of course, if you would like to have your script as an external file then you should put it into “$HOUDINI_PATH/python<version>libs”. Then you can call it from “callback script”, for example:
import myModule;myModule.applyButton()
There are a lot of ways to do it.
1)I have created another version for you. You can look at the attached file.
I think that these pages from the documentation will be useful for you:
http://www.sidefx.com/docs/houdini11.0/hom/assetscripts [sidefx.com] (This method is described at the end of that page!)
http://www.sidefx.com/docs/houdini11.0/ref/windows/optype [sidefx.com]
2)Also, you can use a simple script for adding your contents from a file into the section called “PythonModule”:
import hou
def addSectionFromFile(hda_definition, section_name, file_name):
sections = definition.sections()
if sections.has_key(section_name):
# Save contents
contents = section.contents()
# Read the new contents
section_file = open(file_name, “r”)
# Add contents
data = ‘%s\n\n’%contents
data += section_file.read()
hda_definition.addSection(section_name, data)
section_file.close()
file_name = ‘%s/myModule.py’%hou.expandString('$HIP')
nodes = hou.selectedNodes()
for node in nodes:
definition = node.type().definition()
#
if node.type().definition() is None or node.isLocked():
continue
#
addSectionFromFile(definition, ‘PythonModule’, file_name)
3)Of course, if you would like to have your script as an external file then you should put it into “$HOUDINI_PATH/python<version>libs”. Then you can call it from “callback script”, for example:
import myModule;myModule.applyButton()
Edited by - Jan. 27, 2011 07:29:57
Technical Discussion » accessing methods within python sop
- archie
- 71 posts
- Offline
Hello!
I have created a simple example for you. You can look through it.
Perhaps, you have forgotten to switch the script language. You should set Python, because Hscript is the default value.
I have created a simple example for you. You can look through it.
Perhaps, you have forgotten to switch the script language. You should set Python, because Hscript is the default value.
Technical Discussion » Camera filmback?
- archie
- 71 posts
- Offline
3DudeHello,
I'm working on a small camera exporter and need to query the filmback
size (in inches). where/how can I get these informations from my cameras?
I think that http://www.sidefx.com/docs/houdini11.0/ref/cameralenses [sidefx.com] will be helpful for you too.
Houdini Lounge » New Houdini Tool website www.houdinitoolbox.com
- archie
- 71 posts
- Offline
Thanks Graham!
Excellent resource for study and working. The “Parm Utilities” really is excellent and useful tool.
Excellent resource for study and working. The “Parm Utilities” really is excellent and useful tool.
Technical Discussion » VEX: getobjectname()
- archie
- 71 posts
- Offline
Hello Mark,
Thank you very much for your advice. It's really useful. I have checked a little bit and I can say that the “soho_safename” works fine. I was afraid that if I replace “/” to “_” through “soho_safename” then I can't use the getobjectname() as an argument “scope” for sample_geometry() etc. But this did not happen and I'm really pleased. Big thanks!
Thank you very much for your advice. It's really useful. I have checked a little bit and I can say that the “soho_safename” works fine. I was afraid that if I replace “/” to “_” through “soho_safename” then I can't use the getobjectname() as an argument “scope” for sample_geometry() etc. But this did not happen and I'm really pleased. Big thanks!
Technical Discussion » VEX: getobjectname()
- archie
- 71 posts
- Offline
Hello,
I would like to ask about a little improvement for the getobjectname().
The function getobjectname() returns the name of the current “object” whose shader is being run. For example: “/obj/sphere1”.
I would like to use that value for a filename of my point cloud which I will create during rendering.
This could greatly reduce the working time, because I will not need to create a lot of shaders (one shader for each object) or I will not need to create the local material parameter for a point cloud's name to each object.
But at the present moment I can't use that value because I can't replace “/” to “_” for creating a name of file.
Is there a chance to add a argument to the getobjectname() for replacing “/”?
Perhaps, the best solution would be to add some functionality for working with Regular Expressions to VEX.
I would like to ask about a little improvement for the getobjectname().
The function getobjectname() returns the name of the current “object” whose shader is being run. For example: “/obj/sphere1”.
I would like to use that value for a filename of my point cloud which I will create during rendering.
This could greatly reduce the working time, because I will not need to create a lot of shaders (one shader for each object) or I will not need to create the local material parameter for a point cloud's name to each object.
But at the present moment I can't use that value because I can't replace “/” to “_” for creating a name of file.
Is there a chance to add a argument to the getobjectname() for replacing “/”?
Perhaps, the best solution would be to add some functionality for working with Regular Expressions to VEX.
Technical Discussion » oriented bounding box algorithm??
- archie
- 71 posts
- Offline
Hello,
You can find one kind of algorithm in a book called “Mathematics for 3D Game Programming and Computer Graphics”. The algorithm is based on “Principal Component Analysis” and that is quite well documented in the book.
You can find one kind of algorithm in a book called “Mathematics for 3D Game Programming and Computer Graphics”. The algorithm is based on “Principal Component Analysis” and that is quite well documented in the book.
Technical Discussion » The "continue" Statement in VEX
- archie
- 71 posts
- Offline
Technical Discussion » The "continue" Statement in VEX
- archie
- 71 posts
- Offline
Hello,
I would like to understand next thing. Why “continue”does not work the in VEX (I have checked SOP and SHOP)?
I have looked the documentation over and I have not found any limits for this Statement. Of course, I could use an additional a few statements “if else” in my loop, but that is not handy.
I would like to understand next thing. Why “continue”does not work the in VEX (I have checked SOP and SHOP)?
I have looked the documentation over and I have not found any limits for this Statement. Of course, I could use an additional a few statements “if else” in my loop, but that is not handy.
Technical Discussion » breaking wire glue constraints
- archie
- 71 posts
- Offline
I have created a simple example for you. You can look at it.
You can use two parameters for control the “glueconstrain”. You can find them on a node called “add_gluetoanimation” in my example.
The parameter “Threshold”: if it's greater than magnitude of velocity, the “glueconstrain” will be off. If it's less or equal than magnitude of velocity , the “glueconstrain” will be on.
The parameter “Rest Frame”: if it's greater than the current frame, the “glueconstrain” will be on.
You should modify these parameters to achieve a desired result.
You can use two parameters for control the “glueconstrain”. You can find them on a node called “add_gluetoanimation” in my example.
The parameter “Threshold”: if it's greater than magnitude of velocity, the “glueconstrain” will be off. If it's less or equal than magnitude of velocity , the “glueconstrain” will be on.
The parameter “Rest Frame”: if it's greater than the current frame, the “glueconstrain” will be on.
You should modify these parameters to achieve a desired result.
Technical Discussion » A few words about setcurrentlight (int lightID)
- archie
- 71 posts
- Offline
Hello,
I think that I have received answers to most of my questions and I'm a little bit disappointed
I have created a file where I have presented two models (the illuminance loop and the custom loop through getlights()). You can look at them.
The Common conclusions:
1) Usually the custom loop used for high quality sampling of area lights.
2) If you use only one sample (a parameter “Sampling Quality” should be set 0 in my shader) than the quality of shading will be similar to illuminance loop.
3) Since function calls such as shadow_light and sample_light requires an argument “time”to send the ray at, then you can set any fraction of time.
I hoped that this will affect the speed of calculation of motion blur for trace engine. Unfortunately there is not! The speed of calculation has not changed. But this affects the quality of ray-traced shadows (no motion blur in ray-traced shadow). If you need the motion blur in ray-traced shadow, you should set “Use Shading Time” to enable (for my shader of course).
It's all conclusions. In any case the illuminance loop will be faster than custom loop (just a little bit).
If developers or users can add something to my words, I will be glad to read this.
I think that I have received answers to most of my questions and I'm a little bit disappointed
I have created a file where I have presented two models (the illuminance loop and the custom loop through getlights()). You can look at them.
The Common conclusions:
1) Usually the custom loop used for high quality sampling of area lights.
2) If you use only one sample (a parameter “Sampling Quality” should be set 0 in my shader) than the quality of shading will be similar to illuminance loop.
3) Since function calls such as shadow_light and sample_light requires an argument “time”to send the ray at, then you can set any fraction of time.
I hoped that this will affect the speed of calculation of motion blur for trace engine. Unfortunately there is not! The speed of calculation has not changed. But this affects the quality of ray-traced shadows (no motion blur in ray-traced shadow). If you need the motion blur in ray-traced shadow, you should set “Use Shading Time” to enable (for my shader of course).
It's all conclusions. In any case the illuminance loop will be faster than custom loop (just a little bit).
If developers or users can add something to my words, I will be glad to read this.
Technical Discussion » A few words about setcurrentlight (int lightID)
- archie
- 71 posts
- Offline
Hello Tomas,
I think that you are right.
The common problem which I would like to understand that there is difference between the illuminance loop and a custom loop through getlights() and there is a lot of questions for me in this problem.
For example, how well do shading components work together if they have different ways of calculation of light (illuminance loop and getlights) or how well do work light masks or light categories for those components?
What are the advantages or disadvantages of these methods. For example, the illuminance loops are always computed at time = $Time, but the custom loop can computed at any time.
I think that you are right.
The common problem which I would like to understand that there is difference between the illuminance loop and a custom loop through getlights() and there is a lot of questions for me in this problem.
For example, how well do shading components work together if they have different ways of calculation of light (illuminance loop and getlights) or how well do work light masks or light categories for those components?
What are the advantages or disadvantages of these methods. For example, the illuminance loops are always computed at time = $Time, but the custom loop can computed at any time.
Technical Discussion » obj normal's problem ( on specularity and reflections only )
- archie
- 71 posts
- Offline
Hi Zarti,
I think that the “Geometric Tangent” will work properly in latest builds. There has fixed a few problems for phonglobe() that typically being used for reflection by default.
I think that the “Geometric Tangent” will work properly in latest builds. There has fixed a few problems for phonglobe() that typically being used for reflection by default.
-
- Quick Links