ObjectPositionNode.cs 950 B

12345678910111213141516171819202122232425262728
  1. // Amplify Shader Editor - Visual Shader Editing Tool
  2. // Copyright (c) Amplify Creations, Lda <info@amplify.pt>
  3. using System;
  4. using UnityEngine;
  5. using UnityEditor;
  6. namespace AmplifyShaderEditor
  7. {
  8. [Serializable]
  9. [NodeAttributes( "Object Position", "Object", "Object Position extracted directly from its transform matrix" )]
  10. public class ObjectPositionNode : ParentNode
  11. {
  12. protected override void CommonInit( int uniqueId )
  13. {
  14. base.CommonInit( uniqueId );
  15. AddOutputVectorPorts( WirePortDataType.FLOAT3, "XYZ" );
  16. m_drawPreviewAsSphere = true;
  17. m_previewShaderGUID = "e95171394c12a0646b8e9ec9c3f87d56";
  18. m_textLabelWidth = 180;
  19. }
  20. public override string GenerateShaderForOutput( int outputId, ref MasterNodeDataCollector dataCollector, bool ignoreLocalvar )
  21. {
  22. string objectPosition = GeneratorUtils.GenerateObjectPosition( ref dataCollector, UniqueId );
  23. return GetOutputVectorItem( 0, outputId, objectPosition );
  24. }
  25. }
  26. }