Added Billboard Node to Visual Shaders

This commit is contained in:
Yuri Roubinsky
2021-05-27 22:17:58 +03:00
parent 364ea7f280
commit f06db8b778
7 changed files with 242 additions and 1 deletions

View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="UTF-8" ?>
<class name="VisualShaderNodeBillboard" inherits="VisualShaderNode" version="4.0">
<brief_description>
A node that controls how the object faces the camera to be used within the visual shader graph.
</brief_description>
<description>
The output port of this node needs to be connected to [code]Model View Matrix[/code] port of [VisualShaderNodeOutput].
</description>
<tutorials>
</tutorials>
<methods>
</methods>
<members>
<member name="billboard_type" type="int" setter="set_billboard_type" getter="get_billboard_type" enum="VisualShaderNodeBillboard.BillboardType" default="1">
Controls how the object faces the camera. See [enum BillboardType].
</member>
<member name="keep_scale" type="bool" setter="set_keep_scale_enabled" getter="is_keep_scale_enabled" default="false">
If [code]true[/code], the shader will keep the scale set for the mesh. Otherwise, the scale is lost when billboarding.
</member>
</members>
<constants>
<constant name="BILLBOARD_TYPE_DISABLED" value="0" enum="BillboardType">
Billboarding is disabled and the node does nothing.
</constant>
<constant name="BILLBOARD_TYPE_ENABLED" value="1" enum="BillboardType">
A standard billboarding algorithm is enabled.
</constant>
<constant name="BILLBOARD_TYPE_FIXED_Y" value="2" enum="BillboardType">
A billboarding algorithm to rotate around Y-axis is enabled.
</constant>
<constant name="BILLBOARD_TYPE_PARTICLES" value="3" enum="BillboardType">
A billboarding algorithm designed to use on particles is enabled.
</constant>
<constant name="BILLBOARD_TYPE_MAX" value="4" enum="BillboardType">
Represents the size of the [enum BillboardType] enum.
</constant>
</constants>
</class>