Unity Amplify Shader Editor-编辑器扩展开发Canvas框架

Posted avi9111

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity Amplify Shader Editor-编辑器扩展开发Canvas框架相关的知识,希望对你有一定的参考价值。

目录

Amplify实现框架详细

鼠标事件

canvas

node操作

title颜色

添加节点

连线


Amplify实现框架详细

如图,小惊喜啊,居然移植过来了

====================

虽然还缺了很多功能

虽然还很多附加了的静态变量

虽然还做了一个转换器DevHelper

===================

详细的明天才弄了

惊喜啊,整个Amplify的代码基础api都几乎搞定了

蓝图还远吗?

整体规划

(还缺挺多东西呢)

基础node - canvas 功能

工具栏

Redo/Undo

红点逻辑

Ui动画

Ui特效

 

鼠标事件

		public double CalculateInactivityTime()
		{
			double currTime = EditorApplication.timeSinceStartup;
			switch( Event.current.type )
			{
				case EventType.MouseDown:
				case EventType.MouseUp:
				case EventType.MouseMove:
				case EventType.MouseDrag:
				case EventType.KeyDown:
				case EventType.KeyUp:
				case EventType.ScrollWheel:
				case EventType.DragUpdated:
				case EventType.DragPerform:
				case EventType.DragExited:
				case EventType.ValidateCommand:
				case EventType.ExecuteCommand:
				{
					m_inactivityTime = currTime;
					return 0;
				}
			}
			return currTime - m_inactivityTime;
		}

canvas

node操作

title颜色

m_headerColor = UIUtils.GetColorFromCategory( m_nodeAttribs.Category );

添加节点

    protected override void CommonInit(int uniqueId)
    {
        base.CommonInit(uniqueId);
        AddOutputVectorPorts( WirePortDataType.FLOAT4, "Out" );
    }

属性方法

			System.Reflection.MemberInfo info = this.GetType();
			m_nodeAttribs = info.GetCustomAttributes( true )[ 0 ] as NodeAttributes;
[NodeAttributes( "Node Funiture", "Vertex Data", "Self NodeFuniture" )]
public class NodeFuniture:ParentNode
{

连线

 

玩了大半个小时的源码,算是整明白了

通过ParentGraph.DrawWires()绘制的连线

有一个必须支持的条件是:由于是ParentGraph的内部方法,所以当线往外移动时,又必须Resize ParentGraph

以上是关于Unity Amplify Shader Editor-编辑器扩展开发Canvas框架的主要内容,如果未能解决你的问题,请参考以下文章

Shader Graph 和 Amplify Shader Editor 节点文档地址

Unity记一次Amplify Shader Editor-编辑器扩展开发Canvas框架

Unity记一次Amplify Shader Editor入门渲染案例中文解释——UV流动动画

Unity记一次Amplify Shader Editor入门渲染——ZTest,ZWrite,Cull Mode

AmplifyShaderEditor的一些高端用法

unity shader打AB,出APK工程的shader丢失问题