How can I define that some objects cast shadows or not?
For this purpose, we have the "Cast Shadow" option for individual objects in 3D Models
While the lights in VTPro possess the property to project shadows or not, and this attribute can be globally modified for our 3D model, certain projects require the ability to individually assign this property per object.
For instance, consider a model full of objects that cast shadows, which can potentially reduce performance due to the computational burden of all these interactions. We could pre-compute ('bake') these shadows in our 3D program and import them into VTPro, thereby significantly enhancing performance. However, what happens when we have an animated element? The baked shadow would not suffice as it remains static. This is where the solution to assign the "shadow projection" option to this object alone comes in. In this way, the system only has to calculate the shadows for this object, and these shadows will also be animated, moving in synchrony with the object.
Another potential scenario could be wanting objects inside a house to cast shadows, but encountering the limitation that exterior light does not permeate indoors due to the roof casting a large shadow within the interior space. By selecting the roof and disabling its shadow projection capability, we allow light to pass through this component, thereby achieving the desired effect of illumination and shadow casting inside the house.
This feature allows for detailed control over the interplay of light and shadow, optimizing both visual fidelity and system performance.