- 76
- 24 167
Mad Dog VFX
Australia
เข้าร่วมเมื่อ 27 ก.ย. 2023
I am a VFX student, using a software called Houdini. I am posting short and basic tutorials on here for beginners in the hope of building Houdini discussions and a community. Feel free to be as kind or as critical as you see fit, as I am just learning like you, and all input is valuable.
#75 The Ray Node - Basics (in Houdini)
This tutorial will look at the much loved Ray Node in Houdini. This node is basically a projection node. It will allow you to transfer primitives or points onto different surfaces.
มุมมอง: 93
วีดีโอ
#74 What is a Bounding Box in Houdini
มุมมอง 12916 ชั่วโมงที่ผ่านมา
In this information video, we will look at how to identify a bounding box, how to check the size of a bounding box, and how to double check the information to make sure if it is correct.
#73 Local Variables in Houdini
มุมมอง 14214 วันที่ผ่านมา
In this video we will look at how to locate the local variables on a per node basis, and how to use them correctly.
#72 Global Variables in Houdini
มุมมอง 13421 วันที่ผ่านมา
This lesson explains where to find and how to use global variables in Houdini.
#71 Type Casting with VEX in Houdini
มุมมอง 12228 วันที่ผ่านมา
This tutorial will show you how to cast your data types in VEX correctly. This example will mainly look at integers, floats and vectors.
#70 Convert a Float to an Integer in VEX with Houdini
มุมมอง 119หลายเดือนก่อน
In this tutorial we will look at how to cast a float data type to an integer data type using a basic casting method in VEX. In addition we will look at how to round the float value to the closest whole number, using the rint() function.
#69 Randomise with fit() in VEX within Houdini
มุมมอง 120หลายเดือนก่อน
This tutorial continues with the use of the rand() function, in combination with the fit() function. This will allow us to firstly create a random number between 0 and 1, and then later increase or decrease the minimum and maximum values.
#68 Randomise with VEX in Houdini
มุมมอง 179หลายเดือนก่อน
In this lesson, we will explore randomising attributes using the rand() function in VEX. The rand() function creates a random number between 0 and 1 from a seed. Then we can manipulate that number.
#67 Using the fit function in VEX with Houdini
มุมมอง 412หลายเดือนก่อน
In this lesson, we will look at how to use the fit function in VEX. The fit function takes the value in one range and shifts it to the corresponding value in a new range.
#66 Creating Parameters in VEX with Houdini
มุมมอง 1722 หลายเดือนก่อน
This tutorial will look at creating custom parameters using VEX code in Houdini. This is a common procedure that will be used often whenever you are coding.
#65 Randomise Normals in Houdini
มุมมอง 2352 หลายเดือนก่อน
In this tutorial, we will look at how to randomise your normals using the Attribute Randomize node and Copy to Points node.
#64 How to Orientate Normals in Houdini
มุมมอง 2532 หลายเดือนก่อน
In this tutorial, I will explain how to orient normals in conjunction with the Copy to Points node in Houdini.
#63 Randomise attributes with the Copy To Points Node in Houdini
มุมมอง 2202 หลายเดือนก่อน
Randomising things in Houdini is important to create any kind of abstract realism in animations and modelling. This tutorial takes you through the process of starting this.
#62 How to use the Copy to Points Node in Houdini
มุมมอง 1803 หลายเดือนก่อน
This tutorial explains the basic use of the Copy to Point in Houdini.
#61 Unit Vector in Houdini
มุมมอง 1253 หลายเดือนก่อน
This is an information video to explain how unit vectors work in Houdini
#59 Using the Visualizer to Display Vectors in Houdini
มุมมอง 2063 หลายเดือนก่อน
#59 Using the Visualizer to Display Vectors in Houdini
07a BONUS: Layout Creation in Houdini
มุมมอง 1893 หลายเดือนก่อน
07a BONUS: Layout Creation in Houdini
#58 How to Calculate the Magnitude of a Vector in Houdini
มุมมอง 2533 หลายเดือนก่อน
#58 How to Calculate the Magnitude of a Vector in Houdini
#56 Setting Default Attribute Values in Houdini
มุมมอง 984 หลายเดือนก่อน
#56 Setting Default Attribute Values in Houdini
#55 The Attribute Mismatch Warning in Houdini
มุมมอง 4674 หลายเดือนก่อน
#55 The Attribute Mismatch Warning in Houdini
#52 Issues with the Color Attribute in Houdini
มุมมอง 2085 หลายเดือนก่อน
#52 Issues with the Color Attribute in Houdini
#50 Creating Attributes with VEX in Houdini
มุมมอง 1655 หลายเดือนก่อน
#50 Creating Attributes with VEX in Houdini
#49 The Attribute Create Node in Houdini
มุมมอง 2045 หลายเดือนก่อน
#49 The Attribute Create Node in Houdini
#47 The Position Attribute in Houdini
มุมมอง 2196 หลายเดือนก่อน
#47 The Position Attribute in Houdini
dont stop. thanks
Thanks again, mate. I will try to keep the videos coming. :)
so cool, thank for sharing,
You are very welcome. I know that Houdini can be complicated, so I hope that this helps a little.
I like your videos and I learned something new. Here is a pro tip. This video should have been 30s. 😊
Thank you for the feedback, Guy. I appreciate it a lot. And thank you for the tip about making the videos shorter. This helps me a lot for future videos.
Curves in houdini is one of the worst things ive ever done. Id rather do it in blender and export it to houdini
I have to admit that it does not feel great creating curves in Houdini. A little unintuitive. It is something that you get used to after a while, however, there does seem to be a lot to remember. I still prefer to make as much as I can directly in Houdini though.
tnx .. it was very handy
You are very welcome.
casting from int to float before this i declared new variable .. lol
Ah yes, once you understand how to use type casting correctly, it save you from a lot troubles. :)
tnx this is what i am looking for
@hosseinse4079 Thank you so much.
I don't undestand why to use this fit if you can just scale in Y...?
Thank you for your question, Lucas. In this particular example you can just scale in Y as you queried about. So well done for spotting this. Whilst this example could be simply scaled in Y instead of using VEX and a fit function, this example was used to explain the basics of the fit function only. The fit function is useful in so many different situations that you will come across in your Houdini studies. This example was the most basic example that I could think of, but other examples can be a lot more complex. I hope this clarifies a little, and thank you for pointing this out.
Because you can
@@brandoncyoung I like this answer. :) Thank you Brandon.
thanks, whatsup with the wardrums in the background?
That is not even the whole story, because I was on horseback whilst wearing my armour at the same time as making this tutorial. :) It felt like the Battle of Agincourt all over again. :) I hope this tutorial was useful for you, and thank you so much for this comment. It made me smile.
Thank you Mad Dog
You are very welcome. I hope that it helps a little.
Awesome 👏
Thank you so much.
tnx
Anyway, thanks, now I know where the name Unity comes from
as they said to me : any vector is .. normal that show direction .. multiply length => (7, 7,7) = (1,1,1) * 7 like this
This is a great example. Thank you so much.
tnx .. take it easy it is not that much hard
tnx .. we know this from other app called normalize
This is absolutely correct. A unit vector is basically a normalised vector. Well done for spotting this.
tnx it useful but how to make real curve with wave
Hello.... I am not sure if I completely understand what you are asking. But if you are looking to create a wave, like a sine wave, from a curve, you can do the following: 1. Add a Line node. 2. Increase the point numbers on the line to add more resolution. 3. Add a Labs Sine Wave node (you may need to install the Houdini Labs plugin if you haven't done so already). 4. Connect the Labs Sine Wave node to the Line node. 5. Adjust the settings in the Labs Sine Wave node to create the wave that you desire.
@@MadDogVFX tnx .. i found what i want it was inside curve tools
@@hosseinse4079 Oh that is great news. I am so happy that you were able to solve this. Well done.
thank you so much
tnx
Oh I have just seen that you have already found the tutorial. I hope it was useful.
tnx .. where is link of next part ?
Hello. I am sorry for the late response. You can find the next lesson called "#58 How to Calculate the Magnitude of a Vector in Houdini". Here is the direct link to it: th-cam.com/video/Ih5XBEga-Gg/w-d-xo.html I hope this helps.
Thanks for such great, short and useful tutorials!
Thank you so much for the positive comment. I really do appreciate it.
great tut
Thank you so much, and thank you for commenting.
please keep doing this type of VEX tutorials.. VEX applications and implementation rather then just codes.... this is very good way to learn vex !... i think your channel will be one of the best for the VEX in Houdini ! no one will doing in this way !
Thank you so much for the kind comment. This encourages me to produce more content. Over the next few weeks, I will be creating a few more tutorials explaining how to use basic VEX in your work and studies. I hope that it will be helpful, and thank you again for commenting.
I want to instance spot light in Houdini solaris so I need to have points on specific places and I want to rotate them too, I am able to have points but unable to rotate light instanced on those point ChatGPT said: ChatGPT In Houdini's Solaris (LOPS), instancing lights (or any other object) requires controlling both the position and orientation of those instances, especially when working with spotlights that need specific rotations. Here's how to properly instance spotlights onto points and control their rotation: Steps for Instancing Spotlights with Rotation in Solaris: Create Points with Proper Attributes: Ensure that your points have the necessary attributes to control the position and orientation of the spotlights. These attributes are typically created in the SOP (geometry) context and then used in Solaris. Attributes you'll need: P: The position of the point (you probably already have this). N: The normal vector to control the direction (rotation) of the spotlight. up: The up vector to help define the orientation. orient (optional): Quaternion-based orientation. If you want to control rotation with a quaternion, you can compute the orient attribute using Houdini’s VEX. Prepare the Points in SOPs: In your SOP network (where you’re generating the points), ensure you have proper normals and up vectors set for each point. Here's an example setup to create points and orient them: plaintext Copy code - Grid (or any geometry surface) - Scatter (or specific points generation) - Point Wrangle or Attribute Wrangle: vector up = {0, 1, 0}; // Up vector (can be customized) vector target = normalize(v@N); // Normal direction matrix3 rot = dihedral({0,0,1}, target); // Rotate Z axis to match normal v@N = set(rot.m[0][0], rot.m[1][0], rot.m[2][0]); // Set new normal direction v@up = up; This setup defines the orientation for your instances. Import Points into Solaris (LOPS): Use a SOP Import node to bring the points with their position (P) and orientation (N or orient) into Solaris. In the SOP Import node, ensure you are bringing in the necessary point attributes by checking the box for "Add All Point Attributes." Instance Spotlights: Use the Instance or Point Instancer node in Solaris to instance your spotlight onto the points. In the Prototype parameter of the Instance or Point Instancer node, reference the spotlight you want to instance. In the Point Attributes tab of the Instancer, make sure the rotation attributes are properly linked: Set N or orient as the source of the rotation. The N vector will determine the spotlight’s direction, while orient (if used) will give you more precise quaternion control over the rotation. Control Rotation with Quaternions (Optional): If you prefer to use quaternions (orient) for controlling rotation, you can set it up in SOPs using a VEX snippet to convert Euler rotations or axis-angle rotations into quaternions: plaintext Copy code vector up = {0, 1, 0}; vector dir = normalize(v@N); // Get normalized direction vector axis = cross({0,0,1}, dir); float angle = acos(dot({0,0,1}, dir)); p@orient = quaternion(angle, axis); // Convert to quaternion Test and Adjust Lighting: Render your scene or check the viewport to ensure that your spotlights are positioned and oriented correctly based on the points. You can adjust the rotation in the N or orient attributes in the SOP context and see the updates reflected in Solaris. Tips: Normalizing the N vector is essential to ensure that your lights rotate properly. If the normals are not normalized, your lights might not orient correctly. If you need to rotate the light in specific directions, you can tweak the N vector or use quaternions (orient), which allow for smooth and intuitive rotation control. You can also use the Attribute Randomize node to randomize the N vector or create procedural variations in rotation. By setting up your points correctly with position and orientation attributes, you should be able to instance and control the rotation of spotlights in Solaris without any issues! You said: can you please tell me process in detail, I am unable to do it in houdini ChatGPT said: Ask MAD DOG VFX Please...
Really like the many options solution! Great job
Thanks man , saved a lot of time
Vex is more simple and useful for me. Something like distance(point(0, P, @ptnum+1, @P). Anyway, thanks for showing another way.
That is great, @spawn1411. I also love VEX and this is a great example that you have used here. I may make a bonus video at some point for this tutorial using the example that you have given, if that will be okay with you?
@@MadDogVFX of course not! it's a basic vex function. I don't have rights to it to argue :-) but keep in mind that I wrote it from memory on my phone keyboard. Maybe I missed something in the syntax. You'd better check its functionality first.
@@amalyshok For sure I will check it first. I think it is a good example to show students - so thank you so much for the suggestion.
how did you get your network view and object view side by side? thanks
Hello Bob... This was a bit difficult for me to explain in words only, so I have made a quick video tutorial for you to show you how to create a custom layout. I hope this helps you a little bit. You can find the video here: th-cam.com/video/q7bKNX3vPNM/w-d-xo.html
Thanks a lot
You are very welcome, Henry.
Thank you
Thank you for the positive feedback, Henry.
Please stop saying at the end 'if you have any comments, questions, criticism, or concerns' it becomes annoying after watching 40 videos 🙂
Thank you for the feedback, mate. I hope that you are doing well. ;)
keep going thanks!!!!!!!!!!!!
Keep the wheels of learning turning. :)
Thanks so much, Mad Dog VFX
Thank you, Henry.
Thank you. But why can't we see the group in the Geometry Spreadsheet? as we can see you have 1 & 3 there. Is the Fuse's "Group" section is a "point" but labeled Group?
I think I understand what you are saying. So regarding the group. You can create a group using the "group create" node and that will add the created group to the geometry spreadsheet, as you would expect. However, in the example above, I am just adding the individual points to be affected by point number (you can also just type in the point numbers into the group field in the fuse node). To my knowledge this will not create a group in the geometry spreadsheet, I suspect because there is no group name or group type information etc - plus it is not really necessary as a group name just refers to a bunch of point numbers anyway. So when you asked "Is the Fuse's "Group" section is a "point" but labeled Group?", you are basically correct with your assumption here. If you have a created group name you can refer to it here, but you can also just type in the individual point numbers - both will work. I hope this helps a little.
@@MadDogVFX Thank you so much for the clarification :)
@@Tritoon710 Not a problem. I hope this helps and good luck with it all. I know Houdini can be very complicated.
background music is aids
:)
Thank you!
You are very welcome.
Where I"m completely stuck on is what happens when you deselect output polygons... the mesh is still visible... it goes back to one primitive with 100 vertices? How does that work?
Hello Luke.... I am a bit confused by what you mean here:"Where I"m completely stuck on is what happens when you deselect output polygons". Can you please explain what you are doing and what is happening with the result? Thanks mate.
Great video, helped a lot!
You are very welcome.
Nice ambient music
Thank you, Raf :)
Thanks for this tutorial, keep going!
You are very welcome. Thank you so much for the motivating comment.
Inside of the sweep node, we can turn end caps on. But, is there a reason why we wouldn't use polyfill for the end caps?
You can use the polyfill node also, and you will get a similar result. The sweep node does have a roundness option for ends - I am not sure if this is available in the polyfill node. A lot of it just comes down to the way that you personally like to work. In Houdini, there are usually multiple ways to get a similar or the same final result.
Why wouldn't you change the radius of the circle in the actual circle node, rather than using a transform node?
There is no particular reason why I did it this way. The size of the circle can be changed in both the circle node itself (the radius parameter or the uniform scale parameter) or in the additional transform node. The result in this case is the same.
first of all your videos are really good, and i am following your tutorial steps, but in my software showing 0 to 125 . and yours are 0 to 5. could you please tell me what is the solution. thank you.
Hello Rajeev..... I assume that you are talking about 0 to 5 on the grid (reference plane) on the floor in the viewport. This is the units of distance from the axis at (0, 0, 0) and I believe it is measured in metres. So if you are seeing 0 to 125 it simply means that your camera is zoomed out way too far and you need to zoom in closer. As you get closer the numbers will change to adjust to the difference in scale. The easiest way to this is just to hover over the viewport with your cursor and hit the F key on the keyboard (or possibly spacebar + F) and this should move your camera in closer by framing your scene for you. Please let me know if this fixes the problem.
hey, your all videos are nice and informative, I am from India, and just started learning houdini, thanks for sharing your videos. love from India.🙏
Super Rajeev, and thank you for your feedback. Yes, Houdini can be super hard to understand at the beginning, so this is why I wanted to make these videos for people like yourself, so you can get started. I hope that they are helping a little.
thanks. assuming all these 99 points are groupA and i have 1 point above (y = 1) with groupB and i want 99 points to be connected with that 1 point in group B ... any ideas, huge thanks again
Hmmmm.... Interesting. So I am not sure if this is possible with the add node's "by group" option. To do something like this I would probably just use VEX instead. Simple add your grid and just leave the points only, like in the tutorial. Then I would use a separate add node to add the single point (y = 1). Merge it all together. Then add some VEX code similar to this using a point wrangle node: --------------------------------- for(int i = 0; i < 100; i++) { addprim(0, "polyline", i, 100); } --------------------------------- This will loop over all of the points on your grid and connect a line between each point and the point at y=1 (point number 100). I am sure there must be a much easier way to do it than this. But this is how I would have done it. I hope this helps a little.
Love your tutorials.
Dziękuję bardzo ;)
Your tutorials are awesome! Keep it coming!
Thank you so much. I will do.
thank you!! keep going.
Thank you for your support as always. :)
Thank youuu!! Please carry on making videos
You are welcome. Thank you for the comment.
Still don't understand it.
Which part are you struggling with? Maybe I can help to fix it.