sebastienlagarde
8 年前
当前提交
2fae393e
共有 34 个文件被更改,包括 604 次插入 和 51 次删除
-
3ProjectSettings/ProjectVersion.txt
-
14ProjectSettings/UnityConnectSettings.asset
-
2Assets/ScriptableRenderLoop/UnityStandard/Shaders/Material/Material.hlsl
-
1Assets/ScriptableRenderLoop/UnityStandard/Shaders/VertexShader.hlsl
-
9Assets/ScriptableRenderLoop/UnityStandard.meta
-
12Assets/ScriptableRenderLoop/common/SkyboxHelper.cs.meta
-
12Assets/ScriptableRenderLoop/common/TextureSettings.cs.meta
-
9Assets/ScriptableRenderLoop/fptl/FinalPass.shader.meta
-
9Assets/TestScenes/UnityStandard.meta
-
9Assets/ScriptableRenderLoop/UnityStandard/Shaders.meta
-
9Assets/ScriptableRenderLoop/UnityStandard/Shaders/Lighting.meta
-
9Assets/ScriptableRenderLoop/UnityStandard/Shaders/Material.meta
-
104Assets/ScriptableRenderLoop/UnityStandard/Shaders/UnityStandard.shader
-
250Assets/ScriptableRenderLoop/UnityStandard/UnityStandardRenderLoop.cs
-
12Assets/ScriptableRenderLoop/UnityStandard/UnityStandardRenderLoop.cs.meta
-
9Assets/TestScenes/UnityStandard/Material.meta
-
127Assets/TestScenes/UnityStandard/Material/test.mat
-
8Assets/TestScenes/UnityStandard/Material/test.mat.meta
-
9Assets/ScriptableRenderLoop/ShaderLibrary/Lighting.meta
-
9Assets/ScriptableRenderLoop/ShaderLibrary/Material.meta
-
9Assets/ScriptableRenderLoop/ShaderLibrary/Shaders.meta
-
9Assets/TestScenes/ForwardRenderLoop/ForwardRenderLoop.meta
-
11ProjectSettings/UnityAdsSettings.asset
-
0/Assets/ScriptableRenderLoop/UnityStandard/Shaders/Material
-
0/Assets/ScriptableRenderLoop/UnityStandard/Shaders/ShaderVariables.hlsl
-
0/Assets/ScriptableRenderLoop/UnityStandard/Shaders/ShaderVariables.hlsl.meta
-
0/Assets/ScriptableRenderLoop/UnityStandard/Shaders/UnityStandard.shader.meta
-
0/Assets/ScriptableRenderLoop/UnityStandard/Shaders/VertexShader.hlsl
-
0/Assets/ScriptableRenderLoop/UnityStandard/Shaders/VertexShader.hlsl.meta
|
|||
m_EditorVersion: 5.4.0b19 |
|||
m_StandardAssetsVersion: 0 |
|||
m_EditorVersion: 5.5.0b4 |
|
|||
fileFormatVersion: 2 |
|||
guid: 6ef0a49ce698a24459471a57184c7259 |
|||
folderAsset: yes |
|||
timeCreated: 1474297943 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: dc31a67872e09bf4c840b991bc2a58de |
|||
timeCreated: 1474297128 |
|||
licenseType: Pro |
|||
MonoImporter: |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: ef6d2fab1eef264438d17ebc802e02c8 |
|||
timeCreated: 1474297128 |
|||
licenseType: Pro |
|||
MonoImporter: |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 5590f54ad211f594da4e687b698f2258 |
|||
timeCreated: 1474297133 |
|||
licenseType: Pro |
|||
ShaderImporter: |
|||
defaultTextures: [] |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 8276fd7131b21b74f995f26f7712cf65 |
|||
folderAsset: yes |
|||
timeCreated: 1474299364 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: fafbb144d7f66074785b7727293d89c5 |
|||
folderAsset: yes |
|||
timeCreated: 1474297943 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: b8bec6e2ba5850349bc2827fbe25b071 |
|||
folderAsset: yes |
|||
timeCreated: 1474297943 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: b7bc5becc2cf7f14292d68bcd5fdeba6 |
|||
folderAsset: yes |
|||
timeCreated: 1474297943 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
Shader "Unity/UnityStandard" |
|||
{ |
|||
Properties |
|||
{ |
|||
_DiffuseColor("Diffuse", Color) = (1,1,1,1) |
|||
_DiffuseMap("Diffuse", 2D) = "white" {} |
|||
|
|||
_SpecColor("Specular", Color) = (0.2,0.2,0.2) |
|||
_SpecMap("Specular", 2D) = "white" {} |
|||
|
|||
_Smoothness("Smoothness", Range(0.0, 1.0)) = 0.5 |
|||
_SmoothnessMap("Smoothness", 2D) = "white" {} |
|||
|
|||
_NormalMap("Normal Map", 2D) = "bump" {} |
|||
_OcclusionMap("Occlusion", 2D) = "white" {} |
|||
|
|||
_Cutoff("Alpha Cutoff", Range(0.0, 1.0)) = 0.5 |
|||
|
|||
// Blending state |
|||
[HideInInspector] _Mode ("__mode", Float) = 0.0 |
|||
[HideInInspector] _SrcBlend ("__src", Float) = 1.0 |
|||
[HideInInspector] _DstBlend ("__dst", Float) = 0.0 |
|||
[HideInInspector] _ZWrite ("__zw", Float) = 1.0 |
|||
} |
|||
|
|||
CGINCLUDE |
|||
|
|||
#include "Material/Material.hlsl" |
|||
|
|||
ENDCG |
|||
|
|||
SubShader |
|||
{ |
|||
Tags { "RenderType"="Opaque" "PerformanceChecks"="False" } |
|||
LOD 300 |
|||
|
|||
// ------------------------------------------------------------------ |
|||
// Base forward pass (directional light, emission, lightmaps, ...) |
|||
Pass |
|||
{ |
|||
Name "FORWARD" |
|||
Tags { "LightMode" = "Forward" } |
|||
|
|||
Blend [_SrcBlend] [_DstBlend] |
|||
ZWrite [_ZWrite] |
|||
|
|||
CGPROGRAM |
|||
#pragma target 5.0 |
|||
#pragma only_renderers d3d11 // TEMP: unitl we go futher in dev |
|||
|
|||
// Include |
|||
#include "ShaderVariables.hlsl" |
|||
|
|||
|
|||
#pragma vertex MainVS |
|||
#pragma fragment MainPS |
|||
|
|||
|
|||
//------------------------------------------------------------------------------------- |
|||
// Input functions |
|||
|
|||
struct VSInput |
|||
{ |
|||
float4 vertex : POSITION; |
|||
half3 normal : NORMAL; |
|||
float2 uv0 : TEXCOORD0; |
|||
//float2 uv1 : TEXCOORD1; |
|||
//#if defined(DYNAMICLIGHTMAP_ON) || defined(UNITY_PASS_META) |
|||
// float2 uv2 : TEXCOORD2; |
|||
//#endif |
|||
//#ifdef _TANGENT_TO_WORLD |
|||
half4 tangent : TANGENT; |
|||
//#endif |
|||
//UNITY_INSTANCE_ID |
|||
}; |
|||
|
|||
struct VSOutput |
|||
{ |
|||
float4 positionWS : SV_POSITION; |
|||
float2 texCoord0 : TEXCOORD0; |
|||
float4 tangentToWorldAndParallax : TANGENT; // [3x3:tangentToWorld | 1x3:viewDirForParallax] |
|||
}; |
|||
|
|||
VSOutput MainVS( VSInput i ) |
|||
{ |
|||
// TODO : here we must support anykind of vertex animation |
|||
PSInput o; |
|||
|
|||
o.positionWS = UnityObjectToClipPos(v.vertex); |
|||
|
|||
float3 positionWS = mul( unity_ObjectToWorld, i.vPositionOs.xyzw ).xyz; |
|||
o.positionWS.xyzw = mul( UNITY_MATRIX_MVP, float4( mul( unity_WorldToObject, float4( vPositionWs.xyz, 1.0 ) ).xyz, 1.0 ) ); |
|||
return o; |
|||
} |
|||
|
|||
float4 MainPS( VSOutput i ) : SV_Target |
|||
{ |
|||
return float4( 1.0, 0.0, 0.0, 0.0 ); |
|||
} |
|||
|
|||
ENDCG |
|||
} |
|||
} |
|||
} |
|
|||
using UnityEngine; |
|||
using System.Collections; |
|||
using UnityEngine.Rendering; |
|||
using System.Collections.Generic; |
|||
using System; |
|||
|
|||
using UnityEditor; |
|||
|
|||
namespace UnityEngine.ScriptableRenderLoop |
|||
{ |
|||
public class UnityStandardRenderLoop : ScriptableRenderLoop |
|||
{ |
|||
[MenuItem("Renderloop/UnityStandardRenderLoop")] |
|||
static void CreateUnityStandardRenderLoop() |
|||
{ |
|||
var instance = ScriptableObject.CreateInstance<UnityStandardRenderLoop>(); |
|||
AssetDatabase.CreateAsset(instance, "Assets/UnityStandardRenderLoop.asset"); |
|||
} |
|||
|
|||
[SerializeField] |
|||
//ShadowSettings m_ShadowSettings = ShadowSettings.Default;
|
|||
//ShadowRenderPass m_ShadowPass;
|
|||
|
|||
|
|||
const int MAX_LIGHTS = 10; |
|||
const int MAX_SHADOWMAP_PER_LIGHTS = 6; |
|||
const int MAX_DIRECTIONAL_SPLIT = 4; |
|||
// Directional lights become spotlights at a far distance. This is the distance we pull back to set the spotlight origin.
|
|||
const float DIRECTIONAL_LIGHT_PULLBACK_DISTANCE = 10000.0f; |
|||
|
|||
[NonSerialized] private int m_nWarnedTooManyLights = 0; |
|||
|
|||
|
|||
void OnEnable() |
|||
{ |
|||
Rebuild (); |
|||
} |
|||
|
|||
void OnValidate() |
|||
{ |
|||
Rebuild (); |
|||
} |
|||
|
|||
void Rebuild() |
|||
{ |
|||
// m_ShadowPass = new ShadowRenderPass (m_ShadowSettings);
|
|||
} |
|||
|
|||
//---------------------------------------------------------------------------------------------------------------------------------------------------
|
|||
void UpdateLightConstants(ActiveLight[] activeLights, ref ShadowOutput shadow) |
|||
{ |
|||
/* |
|||
int nNumLightsIncludingTooMany = 0; |
|||
|
|||
int g_nNumLights = 0; |
|||
|
|||
Vector4[] g_vLightColor = new Vector4[ MAX_LIGHTS ]; |
|||
Vector4[] g_vLightPosition_flInvRadius = new Vector4[ MAX_LIGHTS ]; |
|||
Vector4[] g_vLightDirection = new Vector4[ MAX_LIGHTS ]; |
|||
Vector4[] g_vLightShadowIndex_vLightParams = new Vector4[ MAX_LIGHTS ]; |
|||
Vector4[] g_vLightFalloffParams = new Vector4[ MAX_LIGHTS ]; |
|||
Vector4[] g_vSpotLightInnerOuterConeCosines = new Vector4[ MAX_LIGHTS ]; |
|||
Matrix4x4[] g_matWorldToShadow = new Matrix4x4[ MAX_LIGHTS * MAX_SHADOWMAP_PER_LIGHTS ]; |
|||
Vector4[] g_vDirShadowSplitSpheres = new Vector4[ MAX_DIRECTIONAL_SPLIT ]; |
|||
|
|||
for ( int nLight = 0; nLight < activeLights.Length; nLight++ ) |
|||
{ |
|||
|
|||
nNumLightsIncludingTooMany++; |
|||
if ( nNumLightsIncludingTooMany > MAX_LIGHTS ) |
|||
continue; |
|||
|
|||
ActiveLight light = activeLights [nLight]; |
|||
LightType lightType = light.lightType; |
|||
Vector3 position = light.light.transform.position; |
|||
Vector3 lightDir = light.light.transform.forward.normalized; |
|||
AdditionalLightData additionalLightData = light.light.GetComponent<AdditionalLightData> (); |
|||
|
|||
// Setup shadow data arrays
|
|||
bool hasShadows = shadow.GetShadowSliceCountLightIndex (nLight) != 0; |
|||
|
|||
if ( lightType == LightType.Directional ) |
|||
{ |
|||
g_vLightColor[ g_nNumLights ] = light.finalColor; |
|||
g_vLightPosition_flInvRadius[ g_nNumLights ] = new Vector4( |
|||
position.x - ( lightDir.x * DIRECTIONAL_LIGHT_PULLBACK_DISTANCE ), |
|||
position.y - ( lightDir.y * DIRECTIONAL_LIGHT_PULLBACK_DISTANCE ), |
|||
position.z - ( lightDir.z * DIRECTIONAL_LIGHT_PULLBACK_DISTANCE ), |
|||
-1.0f ); |
|||
g_vLightDirection[ g_nNumLights ] = new Vector4( lightDir.x, lightDir.y, lightDir.z ); |
|||
g_vLightShadowIndex_vLightParams[ g_nNumLights ] = new Vector4( 0, 0, 1, 1 ); |
|||
g_vLightFalloffParams[ g_nNumLights ] = new Vector4( 0.0f, 0.0f, float.MaxValue, (float)lightType ); |
|||
g_vSpotLightInnerOuterConeCosines[ g_nNumLights ] = new Vector4( 0.0f, -1.0f, 1.0f ); |
|||
|
|||
if (hasShadows) |
|||
{ |
|||
for (int s = 0; s < MAX_DIRECTIONAL_SPLIT; ++s) |
|||
{ |
|||
g_vDirShadowSplitSpheres[s] = shadow.directionalShadowSplitSphereSqr[s]; |
|||
} |
|||
} |
|||
} |
|||
else if ( lightType == LightType.Point ) |
|||
{ |
|||
g_vLightColor[ g_nNumLights ] = light.finalColor; |
|||
|
|||
g_vLightPosition_flInvRadius[ g_nNumLights ] = new Vector4( position.x, position.y, position.z, 1.0f / light.range ); |
|||
g_vLightDirection[ g_nNumLights ] = new Vector4( 0.0f, 0.0f, 0.0f ); |
|||
g_vLightShadowIndex_vLightParams[ g_nNumLights ] = new Vector4( 0, 0, 1, 1 ); |
|||
g_vLightFalloffParams[ g_nNumLights ] = new Vector4( 1.0f, 0.0f, light.range * light.range, (float)lightType ); |
|||
g_vSpotLightInnerOuterConeCosines[ g_nNumLights ] = new Vector4( 0.0f, -1.0f, 1.0f ); |
|||
} |
|||
else if ( lightType == LightType.Spot ) |
|||
{ |
|||
g_vLightColor[ g_nNumLights ] = light.finalColor; |
|||
g_vLightPosition_flInvRadius[ g_nNumLights ] = new Vector4( position.x, position.y, position.z, 1.0f / light.range ); |
|||
g_vLightDirection[ g_nNumLights ] = new Vector4( lightDir.x, lightDir.y, lightDir.z ); |
|||
g_vLightShadowIndex_vLightParams[ g_nNumLights ] = new Vector4( 0, 0, 1, 1 ); |
|||
g_vLightFalloffParams[ g_nNumLights ] = new Vector4( 1.0f, 0.0f, light.range * light.range, (float)lightType ); |
|||
|
|||
float flInnerConePercent = AdditionalLightData.GetInnerSpotPercent01(additionalLightData); |
|||
float spotAngle = light.light.spotAngle; |
|||
float flPhiDot = Mathf.Clamp( Mathf.Cos( spotAngle * 0.5f * Mathf.Deg2Rad ), 0.0f, 1.0f ); // outer cone
|
|||
float flThetaDot = Mathf.Clamp( Mathf.Cos( spotAngle * 0.5f * flInnerConePercent * Mathf.Deg2Rad ), 0.0f, 1.0f ); // inner cone
|
|||
g_vSpotLightInnerOuterConeCosines[ g_nNumLights ] = new Vector4( flThetaDot, flPhiDot, 1.0f / Mathf.Max( 0.01f, flThetaDot - flPhiDot ) ); |
|||
|
|||
} |
|||
|
|||
if ( hasShadows ) |
|||
{ |
|||
// Enable shadows
|
|||
g_vLightShadowIndex_vLightParams[ g_nNumLights ].x = 1; |
|||
for(int s=0; s < shadow.GetShadowSliceCountLightIndex (nLight); ++s) |
|||
{ |
|||
int shadowSliceIndex = shadow.GetShadowSliceIndex (nLight, s); |
|||
g_matWorldToShadow [g_nNumLights * MAX_SHADOWMAP_PER_LIGHTS + s] = shadow.shadowSlices[shadowSliceIndex].shadowTransform.transpose; |
|||
} |
|||
} |
|||
|
|||
g_nNumLights++; |
|||
} |
|||
|
|||
// Warn if too many lights found
|
|||
if ( nNumLightsIncludingTooMany > MAX_LIGHTS ) |
|||
{ |
|||
if ( nNumLightsIncludingTooMany > m_nWarnedTooManyLights ) |
|||
{ |
|||
Debug.LogError( "ERROR! Found " + nNumLightsIncludingTooMany + " runtime lights! Valve renderer supports up to " + MAX_LIGHTS + |
|||
" active runtime lights at a time!\nDisabling " + ( nNumLightsIncludingTooMany - MAX_LIGHTS ) + " runtime light" + |
|||
( ( nNumLightsIncludingTooMany - MAX_LIGHTS ) > 1 ? "s" : "" ) + "!\n" ); |
|||
} |
|||
m_nWarnedTooManyLights = nNumLightsIncludingTooMany; |
|||
} |
|||
else |
|||
{ |
|||
if ( m_nWarnedTooManyLights > 0 ) |
|||
{ |
|||
m_nWarnedTooManyLights = 0; |
|||
Debug.Log( "SUCCESS! Found " + nNumLightsIncludingTooMany + " runtime lights which is within the supported number of lights, " + MAX_LIGHTS + ".\n\n" ); |
|||
} |
|||
} |
|||
|
|||
// Send constants to shaders
|
|||
Shader.SetGlobalInt( "g_nNumLights", g_nNumLights ); |
|||
|
|||
// New method for Unity 5.4 to set arrays of constants
|
|||
Shader.SetGlobalVectorArray( "g_vLightPosition_flInvRadius", g_vLightPosition_flInvRadius ); |
|||
Shader.SetGlobalVectorArray( "g_vLightColor", g_vLightColor ); |
|||
Shader.SetGlobalVectorArray( "g_vLightDirection", g_vLightDirection ); |
|||
Shader.SetGlobalVectorArray( "g_vLightShadowIndex_vLightParams", g_vLightShadowIndex_vLightParams ); |
|||
Shader.SetGlobalVectorArray( "g_vLightFalloffParams", g_vLightFalloffParams ); |
|||
Shader.SetGlobalVectorArray( "g_vSpotLightInnerOuterConeCosines", g_vSpotLightInnerOuterConeCosines ); |
|||
Shader.SetGlobalMatrixArray( "g_matWorldToShadow", g_matWorldToShadow ); |
|||
Shader.SetGlobalVectorArray( "g_vDirShadowSplitSpheres", g_vDirShadowSplitSpheres ); |
|||
|
|||
// Time
|
|||
#if ( UNITY_EDITOR )
|
|||
{ |
|||
Shader.SetGlobalFloat( "g_flTime", Time.realtimeSinceStartup ); |
|||
//Debug.Log( "Time " + Time.realtimeSinceStartup );
|
|||
} |
|||
#else
|
|||
{ |
|||
Shader.SetGlobalFloat( "g_flTime", Time.timeSinceLevelLoad ); |
|||
//Debug.Log( "Time " + Time.timeSinceLevelLoad );
|
|||
} |
|||
#endif
|
|||
|
|||
// PCF 3x3 Shadows
|
|||
float flTexelEpsilonX = 1.0f / m_ShadowSettings.shadowAtlasWidth; |
|||
float flTexelEpsilonY = 1.0f / m_ShadowSettings.shadowAtlasHeight; |
|||
Vector4 g_vShadow3x3PCFTerms0 = new Vector4( 20.0f / 267.0f, 33.0f / 267.0f, 55.0f / 267.0f, 0.0f ); |
|||
Vector4 g_vShadow3x3PCFTerms1 = new Vector4( flTexelEpsilonX, flTexelEpsilonY, -flTexelEpsilonX, -flTexelEpsilonY ); |
|||
Vector4 g_vShadow3x3PCFTerms2 = new Vector4( flTexelEpsilonX, flTexelEpsilonY, 0.0f, 0.0f ); |
|||
Vector4 g_vShadow3x3PCFTerms3 = new Vector4( -flTexelEpsilonX, -flTexelEpsilonY, 0.0f, 0.0f ); |
|||
|
|||
Shader.SetGlobalVector( "g_vShadow3x3PCFTerms0", g_vShadow3x3PCFTerms0 ); |
|||
Shader.SetGlobalVector( "g_vShadow3x3PCFTerms1", g_vShadow3x3PCFTerms1 ); |
|||
Shader.SetGlobalVector( "g_vShadow3x3PCFTerms2", g_vShadow3x3PCFTerms2 ); |
|||
Shader.SetGlobalVector( "g_vShadow3x3PCFTerms3", g_vShadow3x3PCFTerms3 ); |
|||
*/ |
|||
} |
|||
|
|||
public override void Render(Camera[] cameras, RenderLoop renderLoop) |
|||
{ |
|||
// Set Frame constant buffer
|
|||
|
|||
foreach (var camera in cameras) |
|||
{ |
|||
// Set camera constant buffer
|
|||
|
|||
CullResults cullResults; |
|||
CullingParameters cullingParams; |
|||
if (!CullResults.GetCullingParameters (camera, out cullingParams)) |
|||
continue; |
|||
|
|||
//m_ShadowPass.UpdateCullingParameters (ref cullingParams);
|
|||
|
|||
cullResults = CullResults.Cull (ref cullingParams, renderLoop); |
|||
|
|||
//ShadowOutput shadows;
|
|||
//m_ShadowPass.Render (renderLoop, cullResults, out shadows);
|
|||
|
|||
renderLoop.SetupCameraProperties (camera); |
|||
|
|||
UpdateLightConstants(cullResults.culledLights, ref shadows); |
|||
|
|||
DrawRendererSettings settings = new DrawRendererSettings (cullResults, camera, new ShaderPassName("Forward")); |
|||
settings.rendererConfiguration = RendererConfiguration.ConfigureOneLightProbePerRenderer | RendererConfiguration.ConfigureReflectionProbesProbePerRenderer; |
|||
settings.sorting.sortOptions = SortOptions.SortByMaterialThenMesh; |
|||
|
|||
renderLoop.DrawRenderers (ref settings); |
|||
renderLoop.Submit (); |
|||
} |
|||
|
|||
// Post effects
|
|||
} |
|||
|
|||
#if UNITY_EDITOR
|
|||
public override UnityEditor.SupportedRenderingFeatures GetSupportedRenderingFeatures() |
|||
{ |
|||
var features = new UnityEditor.SupportedRenderingFeatures(); |
|||
|
|||
features.reflectionProbe = UnityEditor.SupportedRenderingFeatures.ReflectionProbe.Rotation; |
|||
|
|||
return features; |
|||
} |
|||
#endif
|
|||
} |
|||
} |
|
|||
fileFormatVersion: 2 |
|||
guid: e5c35d625d1d6324a845b5d88af0ae92 |
|||
timeCreated: 1474299333 |
|||
licenseType: Pro |
|||
MonoImporter: |
|||
serializedVersion: 2 |
|||
defaultReferences: [] |
|||
executionOrder: 0 |
|||
icon: {instanceID: 0} |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: c66c964aecf301a43b3bdfdd3d39069e |
|||
folderAsset: yes |
|||
timeCreated: 1474299385 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!21 &2100000 |
|||
Material: |
|||
serializedVersion: 6 |
|||
m_ObjectHideFlags: 0 |
|||
m_PrefabParentObject: {fileID: 0} |
|||
m_PrefabInternal: {fileID: 0} |
|||
m_Name: test |
|||
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0} |
|||
m_ShaderKeywords: _EMISSION |
|||
m_LightmapFlags: 1 |
|||
m_CustomRenderQueue: -1 |
|||
stringTagMap: {} |
|||
m_SavedProperties: |
|||
serializedVersion: 2 |
|||
m_TexEnvs: |
|||
- first: |
|||
name: _BumpMap |
|||
second: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- first: |
|||
name: _DetailAlbedoMap |
|||
second: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- first: |
|||
name: _DetailMask |
|||
second: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- first: |
|||
name: _DetailNormalMap |
|||
second: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- first: |
|||
name: _EmissionMap |
|||
second: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- first: |
|||
name: _MainTex |
|||
second: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- first: |
|||
name: _MetallicGlossMap |
|||
second: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- first: |
|||
name: _OcclusionMap |
|||
second: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
- first: |
|||
name: _ParallaxMap |
|||
second: |
|||
m_Texture: {fileID: 0} |
|||
m_Scale: {x: 1, y: 1} |
|||
m_Offset: {x: 0, y: 0} |
|||
m_Floats: |
|||
- first: |
|||
name: _BumpScale |
|||
second: 1 |
|||
- first: |
|||
name: _Cutoff |
|||
second: 0.5 |
|||
- first: |
|||
name: _DetailNormalMapScale |
|||
second: 1 |
|||
- first: |
|||
name: _DstBlend |
|||
second: 0 |
|||
- first: |
|||
name: _GlossMapScale |
|||
second: 1 |
|||
- first: |
|||
name: _Glossiness |
|||
second: 0.5 |
|||
- first: |
|||
name: _GlossyReflections |
|||
second: 1 |
|||
- first: |
|||
name: _Metallic |
|||
second: 0 |
|||
- first: |
|||
name: _Mode |
|||
second: 0 |
|||
- first: |
|||
name: _OcclusionStrength |
|||
second: 1 |
|||
- first: |
|||
name: _Parallax |
|||
second: 0.02 |
|||
- first: |
|||
name: _SmoothnessTextureChannel |
|||
second: 0 |
|||
- first: |
|||
name: _SpecularHighlights |
|||
second: 1 |
|||
- first: |
|||
name: _SrcBlend |
|||
second: 1 |
|||
- first: |
|||
name: _UVSec |
|||
second: 0 |
|||
- first: |
|||
name: _ZWrite |
|||
second: 1 |
|||
m_Colors: |
|||
- first: |
|||
name: _Color |
|||
second: {r: 1, g: 1, b: 1, a: 1} |
|||
- first: |
|||
name: _EmissionColor |
|||
second: {r: 0, g: 0, b: 0, a: 1} |
|
|||
fileFormatVersion: 2 |
|||
guid: 87c86082ee14fbd4b8426a8794f2060d |
|||
timeCreated: 1474299392 |
|||
licenseType: Pro |
|||
NativeFormatImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: b7031a2dbb001ad429fda765366875e3 |
|||
folderAsset: yes |
|||
timeCreated: 1472140530 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: 7c29049a5f4f04a4cbce45f056b27640 |
|||
folderAsset: yes |
|||
timeCreated: 1472140530 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: f3f46477a8abfdd4095f74e7f5e052d9 |
|||
folderAsset: yes |
|||
timeCreated: 1472205826 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
fileFormatVersion: 2 |
|||
guid: e7f1798d6eb03b34d85b33709157ad8e |
|||
folderAsset: yes |
|||
timeCreated: 1471266423 |
|||
licenseType: Pro |
|||
DefaultImporter: |
|||
userData: |
|||
assetBundleName: |
|||
assetBundleVariant: |
|
|||
%YAML 1.1 |
|||
%TAG !u! tag:unity3d.com,2011: |
|||
--- !u!292 &1 |
|||
UnityAdsSettings: |
|||
m_ObjectHideFlags: 0 |
|||
m_Enabled: 0 |
|||
m_InitializeOnStartup: 1 |
|||
m_TestMode: 0 |
|||
m_EnabledPlatforms: 4294967295 |
|||
m_IosGameId: |
|||
m_AndroidGameId: |
撰写
预览
正在加载...
取消
保存
Reference in new issue