GitHub
7 年前
当前提交
286d82a6
共有 54 个文件被更改,包括 471 次插入 和 1257 次删除
-
24.gitignore
-
4com.unity.shadergraph.meta
-
1001TestbedAssets/Rock_Pack_01/Rocks_Models/Rock_A_01.OBJ
-
4com.unity.shadergraph/Editor/Drawing/PreviewRate.cs.meta
-
21com.unity.shadergraph/Editor/Drawing/PreviewManager.cs
-
28com.unity.shadergraph/Editor/DefaultShaderIncludes.cs
-
3com.unity.shadergraph/Editor/Data/Util/ShaderGenerator.cs
-
76com.unity.shadergraph/Editor/Data/Nodes/Artistic/Filter/DitherNode.cs
-
4com.unity.shadergraph/Editor/Data/Graphs/Texture2DInputMaterialSlot.cs.meta
-
4com.unity.shadergraph/Editor/Data/Graphs/SpaceMaterialSlot.cs.meta
-
278com.unity.shadergraph/Editor/Data/Graphs/DynamicValueMaterialSlot.cs
-
21Testing/Editor/IntegrationTests/ShaderGenerationTest.cs
-
7LICENSE.meta
-
7README.md.meta
-
8Testing.meta
-
7build.py.meta
-
8Testing/Editor.meta
-
8Testing/IntegrationTests.meta
-
8Testing/IntegrationTests/Graphs.meta
-
57Testing/IntegrationTests/Graphs/Add.ShaderGraph
-
7Testing/IntegrationTests/Graphs/Add.ShaderGraph.meta
-
8Testing/IntegrationTests/ShaderTemplates.meta
-
18Testing/IntegrationTests/ShaderTemplates/Add.ShaderGraph.png
-
83Testing/IntegrationTests/ShaderTemplates/Add.ShaderGraph.png.meta
-
0Testing/IntegrationTests/ShaderTemplates/Add.ShaderGraph.shader
-
9Testing/IntegrationTests/ShaderTemplates/Add.ShaderGraph.shader.meta
-
8.hgignore
-
0.gitmodules
-
8com.unity.shadergraph/Editor/Testing.meta
-
9Testing/Editor/IntegrationTests/Graphs.meta
-
0/com.unity.shadergraph.meta
-
0/TestbedAssets.meta
-
0/TestbedAssets
-
0/TestbedAssets/PartyPreview.ShaderGraph.meta
-
0/TestbedAssets/graphs_PartyPreview.mat
-
0/TestbedAssets/graphs_PartyPreview.mat.meta
-
0/TestbedAssets/PartyPreview.ShaderGraph
-
0/TestbedAssets/Beachball.ShaderGraph
-
0/TestbedAssets/Beachball.ShaderGraph.meta
-
0/TestbedAssets/LightweightAsset.asset
-
0/TestbedAssets/LightweightAsset.asset.meta
-
0/TestbedAssets/Oilish.ShaderGraph
-
0/TestbedAssets/Oilish.ShaderGraph.meta
-
0/TestbedAssets/Vector1PropGraph.ShaderGraph
-
0/TestbedAssets/Vector1PropGraph.ShaderGraph.meta
-
0/com.unity.shadergraph
-
0/Testing/Editor
|
|||
artifacts/** |
|||
build/** |
|||
MaterialGraphProject/.vs |
|||
MaterialGraphProject/.vscode |
|||
MaterialGraphProject/Library |
|||
MaterialGraphProject/obj |
|||
MaterialGraphProject/MaterialGraphProject.CSharp.csproj |
|||
MaterialGraphProject/MaterialGraphProject.sln.DotSettings.user |
|||
*.csproj |
|||
MaterialGraphProject/MaterialGraphProject.sln |
|||
MaterialGraphProject/Temp |
|||
MaterialGraphProject/MaterialGraphProject.userprefs |
|||
MaterialGraphProject/.idea |
|||
MaterialGraphProject/Assets/Plugins* |
|||
.vs |
|||
.vscode |
|||
.idea |
|||
MaterialGraphProject/Assets/_MingWai/New Custom Texture.asset.meta |
|||
MaterialGraphProject/Packages/* |
|||
MaterialGraphProject/GeneratedShader.shader |
|||
MaterialGraphProject/UberShader.shader |
|||
!MaterialGraphProject/Packages/manifest.json |
|||
.npmrc |
|||
.npmrc |
|||
DebugOutput.meta |
|||
DebugOutput/** |
|
|||
fileFormatVersion: 2 |
|||
guid: 0b601fe23f0347ab8e4892edf2cf76d7 |
|||
fileFormatVersion: 2 |
|||
guid: 0b601fe23f0347ab8e4892edf2cf76d7 |
|||
timeCreated: 1513757926 |
1001
TestbedAssets/Rock_Pack_01/Rocks_Models/Rock_A_01.OBJ
文件差异内容过多而无法显示
查看文件
文件差异内容过多而无法显示
查看文件
|
|||
fileFormatVersion: 2 |
|||
guid: fa070520993a4b839e705dcd7f22e4d6 |
|||
fileFormatVersion: 2 |
|||
guid: fa070520993a4b839e705dcd7f22e4d6 |
|||
timeCreated: 1506421104 |
|
|||
using System.IO; |
|||
using System.Linq; |
|||
using UnityEngine; |
|||
public static string GetAssetsPackagePath() |
|||
{ |
|||
var packageDirectories = Directory.GetDirectories(Application.dataPath, "com.unity.shadergraph", SearchOption.AllDirectories); |
|||
return packageDirectories.Length == 0 ? null : Path.GetFullPath(packageDirectories.First()); |
|||
} |
|||
|
|||
public static string GetRepositoryPath() |
|||
{ |
|||
var path = GetAssetsPackagePath(); |
|||
if (path == null) |
|||
return null; |
|||
return Path.GetFullPath(Directory.GetParent(path).ToString()); |
|||
} |
|||
|
|||
public static string GetDebugOutputPath() |
|||
{ |
|||
var path = GetRepositoryPath(); |
|||
if (path == null) |
|||
return null; |
|||
path = Path.Combine(path, "DebugOutput"); |
|||
return Directory.Exists(path) ? path : null; |
|||
} |
|||
|
|||
Path.GetFullPath("Assets/UnityShaderEditor"), |
|||
Path.GetFullPath("Packages/com.unity.shadergraph"), |
|||
GetAssetsPackagePath() ?? Path.GetFullPath("Packages/com.unity.shadergraph") |
|||
}; |
|||
} |
|||
} |
|
|||
using System.Reflection; |
|||
using UnityEngine; |
|||
|
|||
namespace UnityEditor.ShaderGraph |
|||
{ |
|||
[Title("Artistic", "Filter", "Dither")] |
|||
public class DitherNode : CodeFunctionNode |
|||
{ |
|||
public DitherNode() |
|||
{ |
|||
name = "Dither"; |
|||
UpdateNodeAfterDeserialization(); |
|||
} |
|||
protected override MethodInfo GetFunctionToConvert() |
|||
{ |
|||
return GetType().GetMethod("Unity_Dither", BindingFlags.Static | BindingFlags.NonPublic); |
|||
} |
|||
static string Unity_Dither( |
|||
[Slot(0, Binding.None)] DynamicDimensionVector In, |
|||
[Slot(1, Binding.ScreenPosition)] Vector2 ScreenPosition, |
|||
[Slot(2, Binding.None)] out DynamicDimensionVector Out) |
|||
{ |
|||
return |
|||
@"
|
|||
{ |
|||
{precision}2 uv = ScreenPosition.xy * _ScreenParams.xy; |
|||
{precision} DITHER_THRESHOLDS[16] = |
|||
{ |
|||
1.0 / 17.0, 9.0 / 17.0, 3.0 / 17.0, 11.0 / 17.0, |
|||
13.0 / 17.0, 5.0 / 17.0, 15.0 / 17.0, 7.0 / 17.0, |
|||
4.0 / 17.0, 12.0 / 17.0, 2.0 / 17.0, 10.0 / 17.0, |
|||
16.0 / 17.0, 8.0 / 17.0, 14.0 / 17.0, 6.0 / 17.0 |
|||
}; |
|||
uint index = (uint(uv.x) % 4) * 4 + uint(uv.y) % 4; |
|||
Out = In - DITHER_THRESHOLDS[index]; |
|||
}";
|
|||
} |
|||
} |
|||
using System.Reflection; |
|||
using UnityEngine; |
|||
|
|||
namespace UnityEditor.ShaderGraph |
|||
{ |
|||
[Title("Artistic", "Filter", "Dither")] |
|||
public class DitherNode : CodeFunctionNode |
|||
{ |
|||
public DitherNode() |
|||
{ |
|||
name = "Dither"; |
|||
UpdateNodeAfterDeserialization(); |
|||
} |
|||
protected override MethodInfo GetFunctionToConvert() |
|||
{ |
|||
return GetType().GetMethod("Unity_Dither", BindingFlags.Static | BindingFlags.NonPublic); |
|||
} |
|||
static string Unity_Dither( |
|||
[Slot(0, Binding.None)] DynamicDimensionVector In, |
|||
[Slot(1, Binding.ScreenPosition)] Vector2 ScreenPosition, |
|||
[Slot(2, Binding.None)] out DynamicDimensionVector Out) |
|||
{ |
|||
return |
|||
@"
|
|||
{ |
|||
{precision}2 uv = ScreenPosition.xy * _ScreenParams.xy; |
|||
{precision} DITHER_THRESHOLDS[16] = |
|||
{ |
|||
1.0 / 17.0, 9.0 / 17.0, 3.0 / 17.0, 11.0 / 17.0, |
|||
13.0 / 17.0, 5.0 / 17.0, 15.0 / 17.0, 7.0 / 17.0, |
|||
4.0 / 17.0, 12.0 / 17.0, 2.0 / 17.0, 10.0 / 17.0, |
|||
16.0 / 17.0, 8.0 / 17.0, 14.0 / 17.0, 6.0 / 17.0 |
|||
}; |
|||
uint index = (uint(uv.x) % 4) * 4 + uint(uv.y) % 4; |
|||
Out = In - DITHER_THRESHOLDS[index]; |
|||
}";
|
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: ebeb3a21d05d49caa5d3318fb49b7612 |
|||
fileFormatVersion: 2 |
|||
guid: ebeb3a21d05d49caa5d3318fb49b7612 |
|||
timeCreated: 1509276977 |
|
|||
fileFormatVersion: 2 |
|||
guid: 66199806246c45e493afdfc09208cbdc |
|||
fileFormatVersion: 2 |
|||
guid: 66199806246c45e493afdfc09208cbdc |
|||
timeCreated: 1509290088 |
|
|||
using System; |
|||
using UnityEditor.Graphing; |
|||
using UnityEditor.ShaderGraph.Drawing.Slots; |
|||
using UnityEngine; |
|||
using UnityEngine.Experimental.UIElements; |
|||
|
|||
namespace UnityEditor.ShaderGraph |
|||
{ |
|||
[Serializable] |
|||
public class DynamicValueMaterialSlot : MaterialSlot, IMaterialSlotHasValue<Matrix4x4> |
|||
{ |
|||
[SerializeField] |
|||
private Matrix4x4 m_Value; |
|||
|
|||
[SerializeField] |
|||
private Matrix4x4 m_DefaultValue; |
|||
|
|||
private ConcreteSlotValueType m_ConcreteValueType = ConcreteSlotValueType.Vector4; |
|||
|
|||
public DynamicValueMaterialSlot() |
|||
{ |
|||
} |
|||
|
|||
public DynamicValueMaterialSlot( |
|||
int slotId, |
|||
string displayName, |
|||
string shaderOutputName, |
|||
SlotType slotType, |
|||
Matrix4x4 value, |
|||
ShaderStage shaderStage = ShaderStage.Dynamic, |
|||
bool hidden = false) |
|||
: base(slotId, displayName, shaderOutputName, slotType, shaderStage, hidden) |
|||
{ |
|||
m_Value = value; |
|||
} |
|||
|
|||
public Matrix4x4 defaultValue { get { return m_DefaultValue; } } |
|||
|
|||
public Matrix4x4 value |
|||
{ |
|||
get { return m_Value; } |
|||
set { m_Value = value; } |
|||
} |
|||
|
|||
public override VisualElement InstantiateControl() |
|||
{ |
|||
int components = |
|||
concreteValueType == ConcreteSlotValueType.Vector4 ? 4 : |
|||
concreteValueType == ConcreteSlotValueType.Vector3 ? 3 : |
|||
concreteValueType == ConcreteSlotValueType.Vector2 ? 2 : |
|||
concreteValueType == ConcreteSlotValueType.Vector1 ? 1 : 0; |
|||
|
|||
return new MultiFloatSlotControlView(owner, components, () => value.GetRow(0), (newValue) => value = new Matrix4x4(newValue, value.GetRow(1), value.GetRow(2), value.GetRow(3))); |
|||
} |
|||
|
|||
public override SlotValueType valueType { get { return SlotValueType.Dynamic; } } |
|||
|
|||
public override ConcreteSlotValueType concreteValueType |
|||
{ |
|||
get { return m_ConcreteValueType; } |
|||
} |
|||
|
|||
public void SetConcreteType(ConcreteSlotValueType valueType) |
|||
{ |
|||
m_ConcreteValueType = valueType; |
|||
} |
|||
|
|||
public override PreviewProperty GetPreviewProperty(string name) |
|||
{ |
|||
var propType = ConvertConcreteSlotValueTypeToPropertyType(concreteValueType); |
|||
var pp = new PreviewProperty(propType) { name = name }; |
|||
if (propType == PropertyType.Vector1) |
|||
pp.floatValue = value.m00; |
|||
else |
|||
pp.vector4Value = new Vector4(value.m00, value.m01, value.m02, value.m03); |
|||
return pp; |
|||
} |
|||
|
|||
protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) |
|||
{ |
|||
var channelCount = SlotValueHelper.GetChannelCount(concreteValueType); |
|||
string values = NodeUtils.FloatToShaderValue(value.m00); |
|||
if (channelCount == 1) |
|||
return values; |
|||
for (var i = 1; i < channelCount; i++) |
|||
values += ", " + value.GetRow(0)[i]; |
|||
return string.Format("{0}{1}({2})", precision, channelCount, values); |
|||
} |
|||
|
|||
public override void AddDefaultProperty(PropertyCollector properties, GenerationMode generationMode) |
|||
{ |
|||
if (!generationMode.IsPreview()) |
|||
return; |
|||
|
|||
var matOwner = owner as AbstractMaterialNode; |
|||
if (matOwner == null) |
|||
throw new Exception(string.Format("Slot {0} either has no owner, or the owner is not a {1}", this, typeof(AbstractMaterialNode))); |
|||
|
|||
IShaderProperty property; |
|||
switch (concreteValueType) |
|||
{ |
|||
case ConcreteSlotValueType.Vector4: |
|||
property = new Vector4ShaderProperty(); |
|||
break; |
|||
case ConcreteSlotValueType.Vector3: |
|||
property = new Vector3ShaderProperty(); |
|||
break; |
|||
case ConcreteSlotValueType.Vector2: |
|||
property = new Vector2ShaderProperty(); |
|||
break; |
|||
case ConcreteSlotValueType.Vector1: |
|||
property = new Vector1ShaderProperty(); |
|||
break; |
|||
case ConcreteSlotValueType.Matrix4: |
|||
property = new Matrix4ShaderProperty(); |
|||
break; |
|||
case ConcreteSlotValueType.Matrix3: |
|||
property = new Matrix3ShaderProperty(); |
|||
break; |
|||
case ConcreteSlotValueType.Matrix2: |
|||
property = new Matrix2ShaderProperty(); |
|||
break; |
|||
default: |
|||
throw new ArgumentOutOfRangeException(); |
|||
} |
|||
|
|||
property.overrideReferenceName = matOwner.GetVariableNameForSlot(id); |
|||
property.generatePropertyBlock = false; |
|||
properties.AddShaderProperty(property); |
|||
} |
|||
|
|||
public override void CopyValuesFrom(MaterialSlot foundSlot) |
|||
{ |
|||
var slot = foundSlot as DynamicValueMaterialSlot; |
|||
if (slot != null) |
|||
value = slot.value; |
|||
} |
|||
} |
|||
} |
|||
using System; |
|||
using UnityEditor.Graphing; |
|||
using UnityEditor.ShaderGraph.Drawing.Slots; |
|||
using UnityEngine; |
|||
using UnityEngine.Experimental.UIElements; |
|||
|
|||
namespace UnityEditor.ShaderGraph |
|||
{ |
|||
[Serializable] |
|||
public class DynamicValueMaterialSlot : MaterialSlot, IMaterialSlotHasValue<Matrix4x4> |
|||
{ |
|||
[SerializeField] |
|||
private Matrix4x4 m_Value; |
|||
|
|||
[SerializeField] |
|||
private Matrix4x4 m_DefaultValue; |
|||
|
|||
private ConcreteSlotValueType m_ConcreteValueType = ConcreteSlotValueType.Vector4; |
|||
|
|||
public DynamicValueMaterialSlot() |
|||
{ |
|||
} |
|||
|
|||
public DynamicValueMaterialSlot( |
|||
int slotId, |
|||
string displayName, |
|||
string shaderOutputName, |
|||
SlotType slotType, |
|||
Matrix4x4 value, |
|||
ShaderStage shaderStage = ShaderStage.Dynamic, |
|||
bool hidden = false) |
|||
: base(slotId, displayName, shaderOutputName, slotType, shaderStage, hidden) |
|||
{ |
|||
m_Value = value; |
|||
} |
|||
|
|||
public Matrix4x4 defaultValue { get { return m_DefaultValue; } } |
|||
|
|||
public Matrix4x4 value |
|||
{ |
|||
get { return m_Value; } |
|||
set { m_Value = value; } |
|||
} |
|||
|
|||
public override VisualElement InstantiateControl() |
|||
{ |
|||
int components = |
|||
concreteValueType == ConcreteSlotValueType.Vector4 ? 4 : |
|||
concreteValueType == ConcreteSlotValueType.Vector3 ? 3 : |
|||
concreteValueType == ConcreteSlotValueType.Vector2 ? 2 : |
|||
concreteValueType == ConcreteSlotValueType.Vector1 ? 1 : 0; |
|||
|
|||
return new MultiFloatSlotControlView(owner, components, () => value.GetRow(0), (newValue) => value = new Matrix4x4(newValue, value.GetRow(1), value.GetRow(2), value.GetRow(3))); |
|||
} |
|||
|
|||
public override SlotValueType valueType { get { return SlotValueType.Dynamic; } } |
|||
|
|||
public override ConcreteSlotValueType concreteValueType |
|||
{ |
|||
get { return m_ConcreteValueType; } |
|||
} |
|||
|
|||
public void SetConcreteType(ConcreteSlotValueType valueType) |
|||
{ |
|||
m_ConcreteValueType = valueType; |
|||
} |
|||
|
|||
public override PreviewProperty GetPreviewProperty(string name) |
|||
{ |
|||
var propType = ConvertConcreteSlotValueTypeToPropertyType(concreteValueType); |
|||
var pp = new PreviewProperty(propType) { name = name }; |
|||
if (propType == PropertyType.Vector1) |
|||
pp.floatValue = value.m00; |
|||
else |
|||
pp.vector4Value = new Vector4(value.m00, value.m01, value.m02, value.m03); |
|||
return pp; |
|||
} |
|||
|
|||
protected override string ConcreteSlotValueAsVariable(AbstractMaterialNode.OutputPrecision precision) |
|||
{ |
|||
var channelCount = SlotValueHelper.GetChannelCount(concreteValueType); |
|||
string values = NodeUtils.FloatToShaderValue(value.m00); |
|||
if (channelCount == 1) |
|||
return values; |
|||
for (var i = 1; i < channelCount; i++) |
|||
values += ", " + value.GetRow(0)[i]; |
|||
return string.Format("{0}{1}({2})", precision, channelCount, values); |
|||
} |
|||
|
|||
public override void AddDefaultProperty(PropertyCollector properties, GenerationMode generationMode) |
|||
{ |
|||
if (!generationMode.IsPreview()) |
|||
return; |
|||
|
|||
var matOwner = owner as AbstractMaterialNode; |
|||
if (matOwner == null) |
|||
throw new Exception(string.Format("Slot {0} either has no owner, or the owner is not a {1}", this, typeof(AbstractMaterialNode))); |
|||
|
|||
IShaderProperty property; |
|||
switch (concreteValueType) |
|||
{ |
|||
case ConcreteSlotValueType.Vector4: |
|||
property = new Vector4ShaderProperty(); |
|||
break; |
|||
case ConcreteSlotValueType.Vector3: |
|||
property = new Vector3ShaderProperty(); |
|||
break; |
|||
case ConcreteSlotValueType.Vector2: |
|||
property = new Vector2ShaderProperty(); |
|||
break; |
|||
case ConcreteSlotValueType.Vector1: |
|||
property = new Vector1ShaderProperty(); |
|||
break; |
|||
case ConcreteSlotValueType.Matrix4: |
|||
property = new Matrix4ShaderProperty(); |
|||
break; |
|||
case ConcreteSlotValueType.Matrix3: |
|||
property = new Matrix3ShaderProperty(); |
|||
break; |
|||
case ConcreteSlotValueType.Matrix2: |
|||
property = new Matrix2ShaderProperty(); |
|||
break; |
|||
default: |
|||
throw new ArgumentOutOfRangeException(); |
|||
} |
|||
|
|||
property.overrideReferenceName = matOwner.GetVariableNameForSlot(id); |
|||
property.generatePropertyBlock = false; |
|||
properties.AddShaderProperty(property); |
|||
} |
|||
|
|||
public override void CopyValuesFrom(MaterialSlot foundSlot) |
|||
{ |
|||
var slot = foundSlot as DynamicValueMaterialSlot; |
|||
if (slot != null) |
|||
value = slot.value; |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: ccd80e6f5d1fa7e4dbe10a0163abd393 |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 08534868baca5cc4092711da8c94e981 |
|||
TextScriptImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 0191f2183190488449b2ef17660f2593 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 7b1a0d0e4b2baea45969a56eca979c72 |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 5ec6bb6cbe5f7d64fafc86c030ea8684 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 48e4573d1f98ead4d9519560b321f962 |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: b6a29d9d3fa10ca4dbc83d847ef342ee |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
{ |
|||
"m_SerializedProperties": [], |
|||
"m_GUID": { |
|||
"m_GuidSerialized": "17176d7a-f8ae-444e-b467-368306d9740e" |
|||
}, |
|||
"m_SerializableNodes": [ |
|||
{ |
|||
"typeInfo": { |
|||
"fullName": "UnityEditor.ShaderGraph.UnlitMasterNode" |
|||
}, |
|||
"JSONnodeData": "{\n \"m_GuidSerialized\": \"d6f5f404-9428-4ff8-8bac-c3aad434ee94\",\n \"m_Name\": \"Unlit Master\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 0.0,\n \"y\": 0.0,\n \"width\": 0.0,\n \"height\": 0.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Color\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Color\\\",\\n \\\"m_ShaderStage\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.5,\\n \\\"y\\\": 0.5,\\n \\\"z\\\": 0.5\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_ShaderStage\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 8,\\n \\\"m_DisplayName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"AlphaClipThreshold\\\",\\n \\\"m_ShaderStage\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true,\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.LightWeightUnlitSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_AlphaMode\": 0\n}" |
|||
}, |
|||
{ |
|||
"typeInfo": { |
|||
"fullName": "UnityEditor.ShaderGraph.AddNode" |
|||
}, |
|||
"JSONnodeData": "{\n \"m_GuidSerialized\": \"3d7cb8e2-9a91-47ae-980c-60f5d74b1f29\",\n \"m_Name\": \"Add\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -359.5,\n \"y\": 1.0,\n \"width\": 208.0,\n \"height\": 302.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.DynamicVectorMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true\n}" |
|||
}, |
|||
{ |
|||
"typeInfo": { |
|||
"fullName": "UnityEditor.ShaderGraph.Vector2Node" |
|||
}, |
|||
"JSONnodeData": "{\n \"m_GuidSerialized\": \"371aea6f-8280-4d19-8182-006228b43fb1\",\n \"m_Name\": \"Vector 2\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -532.5,\n \"y\": -28.0,\n \"width\": 104.0,\n \"height\": 114.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector2MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true,\n \"m_Value\": {\n \"x\": 0.20000000298023225,\n \"y\": 0.4000000059604645\n }\n}" |
|||
}, |
|||
{ |
|||
"typeInfo": { |
|||
"fullName": "UnityEditor.ShaderGraph.Vector4Node" |
|||
}, |
|||
"JSONnodeData": "{\n \"m_GuidSerialized\": \"d33350e2-ae0f-43c2-8639-55adc4252c52\",\n \"m_Name\": \"Vector 4\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -615.5,\n \"y\": 89.0,\n \"width\": 188.0,\n \"height\": 114.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Out\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Out\\\",\\n \\\"m_ShaderStage\\\": 0,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n }\n ],\n \"m_PreviewExpanded\": true,\n \"m_Value\": {\n \"x\": 0.6000000238418579,\n \"y\": 0.5,\n \"z\": 0.699999988079071,\n \"w\": 1.0\n }\n}" |
|||
} |
|||
], |
|||
"m_SerializableEdges": [ |
|||
{ |
|||
"typeInfo": { |
|||
"fullName": "UnityEditor.Graphing.Edge" |
|||
}, |
|||
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"3d7cb8e2-9a91-47ae-980c-60f5d74b1f29\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d6f5f404-9428-4ff8-8bac-c3aad434ee94\"\n }\n}" |
|||
}, |
|||
{ |
|||
"typeInfo": { |
|||
"fullName": "UnityEditor.Graphing.Edge" |
|||
}, |
|||
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"371aea6f-8280-4d19-8182-006228b43fb1\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"3d7cb8e2-9a91-47ae-980c-60f5d74b1f29\"\n }\n}" |
|||
}, |
|||
{ |
|||
"typeInfo": { |
|||
"fullName": "UnityEditor.Graphing.Edge" |
|||
}, |
|||
"JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"d33350e2-ae0f-43c2-8639-55adc4252c52\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 1,\n \"m_NodeGUIDSerialized\": \"3d7cb8e2-9a91-47ae-980c-60f5d74b1f29\"\n }\n}" |
|||
} |
|||
], |
|||
"m_PreviewData": { |
|||
"serializedMesh": { |
|||
"m_SerializedMesh": "" |
|||
} |
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: 5afb17f32b499314c8744c5ee1859a0d |
|||
ScriptedImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|||
script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} |
|
|||
fileFormatVersion: 2 |
|||
guid: 40e60e40cb434cf4d8154cf5a15b424e |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: fb9b3c4c65118764aba1c1aa90df4b56 |
|||
TextureImporter: |
|||
fileIDToRecycleName: {} |
|||
externalObjects: {} |
|||
serializedVersion: 5 |
|||
mipmaps: |
|||
mipMapMode: 0 |
|||
enableMipMap: 1 |
|||
sRGBTexture: 1 |
|||
linearTexture: 0 |
|||
fadeOut: 0 |
|||
borderMipMap: 0 |
|||
mipMapsPreserveCoverage: 0 |
|||
alphaTestReferenceValue: 0.5 |
|||
mipMapFadeDistanceStart: 1 |
|||
mipMapFadeDistanceEnd: 3 |
|||
bumpmap: |
|||
convertToNormalMap: 0 |
|||
externalNormalMap: 0 |
|||
heightScale: 0.25 |
|||
normalMapFilter: 0 |
|||
isReadable: 0 |
|||
grayScaleToAlpha: 0 |
|||
generateCubemap: 6 |
|||
cubemapConvolution: 0 |
|||
seamlessCubemap: 0 |
|||
textureFormat: 1 |
|||
maxTextureSize: 2048 |
|||
textureSettings: |
|||
serializedVersion: 2 |
|||
filterMode: -1 |
|||
aniso: -1 |
|||
mipBias: -1 |
|||
wrapU: -1 |
|||
wrapV: -1 |
|||
wrapW: -1 |
|||
nPOTScale: 1 |
|||
lightmap: 0 |
|||
compressionQuality: 50 |
|||
spriteMode: 0 |
|||
spriteExtrude: 1 |
|||
spriteMeshType: 1 |
|||
alignment: 0 |
|||
spritePivot: {x: 0.5, y: 0.5} |
|||
spriteBorder: {x: 0, y: 0, z: 0, w: 0} |
|||
spritePixelsToUnits: 100 |
|||
alphaUsage: 1 |
|||
alphaIsTransparency: 0 |
|||
spriteTessellationDetail: -1 |
|||
textureType: 0 |
|||
textureShape: 1 |
|||
singleChannelComponent: 0 |
|||
maxTextureSizeSet: 0 |
|||
compressionQualitySet: 0 |
|||
textureFormatSet: 0 |
|||
platformSettings: |
|||
- serializedVersion: 2 |
|||
buildTarget: DefaultTexturePlatform |
|||
maxTextureSize: 2048 |
|||
resizeAlgorithm: 0 |
|||
textureFormat: -1 |
|||
textureCompression: 1 |
|||
compressionQuality: 50 |
|||
crunchedCompression: 0 |
|||
allowsAlphaSplitting: 0 |
|||
overridden: 0 |
|||
androidETC2FallbackOverride: 0 |
|||
spriteSheet: |
|||
serializedVersion: 2 |
|||
sprites: [] |
|||
outline: [] |
|||
physicsShape: [] |
|||
bones: [] |
|||
spriteID: |
|||
vertices: [] |
|||
indices: |
|||
edges: [] |
|||
weights: [] |
|||
spritePackingTag: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 77af32e86de29534d8a9e7f227a27569 |
|||
ShaderImporter: |
|||
externalObjects: {} |
|||
defaultTextures: [] |
|||
nonModifiableTextures: [] |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
syntax: glob |
|||
UnityProject/Library |
|||
UnityProject/Temp |
|||
UnityProject/obj |
|||
UnityProject/UnityProject.v12.suo |
|||
UnityProject/UnityProject.sln |
|||
UnityProject/Assembly-CSharp-Editor.csproj |
|||
UnityProject/Assembly-CSharp.csproj |
|
|||
fileFormatVersion: 2 |
|||
guid: 5cc649b733bac14459d4d140e18650fa |
|||
folderAsset: yes |
|||
DefaultImporter: |
|||
externalObjects: {} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 30d7777d261724f478e42c8507d11c78 |
|||
folderAsset: yes |
|||
timeCreated: 1454665112 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
撰写
预览
正在加载...
取消
保存
Reference in new issue