Popular Post aaronsmith93 Posted September 10, 2020 Popular Post Share Posted September 10, 2020 Hello everyone! Every Monday at 12am for the last 3 weeks I have been uploading VEX snippets as mini-tutorials on my website: https://aaronsmith.tv/1-Minute-VEX Here, through '1 Minute VEX', I'll try to walk you through some of the more obscure and advanced functions that exist, and add as much explanation as possible to accompany the images in text based form. These are not for Houdini beginners! I also intend on all of my website's educational content being free - permanently. No donations, no subscriptions, no coupons. Below is 1 Minute VEX III as an example; Let me know if anyone has any suggestions for improvement! - 1 Minute VEX III - Ray-Cast Ambient Occlusion Quote In this example, we begin by creating a variable for position - offsetting it from the surface very slightly to avoid unintended ray intersections. Once we have assigned how many samples we want, and the hemispherical radius of our ambient occlusion (which determines how close geometry has to be to occlude), we use a for loop to iterate over each sample. We then generate a random hemispherical direction using our point normal, and use that directional vector as the ray. If our ray hits geometry, its distance from initial position is fit within a 1-0 range - 1 being the closest a ray could possibly be, and 0 being the furthest. This value is added and accumulated through the ‘ao’ variable, and then divided by the total number of samples added to the variable. We finally return the complement, in order to make close intersections dark, and distant rays / non intersections bright. 15 1 Quote Link to comment Share on other sites More sharing options...
aaronsmith93 Posted September 21, 2020 Author Share Posted September 21, 2020 Hello everyone! I'd like to thank you all for the interest the last time around, so I thought i'd celebrate by releasing the next 3 minutes of VEX; Exploring all things camera. If you missed it the first time, every Monday at 12pm for the last month-ish I have been posting VEX mini-tutorial snippets on my website, the most recent of which can be found below. Enjoy! 1 Minute VEX IV - https://aaronsmith.tv/1-Minute-VEX-IV-V An introduction to NDC space, and using to/fromNDC() to scale objects without changing position relative to camera. 1 Minute VEX V - https://aaronsmith.tv/1-Minute-VEX-IV-V#1mv_v Using toNDC() and removepoint() to delete points that are not displayed on camera. 1 Minute VEX VI - https://aaronsmith.tv/1-Minute-VEX-VI Using intersect() and optransform() to delete points hidden by camera occluding geometry. 2 1 Quote Link to comment Share on other sites More sharing options...
aaronsmith93 Posted October 13, 2020 Author Share Posted October 13, 2020 Hello once again! Since the last time I posted here I've added three new tutorials, all of which briefly cover textures, mapping and colour in VEX. Thanks to everyone once again for all of the support and useful suggestions! 1 Minute VEX VII - OCIO transformed attribute from image - https://aaronsmith.tv/1-Minute-VEX-VII Using colormap() and ocio_transform() to read an sRGB image and convert it to an ACES-compliant attribute. 1 Minute VEX VIII - sampling nearest texture with UDIM filename expansion - https://aaronsmith.tv/1-Minute-VEX-VIII Using xyzdist(), primuv() and colormap() to sample the nearest UDIM-friendly texture on a surface. 1 Minute VEX IX - triplanar mapping & projection - https://aaronsmith.tv/1-Minute-VEX-IX Using simple vector math, for loops and colormap() to create a triplanar projection. Please feel free to PM me with any questions or suggestions. 2 Quote Link to comment Share on other sites More sharing options...
aaronsmith93 Posted November 17, 2020 Author Share Posted November 17, 2020 It is that time once again! Three new snippets - exploring the various creative usages of arrays in VEX. I hope you all enjoy! 1 Minute VEX X - weighted integer sampling - https://aaronsmith.tv/1-Minute-VEX-X Using sample_discrete() to make a weighted selection from an array. 1 Minute VEX XI - iterating over attributes (finding prim patch area) - https://aaronsmith.tv/1-Minute-VEX-XI Using uniquevals() and findattribval() to find the area of a prim patch (by attrib id) 1 Minute VEX XII - gradient estimation from neighbours - https://aaronsmith.tv/1-Minute-VEX-XII Using neighbours() to find all adjacent points and calculate a gradient vector with custom weights. 2 1 Quote Link to comment Share on other sites More sharing options...
Sebastien Rousseau Posted November 27, 2020 Share Posted November 27, 2020 Thanks man for that, for people like me trying to go deeper and deeper in vex knowledge, it's the perfect kind of tutorial format I'm looking for! 1 Quote Link to comment Share on other sites More sharing options...
aaronsmith93 Posted December 1, 2020 Author Share Posted December 1, 2020 On 11/27/2020 at 6:49 PM, Sebastien Rousseau said: Thanks man for that, for people like me trying to go deeper and deeper in vex knowledge, it's the perfect kind of tutorial format I'm looking for! Thank you! It means a lot to me to hear feedback like that. If there are any topics you'd like me to explore as you go forward with learning VEX, feel free to suggest anything. Quote Link to comment Share on other sites More sharing options...
Librarian Posted December 1, 2020 Share Posted December 1, 2020 (edited) @aaronsmith93 Yes Please When you have Time Make Tutos For This https://github.com/miloyip/light2d SOLVED Edited December 6, 2020 by Librarian Quote Link to comment Share on other sites More sharing options...
kev2 Posted October 20, 2021 Share Posted October 20, 2021 Love this. Quote Link to comment Share on other sites More sharing options...
mestela Posted October 21, 2021 Share Posted October 21, 2021 Great stuff! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.