-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
sub-package.* |
Large diffs are not rendered by default.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,11 @@ | ||
namespace UnityEditor.Experimental.Rendering.Universal | ||
{ | ||
[CustomEditor(typeof(UnityEngine.Experimental.Rendering.Universal.CinemachineUniversalPixelPerfect)), CanEditMultipleObjects] | ||
internal class CinemachineUniversalPixelPerfectEditor : Editor | ||
{ | ||
public override void OnInspectorGUI() | ||
{ | ||
EditorGUILayout.HelpBox("This Cinemachine extension is now deprecated and doesn't function properly. Instead, use the one from Cinemachine v2.4.0 or newer.", MessageType.Error); | ||
} | ||
} | ||
} | ||
namespace UnityEditor.Rendering.Universal | ||
{ | ||
[CustomEditor(typeof(UnityEngine.Rendering.Universal.CinemachineUniversalPixelPerfect)), CanEditMultipleObjects] | ||
internal class CinemachineUniversalPixelPerfectEditor : Editor | ||
{ | ||
public override void OnInspectorGUI() | ||
{ | ||
EditorGUILayout.HelpBox("This Cinemachine extension is now deprecated and doesn't function properly. Instead, use the one from Cinemachine v2.4.0 or newer.", MessageType.Error); | ||
} | ||
} | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,17 +1,13 @@ | ||
using System.Collections; | ||
using System.Collections.Generic; | ||
using UnityEngine; | ||
using UnityEngine.Experimental.Rendering.Universal; | ||
|
||
|
||
namespace UnityEditor.Experimental.Rendering.Universal | ||
{ | ||
|
||
[CustomEditor(typeof(CompositeShadowCaster2D))] | ||
internal class CompositeShadowCaster2DEditor : Editor | ||
{ | ||
public override void OnInspectorGUI() | ||
{ | ||
} | ||
} | ||
} | ||
using UnityEngine.Rendering.Universal; | ||
|
||
|
||
namespace UnityEditor.Rendering.Universal | ||
{ | ||
[CustomEditor(typeof(CompositeShadowCaster2D))] | ||
internal class CompositeShadowCaster2DEditor : Editor | ||
{ | ||
public override void OnInspectorGUI() | ||
{ | ||
} | ||
} | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
namespace UnityEditor.Rendering.Universal.Converters | ||
{ | ||
internal sealed class BuiltInToURP2DConverterContainer : RenderPipelineConverterContainer | ||
{ | ||
public override string name => "Convert Built-in to 2D (URP)"; | ||
public override string info => "Converter performs the following tasks:\n* Converts project elements from the Built-in Render Pipeline to 2D URP."; | ||
} | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,136 @@ | ||
using System; | ||
using System.IO; | ||
using System.Collections.Generic; | ||
using UnityEditor.Rendering.Universal.Converters; | ||
using UnityEngine; | ||
using UnityEngine.Rendering.Universal; | ||
|
||
|
||
namespace UnityEditor.Rendering.Universal | ||
{ | ||
internal sealed class BuiltInToURP2DMaterialUpgrader : RenderPipelineConverter | ||
{ | ||
public override string name => "Material and Material Reference Upgrade"; | ||
public override string info => "This will upgrade all materials and material references."; | ||
public override int priority => -1000; | ||
public override Type container => typeof(BuiltInToURP2DConverterContainer); | ||
|
||
List<string> m_AssetsToConvert = new List<string>(); | ||
|
||
Material m_SpriteLitDefaultMat; | ||
Material m_SpritesDefaultMat; | ||
Material m_SpritesMaskMat; | ||
Material m_SpriteMaskDefaultMat; | ||
Shader m_SpriteLitDefaultShader; | ||
Shader m_SpritesDefaultShader; | ||
|
||
string m_SpritesDefaultShaderId; | ||
string m_SpritesDefaultMatId; | ||
string m_SpritesMaskMatId; | ||
|
||
void UpgradeGameObject(GameObject go) | ||
{ | ||
Renderer[] renderers = go.GetComponentsInChildren<Renderer>(); | ||
foreach (Renderer renderer in renderers) | ||
{ | ||
if (!PrefabUtility.IsPartOfPrefabInstance(renderer)) | ||
{ | ||
int materialCount = renderer.sharedMaterials.Length; | ||
Material[] newMaterials = new Material[materialCount]; | ||
bool updateMaterials = false; | ||
|
||
for (int matIndex = 0; matIndex < materialCount; matIndex++) | ||
{ | ||
if (renderer.sharedMaterials[matIndex] == m_SpritesDefaultMat) | ||
{ | ||
newMaterials[matIndex] = m_SpriteLitDefaultMat; | ||
updateMaterials = true; | ||
} | ||
else if (renderer.sharedMaterials[matIndex] == m_SpritesMaskMat) | ||
{ | ||
newMaterials[matIndex] = m_SpriteMaskDefaultMat; | ||
updateMaterials = true; | ||
} | ||
else | ||
newMaterials[matIndex] = renderer.sharedMaterials[matIndex]; | ||
} | ||
|
||
if (updateMaterials) | ||
renderer.sharedMaterials = newMaterials; | ||
} | ||
} | ||
} | ||
|
||
public override void OnInitialize(InitializeConverterContext context, Action callback) | ||
{ | ||
Renderer2DData data = Light2DEditorUtility.GetRenderer2DData(); | ||
if (data != null) | ||
m_SpriteLitDefaultMat = data.GetDefaultMaterial(DefaultMaterialType.Sprite); | ||
else | ||
m_SpriteLitDefaultMat = AssetDatabase.LoadAssetAtPath<Material>("Packages/com.unity.render-pipelines.universal/Runtime/Materials/Sprite-Lit-Default.mat"); | ||
|
||
m_SpritesDefaultMat = AssetDatabase.GetBuiltinExtraResource<Material>("Sprites-Default.mat"); | ||
m_SpriteMaskDefaultMat = AssetDatabase.LoadAssetAtPath<Material>("Packages/com.unity.render-pipelines.universal/Runtime/Materials/SpriteMask-Default.mat"); | ||
m_SpritesMaskMat = AssetDatabase.GetBuiltinExtraResource<Material>("Sprites-Mask.mat"); | ||
m_SpriteLitDefaultShader = m_SpriteLitDefaultMat.shader; | ||
m_SpritesDefaultShader = m_SpritesDefaultMat.shader; | ||
m_SpritesDefaultShaderId = URP2DConverterUtility.GetObjectIDString(m_SpritesDefaultShader); | ||
m_SpritesDefaultMatId = URP2DConverterUtility.GetObjectIDString(m_SpritesDefaultMat); | ||
m_SpritesMaskMatId = URP2DConverterUtility.GetObjectIDString(m_SpritesMaskMat); | ||
|
||
string[] allAssetPaths = AssetDatabase.GetAllAssetPaths(); | ||
|
||
foreach (string path in allAssetPaths) | ||
{ | ||
if (URP2DConverterUtility.IsMaterialPath(path, m_SpritesDefaultShaderId) || URP2DConverterUtility.IsPrefabOrScenePath(path, new string[] { m_SpritesDefaultMatId, m_SpritesMaskMatId })) | ||
{ | ||
ConverterItemDescriptor desc = new ConverterItemDescriptor() | ||
{ | ||
name = Path.GetFileNameWithoutExtension(path), | ||
info = path, | ||
warningMessage = String.Empty, | ||
helpLink = String.Empty | ||
}; | ||
|
||
// Each converter needs to add this info using this API. | ||
m_AssetsToConvert.Add(path); | ||
context.AddAssetToConvert(desc); | ||
} | ||
} | ||
|
||
callback.Invoke(); | ||
} | ||
|
||
public override void OnRun(ref RunItemContext context) | ||
{ | ||
string result = string.Empty; | ||
string ext = Path.GetExtension(context.item.descriptor.info); | ||
if (ext == ".prefab") | ||
result = URP2DConverterUtility.UpgradePrefab(context.item.descriptor.info, UpgradeGameObject); | ||
else if (ext == ".unity") | ||
URP2DConverterUtility.UpgradeScene(context.item.descriptor.info, UpgradeGameObject); | ||
else if (ext == ".mat") | ||
URP2DConverterUtility.UpgradeMaterial(context.item.descriptor.info, m_SpritesDefaultShader, m_SpriteLitDefaultShader); | ||
|
||
if (result != string.Empty) | ||
{ | ||
context.didFail = true; | ||
context.info = result; | ||
} | ||
else | ||
{ | ||
context.hasConverted = true; | ||
} | ||
} | ||
|
||
public override void OnClicked(int index) | ||
{ | ||
EditorGUIUtility.PingObject(AssetDatabase.LoadAssetAtPath<UnityEngine.Object>(m_AssetsToConvert[index])); | ||
} | ||
|
||
public override void OnPostRun() | ||
{ | ||
Resources.UnloadUnusedAssets(); | ||
} | ||
} | ||
} |
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.