Car Commercial – 2.2 – A Great Start
October 20, 2017
I have been developing my Lightning System dramatically over the past week or so now and have developed far enough to show the path of my development. I will be making 2 posts, one detailing the differences in the lightning look-dev system visually. The second post (this one) will show the individual controls for each property of the system as well as problems and future implementations. Definitely go and check out the other page for visual representations of the controls implemented here!
Things implemented:
– 3 Levels of noise over a prim
– Noise control ramp
– Animatable connection settings and control
– On connection emit particles and color
Things to do:
– Implement a connection system between source points and target points
– Branching arcs off of main branches
– Connecting arcs between main branches of lightning
– Thickness to the line
– Duplicate the guide lines to create a set of randomized lines following a single guide to create diversity and complexity
This is the VOP net used to add the first level of main noise in. The main things to note here is the time multiplied down and used as an offset for the noise as well as the ‘curveu’ parameter from the resample node driving a ramp for a falloff and offset ramp.
The ramp parameters are very important, the noise falloff is multiplied over the noise outputs to control exactly where it is applied. This is done to ensure the ends of the primitive are pinned in place and hold their position. This control could lead to some interesting features in the future by manipulating this curve. The Y Offset is really awesome because it can be used to create a unified shape across all of the bolts and can be easily toggled on or off. I want to develop a possible feature that tracks how long the lightning is connected for and adds this value in to make the lightning rise up a bit or stray towards a certain shape.
The VOP net for the smaller scale noise. Same concept as the large scale noise except smaller scale noise.
Same noise falloff exactly. Each point is copied directly from the noise falloff from the larger scale noise ramp.
This is the network inside of a ForEach Subnetwork to prepare for multiple primitives. I am concerned about the performance impact of having a DOP network inside of a ForEach Subnet even if its just a simple POP network. The main controls organizes the points and deletes the middle points based on the ‘curveu’ attribute and its standing in a range determined by the midPoint slider.
Here’s the code itself for the ‘main_controls’ Point Wrangle. The most important things to take away from this is how the ‘curveu’ attribute is remapped and the ‘connect’ attribute that is created and used. Below, you can see the remap ramp, the idea behind this is that it starts as a completely linear ramp with a point in the direct middle at ( .5 , .5 ). The position of this middle point is determined by the mid point slider. This way, the points before this ‘mid point’ are mapped from 0-.5 or .5-1 (depending on what side it is on) regardless of how many points there are. Not confusing at all.
The next thing is the point removal. Grab the mid point, use the animControl to compare the points to a range and delete them. The problem here then is that all the points still stay completely connected and there isn’t a gap between the lines. An attribute is created to basically determine which side of the gap the points are on. Put in an Add SOP, delete geo and keep points, and connect by attribute. Done.
A last touch is the exclusion of animControl at 0. When animControl is 0 and the two points are connected the two very middle points are then deleted and there is a small gap. Exclude this one condition and it works perfectly.
Parameters for the main animation controls.
The code for the ‘get_emit_points’ Point Wrangle. The same idea to select a range as the previous point wrangle, except it deletes the excess points. This happens only when the animControl is 1 (they are connected) but on other frames where they aren’t connected but there are still points, so remove the points otherwise.
Check out how awesome the lightning looks here!