Hi. I've added a couple new features in plugin (such as automatic UVs unwrapping ) and have some bug fixed. Check this out:
https://youtu.be/2hQzy26cGaw?t=102 [youtu.be]
Found 180 posts.
Search results Show results as topic list.
Houdini Lounge » A Greeble plugin for Houdini
- Stalkerx777
- 183 posts
- Offline
Technical Discussion » Question??? about fill the closed curve with a circle
- Stalkerx777
- 183 posts
- Offline
donluco
google “dart throwing algorithm”.
Dart throwing is the most straightforward but very slow algorithm.
Google “shape packing algorithm” There are tons of articles.
Technical Discussion » HDK Question
- Stalkerx777
- 183 posts
- Offline
Ok, i found a solution. Create another iterator, manually advance it. When you need to reset it just call:
source_prim->beginVertex(next_it);
Here is a code:
GA_Iterator it(source_prim->getVertexRange());
GA_Primitive::const_iterator next_it;
source_prim->beginVertex(next_it);
for (i, it; i < source_prim->getVertexCount(), !it.atEnd(); i++, ++it) {
next_it.advance();
if (next_it.atEnd()) source_prim->beginVertex(next_it);
}
source_prim->beginVertex(next_it);
Here is a code:
GA_Iterator it(source_prim->getVertexRange());
GA_Primitive::const_iterator next_it;
source_prim->beginVertex(next_it);
for (i, it; i < source_prim->getVertexCount(), !it.atEnd(); i++, ++it) {
next_it.advance();
if (next_it.atEnd()) source_prim->beginVertex(next_it);
}
Technical Discussion » HDK Question
- Stalkerx777
- 183 posts
- Offline
Suppose i want to it iterate over prim vertices offsets, but i need to have access to the current AND next offset in one iteration.
for (GA_Iterator it(source_prim->getVertexRange()); !it.atEnd(); ++it){
// *it gives me current offset, but i also need next.
// I can't just advance the iterator, so i need to create a copy of iterator
auto next_it = it;
// Now i can advance next_it
if(!it.atEnd()) ++next_it;
else next_it.rewind();
/* What i want is to set next_it to the beginning of the range! In other words, when my *it will be at the last vertex offset, my *next_it should be the first vertex offset. Not sure what rewind is doing, it's not working for me*/
}
I'm interesting how to rewind an iterator? Is it possible? For example in std::vector we could use std::vector::begin(), and in C++11 we have std::next and std::prev, which is not working with GA_Iterator.
for (GA_Iterator it(source_prim->getVertexRange()); !it.atEnd(); ++it){
// *it gives me current offset, but i also need next.
// I can't just advance the iterator, so i need to create a copy of iterator
auto next_it = it;
// Now i can advance next_it
if(!it.atEnd()) ++next_it;
else next_it.rewind();
/* What i want is to set next_it to the beginning of the range! In other words, when my *it will be at the last vertex offset, my *next_it should be the first vertex offset. Not sure what rewind is doing, it's not working for me*/
}
I'm interesting how to rewind an iterator? Is it possible? For example in std::vector we could use std::vector::begin(), and in C++11 we have std::next and std::prev, which is not working with GA_Iterator.
Technical Discussion » Luna - New Visual & Textual Programming Language (+Houdi
- Stalkerx777
- 183 posts
- Offline
Hi Wojciech. I like when new programming languages cames out and offers some ether completely new programming paradigm or a use classic mix of procedural, oop and functional programming. From your post, i'm not getting a key idea and goals for Luna. There are TONS of new languages with TONS of features which grows like a mushrooms. Very very few of them took their place under the sun, other dies. What so special in Luna particular for VFX? I'm asking it because you've posted this in Houdini forum. Can you provide an example of use case Houdini + Luna, which will be beneficial compare to VEX solution.
General language questions:
1. Is it managed code? Garbage collected?
2. JIT/LLVM/SIMD?
3. Why pure functional style? It's way to hard to learn! (look at Haskell/Closure popularity)
You say that Luna is general purpose language . Have no ideal of use cases… web backend? Console tools? Embedding in other host App for scripting?
How it's differ from Fabric Engine and their KL language and whats common? Is Luna aiming to be a Fabric like?
IMHO currently nothing can't compete with VEX in houdini. Ease of use, fast prototyping with visual feedback( could be better thought), PERFORMANCE.
Thanks,
Alex.
General language questions:
1. Is it managed code? Garbage collected?
2. JIT/LLVM/SIMD?
3. Why pure functional style? It's way to hard to learn! (look at Haskell/Closure popularity)
You say that Luna is general purpose language . Have no ideal of use cases… web backend? Console tools? Embedding in other host App for scripting?
How it's differ from Fabric Engine and their KL language and whats common? Is Luna aiming to be a Fabric like?
IMHO currently nothing can't compete with VEX in houdini. Ease of use, fast prototyping with visual feedback( could be better thought), PERFORMANCE.
Thanks,
Alex.
Houdini Lounge » A Greeble plugin for Houdini
- Stalkerx777
- 183 posts
- Offline
Houdini Lounge » A Greeble plugin for Houdini
- Stalkerx777
- 183 posts
- Offline
Doudini
wow, great work!
any reason to compile with a daily build ? I cant find 0.370 for download anymore.
Updated a link with 347 build. For some reason i thought that 370 is the latest production build
you course is i think the only one that touches the houdini programming part and not only python also c++. so it's surly worth it.
http://forums.odforce.net/topic/23773-advanced-houdini-programming-course/ [forums.odforce.net]
Thanks mate! 8)
Houdini Lounge » A Greeble plugin for Houdini
- Stalkerx777
- 183 posts
- Offline
Hi folks, check this out: 8)
https://www.youtube.com/watch?v=2hQzy26cGaw [youtube.com]
Source code and compiled version for H15.0.370 (Windows and OSX) available here [bitbucket.org]
And don't forget to check my programming course (you can find it at odforce) if you are interesting in houdini programming.
Cheers,
Alex.
https://www.youtube.com/watch?v=2hQzy26cGaw [youtube.com]
Source code and compiled version for H15.0.370 (Windows and OSX) available here [bitbucket.org]
And don't forget to check my programming course (you can find it at odforce) if you are interesting in houdini programming.
Cheers,
Alex.
Edited by - March 4, 2016 13:48:24
Technical Discussion » HDK: VEX function querying geometric data
- Stalkerx777
- 183 posts
- Offline
UP!
Need help on how to get access to geometry from custom vex function in cvex context. Similar to point() or prim() vex functions.
Thanks!
Need help on how to get access to geometry from custom vex function in cvex context. Similar to point() or prim() vex functions.
Thanks!
Houdini Lounge » New feature highlight ?
- Stalkerx777
- 183 posts
- Offline
“True” houdini users, knows by heart all new features long before realease, and read “What's New” 10 times in a row right after release
Technical Discussion » disable texture rendering on mantra node?
- Stalkerx777
- 183 posts
- Offline
There is no such feature by default. But i'm sure this can be done with simple python filter [sidefx.com].
Technical Discussion » Python - Finding dependencies without locking UI
Technical Discussion » Wire Deformer
- Stalkerx777
- 183 posts
- Offline
There is a lot to do with wires to get good result.
What i changed:
1. Wire solver - collision method - global
2. Wire solver - spatial scale. Increase (depends of scene scale)
3. Static object - increase collision SDF quality.
4. Adjust wire width, density and stiffness.
What i changed:
1. Wire solver - collision method - global
2. Wire solver - spatial scale. Increase (depends of scene scale)
3. Static object - increase collision SDF quality.
4. Adjust wire width, density and stiffness.
Technical Discussion » Custom collision behavior in DOPs
- Stalkerx777
- 183 posts
- Offline
Hi. I need to setup some custom collision rules between Wire objects and RBD objects. In the past, i used this technique [sidefx.com], and it worked fine with RBD object. However i cant make it to work with Wire/RDB collision.
Please take a look at this simple scene. Basically i need Wire object to collide with one object and pass another. In this simple case it is possible to achieve this with Relationships within a Merge DOP, but in a complex simulation i need some flexible technique to set collision relationship. I'm looking into Apply Relationship DOP now, but i want to know why my approach with Collider Label don't work with Wires objects. It seems like wire solver completely ignores Colliders (Sub-data of Collider Label [sidefx.com] Data).
Please take a look at this simple scene. Basically i need Wire object to collide with one object and pass another. In this simple case it is possible to achieve this with Relationships within a Merge DOP, but in a complex simulation i need some flexible technique to set collision relationship. I'm looking into Apply Relationship DOP now, but i want to know why my approach with Collider Label don't work with Wires objects. It seems like wire solver completely ignores Colliders (Sub-data of Collider Label [sidefx.com] Data).
Houdini Engine for Unreal » Crash log?
- Stalkerx777
- 183 posts
- Offline
Hi,
Thx for this plugin guys, you're doing great job!
How can we help you with crashes? After crash, UE offer to send feedback to Epic, which is ok, but i'm sure you'll be more interested in this crash log.
My setup: Win 8.1x64 | Houdini 14.0.291 | UE 4.7.3.
I've downloaded asset Haunted Staircase from Orbolt, it loads fine in UE, and parameters also works, but crashes every time i hit Play button. :roll:
Thx for this plugin guys, you're doing great job!
How can we help you with crashes? After crash, UE offer to send feedback to Epic, which is ok, but i'm sure you'll be more interested in this crash log.
My setup: Win 8.1x64 | Houdini 14.0.291 | UE 4.7.3.
I've downloaded asset Haunted Staircase from Orbolt, it loads fine in UE, and parameters also works, but crashes every time i hit Play button. :roll:
Technical Discussion » pyserial comm port
- Stalkerx777
- 183 posts
- Offline
Python doesn't have this module in standard library. You should get it first.
http://lmgtfy.com/?q=importing+python+module# [lmgtfy.com]
http://lmgtfy.com/?q=importing+python+module# [lmgtfy.com]
Houdini Lounge » python module
- Stalkerx777
- 183 posts
- Offline
What kink of trouble? You want us to guess?
ImportError?
http://lmgtfy.com/?q=importing+python+module# [lmgtfy.com]
ImportError?
http://lmgtfy.com/?q=importing+python+module# [lmgtfy.com]
Houdini Lounge » Houdini 15 Wishlist
- Stalkerx777
- 183 posts
- Offline
- Basic OOP features in VEX (constructor for struct).
- Default arguments for VEX functions.
- Default arguments for VEX functions.
Technical Discussion » python module sharing between HDAs
- Stalkerx777
- 183 posts
- Offline
You can do the following:
1. Make a separate definition(for example with name “pysource”) in your otl, for holding Python code only. You can hide this definition from Tab Menu if you want.
2. Put this code in PythonModule of any other definition. This will pull all code from PythonModule section of “pysource” definition into this PythonModule global namespace:
source = hou.readFile(“opdefSop/pysource?PythonModule”)
exec(source, globals())
If you need to get it in different namespace(module), you can make one with imp python module:
import imp
source = hou.readFile(“opdefSop/pysource?PythonModule”)
mymodule = imp.new_module('mymodule')
exec(source, mymodule.__dict__)
Now all your code from “pysource” definition will be available in mymodule namespace.
Now you can share one otl file and easily make tweaks just in one place.
1. Make a separate definition(for example with name “pysource”) in your otl, for holding Python code only. You can hide this definition from Tab Menu if you want.
2. Put this code in PythonModule of any other definition. This will pull all code from PythonModule section of “pysource” definition into this PythonModule global namespace:
source = hou.readFile(“opdefSop/pysource?PythonModule”)
exec(source, globals())
If you need to get it in different namespace(module), you can make one with imp python module:
import imp
source = hou.readFile(“opdefSop/pysource?PythonModule”)
mymodule = imp.new_module('mymodule')
exec(source, mymodule.__dict__)
Now all your code from “pysource” definition will be available in mymodule namespace.
Now you can share one otl file and easily make tweaks just in one place.
Technical Discussion » Houdini on iMac Retina 5k
- Stalkerx777
- 183 posts
- Offline
Btw, regarding high DPI support. I remember someone told that H14 will have proper UI scaling on Retina display. This is not happen for some reason. In high DPI mode, houdini renders huge UI elements!
-
- Quick Links