Jump to content


  • Content count

  • Donations

    0.00 CAD 
  • Joined

  • Last visited

  • Days Won


kiryha last won the day on November 11 2020

kiryha had the most liked content!

Community Reputation

63 Excellent

1 Follower

About kiryha

  • Rank
  • Birthday 05/06/1977

Contact Methods

  • Website URL

Personal Information

  • Name
    Kiryha Krysko
  • Location
  • Interests
    Houdini, Photography, Cookery

Recent Profile Visitors

2,303 profile views
  1. VEX Array Functions

    Interesting... I don't have a particular solution, but in general, if you will be able to avoid nested loops (which complexity is O(n^2)) it will increase the algorithm speed. E.g. "Find Different Elements in Two Arrays" twice faster than "Find Common Elements in Two Arrays". And keep in mind that sorting also takes time. Higher speed can be reached by the cost of higher memory usage (you can store results in a variable/hash table and check them before the next calculation). You may find some ideas here: https://leetcode.com/problems/intersection-of-two-arrays/solution/ Though on arrays of such length you would not notice any difference.
  2. How to practice and get good at Vex?

    There is no better answer than practicing a lot. Learning is a repetition.
  3. Some Advices?

    I think the common and most efficient way is networking. This is when you find a person in a studio you want to work in and ask this person for help. The best option if you have something in common with this person, e.g. you know each other, or you have at least a common friend or maybe you are from the same town or graduated from the same university. So you say "Hello" and ask for the help, but not directly to get a job in this studio, better to ask if he/she could assist in a resume and show-reel polishing, query for some advice on how to improve your chances to get a good position. It's basically a lot of time on Linkedin or in such places like this forum. I know how hard it could be to get a new job at a new place so I wish you luck! And patience.
  4. Sorting in order

    @dolexd Take a look at this VEX tutorial
  5. Idea VFX pipeline for Houdini

    I think we need to examine Solaris workflow to understand how SideFX supposes to handle project data to avoid such things. As I understand, they came to a Solaris solution working with several big studios and it should be the way to go. The USD based pipeline makes integration of Maya as an animation tool a lot easier as well. I feel that Houdini did not beat Maya in the VFX industry completely (yet) only because of the painful transition for animation artists and pipeline TDs
  6. Idea VFX pipeline for Houdini

    Hello Dupe, I also had the same question a while ago. This topic about animation transfer could help. And despite this animation pipeline is super draft it still might be useful. I would say that a good starting point could be defining the project management system (e.g. Shotgun, Ftrack or custom tools). PS. why not to use Houdini for animation and rigging as well? The 18.5 looks even more powerful in this field?
  7. Get list of HDA versions

    Hello Martin Maybe you can find something useful in this topic
  8. I am discovering a Data Structures topic and implement a Hash Table in VEX as an exercise. Despite it is totally useless in real production it still could be worthwhile as an example for similar tasks. Create a library.h file and save it to any location, e.g. C:/library.h The content of the library.h file: // The library.h content // VEX Hash Table implementation for {string:float} pairs struct hash_table{ int array_len; // Limit array length float data[]; // Init data int build_index(string key){ // Build and return index for array from string int index = random_shash(key) % this.array_len*10; return index; } void add_item(string key; float value){ // Place item value in array at index position int index = this -> build_index(key); this.data[index] = value; } float get_item(string key){ // Get item from array by position int index = this -> build_index(key); float value = this.data[index]; return value; } } Now in Attribute Wrangle (Detail mode) you can build a shopping list: #include "C/library.h" // Initialize hash table float data[]; int table_size = 10; hash_table fruits_number = hash_table(table_size, data); // Add elements to hash table fruits_number->add_item('apple', 256); fruits_number->add_item('banana', 1024); fruits_number->add_item('strawberry', 512); // Get element from hash table float number_of_apples = fruits_number->get_item('apple'); printf('Amount = %s \n', number_of_apples); // Result: Amount = 256 More on creating and importing custom modules with VEX
  9. How handle this mushroom shape procedurally ?

    Hello, Konstantin! Can you please explain the magic happening in the "skin" wrangle? v@uvw = relbbox(0, v@P); @uvw.y = fit01(@uvw.z, 0, 1); v@P = primuv(1, 'P', 0, @uvw); As I understand, in general, you are wrapping a grid around the torus with primuv, and with a fit01, you define where the wrap starts/ends. But in detail... What is the @uvw attribute, why it's used in primuv function and what this function is doing? Why the fit modifies Y attribute relying on Z?
  10. From Command Line Tools running exe file is working!
  11. In the command line (C:\Windows\System32\cmd.exe) started from the folder with geoisosurface.C (E:\PROJECTS\HDK\samples\geoisosurface): hcustom -s geoisosurface.C I have a Visual Studio 2017 installed and MSVCDir environment variable set to C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023
  12. Thanks, Alex! I have a Houdini bin in the PATH Windows environment variable. Also, I tried to run set PATH="C:\Program Files\Side Effects Software\Houdini 18.0.460\bin;%PATH%" before executing geoisosurface.exe, but it did not help as well. Ok, not a big deal since the executable is working from the Houdini bin.
  13. Hello, devs, I have compiled geoisosurface.C but running geoisosurface.exe raise an error: Entry Point Not Found. The procedure entry point gzdirect could not be located in the dynamic link library C:\Program Files\Side Effects Software\Houdini 18.0.460\bin\libxml2.dll If I place geoisosurface.exe into the Houdini bin folder it is working and produce me sphere.bgeo. If I copy libxml2.dll to the folder with exe file the error is: The procedure entry point gzdirect could not be located in the dynamic link library D:/path_to_geoisosurface/libxml2.dll I am pretty sure that exe file should work outside Houdini bin dir, but have no idea how to fix this. Alex @Stalkerx777, anything comes into mind?
  14. Pragmatic VEX: Volume 1 [4K] [H18.5]

    Hello Yunus, this course looks outstanding, thanks for sharing! How did you combine the Scene View with Network View (when you manage the creation of nodes on top of the camera view)?
  15. Add tools to shelf from external file

    Probably you will need to run Houdini via Python wrapper, where you can set up necessary environment variables, the path to shelf etc.