比较提交

...
此合并请求有变更与目标分支冲突。
/com.unity.perception/CHANGELOG.md

19 次代码提交

作者 SHA1 备注 提交日期
Wesley Mareovich Smith b9aacb6b few UI fixes 4 年前
Wesley Mareovich Smith cd067c21 fixing the bone validation 4 年前
Wesley Mareovich Smith 7ebaf716 changes to ui 4 年前
Wesley Mareovich Smith cfbc8ebd adding feedback fixes 4 年前
Wesley Mareovich Smith 2f74d249 UI changes 4 年前
Wesley Mareovich Smith fad7f529 bug fix 4 年前
Wesley Mareovich Smith b8e58b57 fix broken test 4 年前
Wesley Mareovich Smith 8379f309 removed private 4 年前
Wesley Mareovich Smith ba3e8eff template change and feedback fixes 4 年前
Wesley Mareovich Smith 8ffdb3e3 changes from feedback 4 年前
Wesley Mareovich Smith 06b938d1 adding fixes and changes to the UI 4 年前
Wesley Mareovich Smith 7bd43093 last changes for feedback 4 年前
Wesley Mareovich Smith e414262f fixing null ref 4 年前
Wesley Mareovich Smith c47184bf fixing missing ref 4 年前
Wesley Mareovich Smith b5fd82ad adding a test and test chracter 4 年前
Wesley Mareovich Smith eeb222df fixing the build test fails 4 年前
Wesley Mareovich Smith 0c1c0ef5 updating the changelog 4 年前
Wesley Mareovich Smith aa96fb53 commit 4 年前
Wesley Mareovich Smith 73787b26 adding changes 4 年前
共有 40 个文件被更改,包括 6564 次插入5 次删除
  1. 4
      .github/pull_request_template.md
  2. 1
      com.unity.perception/CHANGELOG.md
  3. 3
      com.unity.perception/Tests/Runtime/Unity.Perception.Runtime.Tests.asmdef
  4. 3
      com.unity.perception/Tests/Editor/Unity.Perception.Editor.Tests.asmdef
  5. 8
      com.unity.perception/Tests/Runtime/TestAssets/Characters.meta
  6. 11
      com.unity.perception/Tests/Editor/CharacterToolingTests.cs.meta
  7. 104
      com.unity.perception/Tests/Editor/CharacterToolingTests.cs
  8. 8
      com.unity.perception/Editor/Character.meta
  9. 8
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian.meta
  10. 1001
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01.fbx
  11. 1001
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01.fbx.meta
  12. 144
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_base.jpg.meta
  13. 662
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_clothes.mat
  14. 8
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_clothes.mat.meta
  15. 327
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_eyes.mat
  16. 8
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_eyes.mat.meta
  17. 297
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_hair.mat
  18. 8
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_hair.mat.meta
  19. 144
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_mask.tga.meta
  20. 280
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_mouth.mat
  21. 8
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_mouth.mat.meta
  22. 144
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_normal.jpg.meta
  23. 1001
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_prefab.prefab
  24. 7
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_prefab.prefab.meta
  25. 304
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_shoes.mat
  26. 8
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_shoes.mat.meta
  27. 297
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_skin.mat
  28. 8
      com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_skin.mat.meta
  29. 115
      com.unity.perception/Editor/Character/CharacterTooling.cs
  30. 11
      com.unity.perception/Editor/Character/CharacterTooling.cs.meta
  31. 11
      com.unity.perception/Editor/Character/CharacterToolingLibrary.cs.meta
  32. 11
      com.unity.perception/Editor/Character/CharacterToolingUI.cs.meta
  33. 445
      com.unity.perception/Editor/Character/CharacterToolingLibrary.cs
  34. 169
      com.unity.perception/Editor/Character/CharacterToolingUI.cs

4
.github/pull_request_template.md


**Core Scenario Tested**:
**Test Rail Cases Added/Updated**:
- [ ] - Updated test rail
- [ ] - Updated test rail

1
com.unity.perception/CHANGELOG.md


### Added
Added support for 'step' button in editor.
Added the character joint generation tool.
### Changed
Increased color variety in instance segmentation images

3
com.unity.perception/Tests/Runtime/Unity.Perception.Runtime.Tests.asmdef


"Unity.Mathematics",
"Unity.Collections",
"Unity.Burst",
"Unity.Entities",
"Unity.Perception.Runtime",
"Unity.Perception.Editor",
"Unity.Simulation.Core",

}
],
"noEngineReferences": false
}
}

3
com.unity.perception/Tests/Editor/Unity.Perception.Editor.Tests.asmdef


"Unity.Mathematics",
"Unity.Perception.Editor",
"Unity.Collections",
"Unity.Entities",
"Unity.RenderPipelines.Universal.Runtime"
"Unity.Perception.Runtime.Tests"
],
"includePlatforms": [
"Editor"

8
com.unity.perception/Tests/Runtime/TestAssets/Characters.meta


fileFormatVersion: 2
guid: 87cb21b17fbeb4540ab276ba4ded11a4
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

11
com.unity.perception/Tests/Editor/CharacterToolingTests.cs.meta


fileFormatVersion: 2
guid: 862747af60834f14fa2d28b307a79760
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

104
com.unity.perception/Tests/Editor/CharacterToolingTests.cs


using System;
using System.Collections.Generic;
using System.Linq;
using NUnit.Framework;
using UnityEditor;
using UnityEngine;
using UnityEngine.Perception.Content;
namespace CharacterToolingTests
{
public class CharacterToolingTests
{
public List<GameObject> selectionLists = new List<GameObject>();
public List<string> assets = new List<string>();
CharacterTooling contentTests = new CharacterTooling();
[SetUp]
public void Setup()
{
selectionLists = new List<GameObject>();
AssetListCreation();
}
[TearDown]
public void TearDown()
{
selectionLists.Clear();
}
[Test, TestCaseSource(typeof(AssetCollection), "GameObject")]
public void CreateEarsNoseJoints(GameObject gameObject)
{
var exampleTemplate = AssetDatabase.GetAllAssetPaths().Where(o => o.EndsWith("CocoKeypointTemplate.asset", StringComparison.OrdinalIgnoreCase)).ToList();
var template = new UnityEngine.Object();
foreach (string o in exampleTemplate)
{
if (o.Contains("com.unity.perception"))
{
template = AssetDatabase.LoadAssetAtPath<UnityEngine.Object>(o);
}
}
var newModel = new GameObject();
var model = contentTests.CharacterCreateNose(gameObject, out newModel, template, true);
var validate = false;
if (model)
validate = contentTests.ValidateNoseAndEars(newModel);
else if (!model)
Assert.Fail("Failed to create the Ear and Nose Joints");
Assert.True(validate, "Failed to create ear and nose joints");
}
[Test, TestCaseSource(typeof(AssetCollection), "GameObject")]
public void CharacterBones(GameObject gameObject)
{
var failedBones = new Dictionary<HumanBone, bool>();
var test = contentTests.CharacterRequiredBones(gameObject, out failedBones);
Assert.True(test, "Character is missing required bones");
}
[Test, TestCaseSource(typeof(AssetCollection), "GameObject")]
public void CharacterPoseData(GameObject gameObject)
{
var failedPose = new List<GameObject>();
var test = contentTests.CharacterPoseData(gameObject, out failedPose);
Assert.True(test, "Character is missing Pose Data");
}
public void AssetListCreation()
{
assets = AssetDatabase.GetAllAssetPaths().Where(o => o.EndsWith(".fbx", StringComparison.OrdinalIgnoreCase)).ToList();
foreach (string o in assets)
{
if (o.Contains("TestAssets/Characters"))
{
var asset = AssetDatabase.LoadAssetAtPath<GameObject>(o);
if (asset != null && !selectionLists.Contains(asset))
selectionLists.Add(asset);
}
}
}
}
public class AssetCollection
{
public static IEnumerable<TestCaseData> GameObject
{
get
{
CharacterToolingTests tool = new CharacterToolingTests();
tool.AssetListCreation();
foreach (var asset in tool.selectionLists)
{
yield return new TestCaseData(asset);
}
}
}
}
}

8
com.unity.perception/Editor/Character.meta


fileFormatVersion: 2
guid: 3ba213bea2d90794694cd2f5a6adce6a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

8
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian.meta


fileFormatVersion: 2
guid: 171d5101d9375b04c8154917d7db5df7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

1001
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01.fbx
文件差异内容过多而无法显示
查看文件

1001
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01.fbx.meta
文件差异内容过多而无法显示
查看文件

144
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_base.jpg.meta


fileFormatVersion: 2
guid: 65e3c35bf5cea0a449574a90fb28135b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: 2
mipBias: -100
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

662
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_clothes.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: sebastian_athletic_01_clothes
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE _NORMALMAP_TANGENT_SPACE0
_NORMALMAP_TANGENT_SPACE1 _NORMALMAP_TANGENT_SPACE2 _NORMALMAP_TANGENT_SPACE3
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2000
stringTagMap:
MotionVector: User
disabledShaderPasses:
- DistortionVectors
- MOTIONVECTORS
- RayTracingPrepass
- TransparentDepthPrepass
- TransparentDepthPostpass
- TransparentBackface
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_3a45c7e0c1f047e18ae111fb4e31bbfe:
m_Texture: {fileID: 2800000, guid: 50fa6cae29d420b4bae25f8a2f0bc67d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_4acc8d741a8941798e23a390964d5d8a:
m_Texture: {fileID: 2800000, guid: 65e3c35bf5cea0a449574a90fb28135b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_50a4e964bc8b46be8f5cfc824fa7ab9e:
m_Texture: {fileID: 2800000, guid: cf21c5bcce83d61428c6ff629383a997, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _AnisotropyMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseColorMap0:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseColorMap1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseColorMap2:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseColorMap3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMap0:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMap1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMap2:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMap3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMapOS0:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMapOS1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMapOS2:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMapOS3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CoatMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap0:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap2:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DistortionVectorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissiveColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HeightMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HeightMap0:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HeightMap1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HeightMap2:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HeightMap3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _IridescenceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _IridescenceThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _LayerInfluenceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _LayerMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap0:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap2:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MetallicGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap0:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap2:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMapOS0:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMapOS1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMapOS2:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMapOS3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecGlossMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecularColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceMaskMap0:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceMaskMap1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceMaskMap2:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceMaskMap3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThicknessMap0:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThicknessMap1:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThicknessMap2:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThicknessMap3:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _UnlitColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- Vector1_1: 0
- Vector1_48e6cc5581484b58b77a113eed56c354: 0
- _AORemapMax: 1
- _AORemapMax0: 1
- _AORemapMax1: 1
- _AORemapMax2: 1
- _AORemapMax3: 1
- _AORemapMin: 0
- _AORemapMin0: 0
- _AORemapMin1: 0
- _AORemapMin2: 0
- _AORemapMin3: 0
- _ATDistance: 1
- _AddPrecomputedVelocity: 0
- _AlbedoAffectEmissive: 0
- _AlphaCutoff: 0.5
- _AlphaCutoffEnable: 0
- _AlphaCutoffPostpass: 0.5
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
- _Anisotropy: 0
- _BlendMode: 0
- _CoatMask: 0
- _CullMode: 2
- _CullModeForward: 2
- _Cutoff: 0.5
- _DepthOffsetEnable: 0
- _DetailAlbedoScale: 1
- _DetailAlbedoScale0: 1
- _DetailAlbedoScale1: 1
- _DetailAlbedoScale2: 1
- _DetailAlbedoScale3: 1
- _DetailNormalScale: 1
- _DetailNormalScale0: 1
- _DetailNormalScale1: 1
- _DetailNormalScale2: 1
- _DetailNormalScale3: 1
- _DetailSmoothnessScale: 1
- _DetailSmoothnessScale0: 1
- _DetailSmoothnessScale1: 1
- _DetailSmoothnessScale2: 1
- _DetailSmoothnessScale3: 1
- _DiffusionProfile: 0
- _DiffusionProfile0: 0
- _DiffusionProfile1: 0
- _DiffusionProfile2: 0
- _DiffusionProfile3: 0
- _DiffusionProfileHash: 0
- _DiffusionProfileHash0: 0
- _DiffusionProfileHash1: 0
- _DiffusionProfileHash2: 0
- _DiffusionProfileHash3: 0
- _DisplacementLockObjectScale: 1
- _DisplacementLockTilingScale: 1
- _DisplacementMode: 0
- _DistortionBlendMode: 0
- _DistortionBlurBlendMode: 0
- _DistortionBlurDstBlend: 1
- _DistortionBlurRemapMax: 1
- _DistortionBlurRemapMin: 0
- _DistortionBlurScale: 1
- _DistortionBlurSrcBlend: 1
- _DistortionDepthTest: 1
- _DistortionDstBlend: 1
- _DistortionEnable: 0
- _DistortionOnly: 0
- _DistortionScale: 1
- _DistortionSrcBlend: 1
- _DistortionVectorBias: -1
- _DistortionVectorScale: 2
- _DoubleSidedEnable: 0
- _DoubleSidedNormalMode: 1
- _DstBlend: 0
- _EmissiveColorMode: 1
- _EmissiveExposureWeight: 1
- _EmissiveIntensity: 1
- _EmissiveIntensityUnit: 0
- _EnableBlendModePreserveSpecularLighting: 1
- _EnableFogOnTransparent: 1
- _EnableGeometricSpecularAA: 0
- _EnergyConservingSpecularColor: 1
- _Glossiness: 0
- _HeightAmplitude: 0.02
- _HeightAmplitude0: 0.02
- _HeightAmplitude1: 0.02
- _HeightAmplitude2: 0.02
- _HeightAmplitude3: 0.02
- _HeightCenter: 0.5
- _HeightCenter0: 0.5
- _HeightCenter1: 0.5
- _HeightCenter2: 0.5
- _HeightCenter3: 0.5
- _HeightMapParametrization: 0
- _HeightMapParametrization0: 0
- _HeightMapParametrization1: 0
- _HeightMapParametrization2: 0
- _HeightMapParametrization3: 0
- _HeightMax: 1
- _HeightMax0: 1
- _HeightMax1: 1
- _HeightMax2: 1
- _HeightMax3: 1
- _HeightMin: -1
- _HeightMin0: -1
- _HeightMin1: -1
- _HeightMin2: -1
- _HeightMin3: -1
- _HeightOffset: 0
- _HeightOffset0: 0
- _HeightOffset1: 0
- _HeightOffset2: 0
- _HeightOffset3: 0
- _HeightPoMAmplitude: 2
- _HeightPoMAmplitude0: 2
- _HeightPoMAmplitude1: 2
- _HeightPoMAmplitude2: 2
- _HeightPoMAmplitude3: 2
- _HeightTessAmplitude: 2
- _HeightTessAmplitude0: 2
- _HeightTessAmplitude1: 2
- _HeightTessAmplitude2: 2
- _HeightTessAmplitude3: 2
- _HeightTessCenter: 0.5
- _HeightTessCenter0: 0.5
- _HeightTessCenter1: 0.5
- _HeightTessCenter2: 0.5
- _HeightTessCenter3: 0.5
- _HeightTransition: 0
- _IncludeIndirectLighting: 1
- _InheritBaseColor1: 0
- _InheritBaseColor2: 0
- _InheritBaseColor3: 0
- _InheritBaseHeight1: 0
- _InheritBaseHeight2: 0
- _InheritBaseHeight3: 0
- _InheritBaseNormal1: 0
- _InheritBaseNormal2: 0
- _InheritBaseNormal3: 0
- _InvTilingScale: 1
- _InvTilingScale0: 1
- _InvTilingScale1: 1
- _InvTilingScale2: 1
- _InvTilingScale3: 1
- _Ior: 1.5
- _IridescenceMask: 1
- _IridescenceThickness: 1
- _LayerCount: 2
- _LinkDetailsWithBase: 1
- _LinkDetailsWithBase0: 1
- _LinkDetailsWithBase1: 1
- _LinkDetailsWithBase2: 1
- _LinkDetailsWithBase3: 1
- _MaterialID: 1
- _Metallic: 0
- _Metallic0: 0
- _Metallic1: 0
- _Metallic2: 0
- _Metallic3: 0
- _MetallicRemapMax: 1
- _MetallicRemapMin: 0
- _NormalMapSpace: 0
- _NormalMapSpace0: 0
- _NormalMapSpace1: 0
- _NormalMapSpace2: 0
- _NormalMapSpace3: 0
- _NormalScale: 1
- _NormalScale0: 1
- _NormalScale1: 1
- _NormalScale2: 1
- _NormalScale3: 1
- _ObjectScaleAffectTile: 0
- _OpacityAsDensity0: 0
- _OpacityAsDensity1: 0
- _OpacityAsDensity2: 0
- _OpacityAsDensity3: 0
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
- _PPDMinSamples: 5
- _PPDPrimitiveLength: 1
- _PPDPrimitiveWidth: 1
- _RayTracing: 0
- _ReceivesSSR: 1
- _ReceivesSSRTransparent: 0
- _RefractionModel: 0
- _RenderQueueType: 1
- _RequireSplitLighting: 0
- _SSRefractionProjectionModel: 0
- _Smoothness: 0.5
- _Smoothness0: 0.5
- _Smoothness1: 0.5
- _Smoothness2: 0.5
- _Smoothness3: 0.5
- _SmoothnessRemapMax: 1
- _SmoothnessRemapMax0: 1
- _SmoothnessRemapMax1: 1
- _SmoothnessRemapMax2: 1
- _SmoothnessRemapMax3: 1
- _SmoothnessRemapMin: 0
- _SmoothnessRemapMin0: 0
- _SmoothnessRemapMin1: 0
- _SmoothnessRemapMin2: 0
- _SmoothnessRemapMin3: 0
- _SpecularAAScreenSpaceVariance: 0.1
- _SpecularAAThreshold: 0.2
- _SpecularOcclusionMode: 1
- _SrcBlend: 1
- _StencilRef: 0
- _StencilRefDepth: 8
- _StencilRefDistortionVec: 4
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- _StencilWriteMaskDepth: 8
- _StencilWriteMaskDistortionVec: 4
- _StencilWriteMaskGBuffer: 14
- _StencilWriteMaskMV: 40
- _SubsurfaceMask: 1
- _SubsurfaceMask0: 1
- _SubsurfaceMask1: 1
- _SubsurfaceMask2: 1
- _SubsurfaceMask3: 1
- _SupportDecals: 1
- _SurfaceType: 0
- _TexWorldScale: 1
- _TexWorldScale0: 1
- _TexWorldScale1: 1
- _TexWorldScale2: 1
- _TexWorldScale3: 1
- _TexWorldScaleBlendMask: 1
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _Thickness0: 1
- _Thickness1: 1
- _Thickness2: 1
- _Thickness3: 1
- _TransmissionEnable: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
- _TransparentDepthPrepassEnable: 0
- _TransparentSortPriority: 0
- _TransparentWritingMotionVec: 0
- _TransparentZWrite: 0
- _UVBase: 0
- _UVBase0: 0
- _UVBase1: 0
- _UVBase2: 0
- _UVBase3: 0
- _UVBlendMask: 0
- _UVDetail: 0
- _UVDetail0: 0
- _UVDetail1: 0
- _UVDetail2: 0
- _UVDetail3: 0
- _UVEmissive: 0
- _UseAoMap: 0
- _UseColorMap: 0
- _UseDensityMode: 0
- _UseEmissiveIntensity: 0
- _UseEmissiveMap: 0
- _UseHeightBasedBlend: 0
- _UseMainLayerInfluence: 0
- _UseMetallicMap: 0
- _UseNormalMap: 0
- _UseRoughnessMap: 0
- _UseShadowThreshold: 0
- _VertexColorMode: 0
- _ZTestDepthEqualForOpaque: 3
- _ZTestGBuffer: 4
- _ZTestModeDistortion: 4
- _ZTestTransparent: 4
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _BaseColor0: {r: 1, g: 1, b: 1, a: 1}
- _BaseColor1: {r: 1, g: 1, b: 1, a: 1}
- _BaseColor2: {r: 1, g: 1, b: 1, a: 1}
- _BaseColor3: {r: 1, g: 1, b: 1, a: 1}
- _BaseColorMap0_MipInfo: {r: 0, g: 0, b: 0, a: 0}
- _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0}
- _DiffusionProfileAsset0: {r: 0, g: 0, b: 0, a: 0}
- _DiffusionProfileAsset1: {r: 0, g: 0, b: 0, a: 0}
- _DiffusionProfileAsset2: {r: 0, g: 0, b: 0, a: 0}
- _DiffusionProfileAsset3: {r: 0, g: 0, b: 0, a: 0}
- _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissiveColor: {r: 0, g: 0, b: 0, a: 1}
- _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1}
- _InvPrimScale: {r: 1, g: 1, b: 0, a: 0}
- _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _ThicknessRemap0: {r: 0, g: 1, b: 0, a: 0}
- _ThicknessRemap1: {r: 0, g: 1, b: 0, a: 0}
- _ThicknessRemap2: {r: 0, g: 1, b: 0, a: 0}
- _ThicknessRemap3: {r: 0, g: 1, b: 0, a: 0}
- _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1}
- _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVDetailsMappingMask0: {r: 1, g: 0, b: 0, a: 0}
- _UVDetailsMappingMask1: {r: 1, g: 0, b: 0, a: 0}
- _UVDetailsMappingMask2: {r: 1, g: 0, b: 0, a: 0}
- _UVDetailsMappingMask3: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask0: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask1: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask2: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask3: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMaskBlendMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0}
- _UnlitColor: {r: 1, g: 1, b: 1, a: 1}
- _UvOffset: {r: 0, g: 0, b: 0, a: 0}
- _UvTiling: {r: 1, g: 1, b: 0, a: 0}
--- !u!114 &584207609859994528
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 11

8
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_clothes.mat.meta


fileFormatVersion: 2
guid: 2fa8127098d93e44980bfd5270f17eae
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

327
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_eyes.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: sebastian_athletic_01_eyes
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP _NORMALMAP_TANGENT_SPACE
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2000
stringTagMap:
MotionVector: User
disabledShaderPasses:
- DistortionVectors
- MOTIONVECTORS
- RayTracingPrepass
- TransparentDepthPrepass
- TransparentDepthPostpass
- TransparentBackface
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- Texture2D_4DB28C10:
m_Texture: {fileID: 2800000, guid: 22f1959f26317468ab63bd48a2a4fd6e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_5F873FC1:
m_Texture: {fileID: 2800000, guid: e63e52a44f5a64d049ac7d09dbac2ac8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_B9F5688C:
m_Texture: {fileID: 2800000, guid: 22f1959f26317468ab63bd48a2a4fd6e, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- Texture2D_D8BF6575:
m_Texture: {fileID: 2800000, guid: e63e52a44f5a64d049ac7d09dbac2ac8, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _AnisotropyMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseColorMap:
m_Texture: {fileID: 2800000, guid: 65e3c35bf5cea0a449574a90fb28135b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CoatMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DistortionVectorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissiveColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HeightMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _IridescenceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _IridescenceThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 65e3c35bf5cea0a449574a90fb28135b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap:
m_Texture: {fileID: 2800000, guid: 50fa6cae29d420b4bae25f8a2f0bc67d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecularColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _UnlitColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- Boolean_8D34052F: 0
- DiffusionProfile_261f48f1fbc94ccbafc421414859c159: 0
- DiffusionProfile_bfbe0deb8ec4428a9cfcdb968651903c: 0
- Vector1_2D21A623: 0.05
- Vector1_49C490F5: 0.8
- Vector1_6C2C412D: 0
- Vector1_70564D59: 8
- Vector1_76BF2124: 0
- Vector1_8F0D1174: 0
- Vector1_94E1614A: 0.01
- Vector1_A6DA845F: 0
- Vector1_C4ED1456: 0.01
- Vector1_DFF948F3: 0
- Vector1_F084AE9E: 0
- Vector1_FC0895C8: 8
- Vector1_FEA38ABB: 0.5
- _AORemapMax: 1
- _AORemapMin: 0
- _ATDistance: 1
- _AddPrecomputedVelocity: 0
- _AlbedoAffectEmissive: 0
- _AlphaCutoff: 0.5
- _AlphaCutoffEnable: 0
- _AlphaCutoffPostpass: 0.5
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
- _Anisotropy: 0
- _BlendMode: 0
- _CoatMask: 0
- _CullMode: 2
- _CullModeForward: 2
- _Cutoff: 0.5
- _DepthOffsetEnable: 0
- _DetailAlbedoScale: 1
- _DetailNormalScale: 1
- _DetailSmoothnessScale: 1
- _DiffusionProfile: 0
- _DiffusionProfileHash: 0
- _DisplacementLockObjectScale: 1
- _DisplacementLockTilingScale: 1
- _DisplacementMode: 0
- _DistortionBlendMode: 0
- _DistortionBlurBlendMode: 0
- _DistortionBlurDstBlend: 1
- _DistortionBlurRemapMax: 1
- _DistortionBlurRemapMin: 0
- _DistortionBlurScale: 1
- _DistortionBlurSrcBlend: 1
- _DistortionDepthTest: 1
- _DistortionDstBlend: 1
- _DistortionEnable: 0
- _DistortionOnly: 0
- _DistortionScale: 1
- _DistortionSrcBlend: 1
- _DistortionVectorBias: -1
- _DistortionVectorScale: 2
- _DoubleSidedEnable: 0
- _DoubleSidedNormalMode: 1
- _DstBlend: 0
- _EmissiveColorMode: 1
- _EmissiveExposureWeight: 1
- _EmissiveIntensity: 1
- _EmissiveIntensityUnit: 0
- _EnableBlendModePreserveSpecularLighting: 1
- _EnableFogOnTransparent: 1
- _EnableGeometricSpecularAA: 0
- _EnergyConservingSpecularColor: 1
- _HeightAmplitude: 0.02
- _HeightCenter: 0.5
- _HeightMapParametrization: 0
- _HeightMax: 1
- _HeightMin: -1
- _HeightOffset: 0
- _HeightPoMAmplitude: 2
- _HeightTessAmplitude: 2
- _HeightTessCenter: 0.5
- _IncludeIndirectLighting: 1
- _InvTilingScale: 1
- _Ior: 1.5
- _IridescenceMask: 1
- _IridescenceThickness: 1
- _LinkDetailsWithBase: 1
- _MaterialID: 1
- _Metallic: 0.138
- _MetallicRemapMax: 1
- _MetallicRemapMin: 0
- _NormalMapSpace: 0
- _NormalScale: 1
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
- _PPDMinSamples: 5
- _PPDPrimitiveLength: 1
- _PPDPrimitiveWidth: 1
- _RayTracing: 0
- _ReceivesSSR: 1
- _ReceivesSSRTransparent: 0
- _RefractionModel: 0
- _RenderQueueType: 1
- _RequireSplitLighting: 1
- _SSRefractionProjectionModel: 0
- _Smoothness: 0.826
- _SmoothnessRemapMax: 1
- _SmoothnessRemapMin: 0
- _SpecularAAScreenSpaceVariance: 0.1
- _SpecularAAThreshold: 0.2
- _SpecularOcclusionMode: 1
- _SrcBlend: 1
- _StencilRef: 0
- _StencilRefDepth: 8
- _StencilRefDistortionVec: 4
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- _StencilWriteMaskDepth: 8
- _StencilWriteMaskDistortionVec: 4
- _StencilWriteMaskGBuffer: 14
- _StencilWriteMaskMV: 40
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
- _TexWorldScale: 1
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
- _TransparentDepthPrepassEnable: 0
- _TransparentSortPriority: 0
- _TransparentWritingMotionVec: 0
- _TransparentZWrite: 0
- _UVBase: 0
- _UVDetail: 0
- _UVEmissive: 0
- _UseEmissiveIntensity: 0
- _UseShadowThreshold: 0
- _ZTestDepthEqualForOpaque: 3
- _ZTestGBuffer: 4
- _ZTestModeDistortion: 4
- _ZTestTransparent: 4
- _ZWrite: 1
m_Colors:
- Color_83777D09: {r: 0.51886785, g: 0.51886785, b: 0.51886785, a: 0}
- DiffusionProfile_261f48f1fbc94ccbafc421414859c159_Asset: {r: 0, g: 0, b: 0,
a: 0}
- DiffusionProfile_bfbe0deb8ec4428a9cfcdb968651903c_Asset: {r: 0, g: 0, b: 0,
a: 0}
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0}
- _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissiveColor: {r: 0, g: 0, b: 0, a: 1}
- _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1}
- _InvPrimScale: {r: 1, g: 1, b: 0, a: 0}
- _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1}
- _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0}
- _UnlitColor: {r: 1, g: 1, b: 1, a: 1}
--- !u!114 &7132957013997493995
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 11

8
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_eyes.mat.meta


fileFormatVersion: 2
guid: f1e19850dd55de54599bf9160641e570
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

297
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_hair.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: sebastian_athletic_01_hair
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
_MATERIAL_FEATURE_TRANSMISSION _NORMALMAP _NORMALMAP_TANGENT_SPACE
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2225
stringTagMap: {}
disabledShaderPasses:
- DistortionVectors
- MOTIONVECTORS
- RayTracingPrepass
- TransparentDepthPrepass
- TransparentDepthPostpass
- TransparentBackface
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _AnisotropyMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseColorMap:
m_Texture: {fileID: 2800000, guid: 65e3c35bf5cea0a449574a90fb28135b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CoatMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DistortionVectorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissiveColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HeightMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _IridescenceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _IridescenceThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 65e3c35bf5cea0a449574a90fb28135b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap:
m_Texture: {fileID: 2800000, guid: 50fa6cae29d420b4bae25f8a2f0bc67d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecularColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AORemapMax: 1
- _AORemapMin: 0
- _ATDistance: 1
- _AddPrecomputedVelocity: 0
- _AlbedoAffectEmissive: 0
- _AlphaCutoff: 0.5
- _AlphaCutoffEnable: 0
- _AlphaCutoffPostpass: 0.5
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
- _Anisotropy: 0
- _BlendMode: 0
- _CoatMask: 0
- _CullMode: 2
- _CullModeForward: 2
- _Cutoff: 0.5
- _DepthOffsetEnable: 0
- _DetailAlbedoScale: 1
- _DetailNormalScale: 1
- _DetailSmoothnessScale: 1
- _DiffusionProfile: 0
- _DiffusionProfileHash: 2.7317202
- _DisplacementLockObjectScale: 1
- _DisplacementLockTilingScale: 1
- _DisplacementMode: 0
- _DistortionBlendMode: 0
- _DistortionBlurBlendMode: 0
- _DistortionBlurDstBlend: 1
- _DistortionBlurRemapMax: 1
- _DistortionBlurRemapMin: 0
- _DistortionBlurScale: 1
- _DistortionBlurSrcBlend: 1
- _DistortionDepthTest: 1
- _DistortionDstBlend: 1
- _DistortionEnable: 0
- _DistortionScale: 1
- _DistortionSrcBlend: 1
- _DistortionVectorBias: -1
- _DistortionVectorScale: 2
- _DoubleSidedEnable: 0
- _DoubleSidedNormalMode: 1
- _DstBlend: 0
- _EmissiveColorMode: 1
- _EmissiveExposureWeight: 1
- _EmissiveIntensity: 1
- _EmissiveIntensityUnit: 0
- _EnableBlendModePreserveSpecularLighting: 1
- _EnableFogOnTransparent: 1
- _EnableGeometricSpecularAA: 0
- _EnergyConservingSpecularColor: 1
- _HeightAmplitude: 0.02
- _HeightCenter: 0.5
- _HeightMapParametrization: 0
- _HeightMax: 1
- _HeightMin: -1
- _HeightOffset: 0
- _HeightPoMAmplitude: 2
- _HeightTessAmplitude: 2
- _HeightTessCenter: 0.5
- _InvTilingScale: 1
- _Ior: 1.5
- _IridescenceMask: 1
- _IridescenceThickness: 1
- _LinkDetailsWithBase: 1
- _MaterialID: 0
- _Metallic: 0
- _MetallicRemapMax: 1
- _MetallicRemapMin: 0
- _NormalMapSpace: 0
- _NormalScale: 1
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
- _PPDMinSamples: 5
- _PPDPrimitiveLength: 1
- _PPDPrimitiveWidth: 1
- _RayTracing: 0
- _ReceivesSSR: 1
- _ReceivesSSRTransparent: 0
- _RefractionModel: 0
- _SSRefractionProjectionModel: 0
- _Smoothness: 0.288
- _SmoothnessRemapMax: 1
- _SmoothnessRemapMin: 0
- _SpecularAAScreenSpaceVariance: 0.1
- _SpecularAAThreshold: 0.2
- _SpecularOcclusionMode: 1
- _SrcBlend: 1
- _StencilRef: 4
- _StencilRefDepth: 8
- _StencilRefDistortionVec: 4
- _StencilRefGBuffer: 14
- _StencilRefMV: 40
- _StencilWriteMask: 6
- _StencilWriteMaskDepth: 8
- _StencilWriteMaskDistortionVec: 4
- _StencilWriteMaskGBuffer: 14
- _StencilWriteMaskMV: 40
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
- _TexWorldScale: 1
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
- _TransparentDepthPrepassEnable: 0
- _TransparentSortPriority: 0
- _TransparentWritingMotionVec: 0
- _TransparentZWrite: 0
- _UVBase: 0
- _UVDetail: 0
- _UVEmissive: 0
- _UseEmissiveIntensity: 0
- _UseShadowThreshold: 0
- _ZTestDepthEqualForOpaque: 3
- _ZTestGBuffer: 4
- _ZTestModeDistortion: 4
- _ZTestTransparent: 4
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _DiffusionProfileAsset: {r: -1.405437e+32, g: 2.0030989e-26, b: 0.00000006313206,
a: -4.4045647e-18}
- _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissiveColor: {r: 0, g: 0, b: 0, a: 1}
- _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1}
- _InvPrimScale: {r: 1, g: 1, b: 0, a: 0}
- _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1}
- _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0}
--- !u!114 &5085734597598856203
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: aa486462e6be1764e89c788ba30e61f7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_DiffusionProfileReferences:
- {fileID: 11400000, guid: 26bdddf49760c61438938733f07fa2a2, type: 2}
m_MaterialReferences: []
--- !u!114 &5481202508877371354
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 11

8
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_hair.mat.meta


fileFormatVersion: 2
guid: 01884d438a534744a9a94d8e4f3905a4
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

144
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_mask.tga.meta


fileFormatVersion: 2
guid: cf21c5bcce83d61428c6ff629383a997
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
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
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: 2
mipBias: -100
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

280
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_mouth.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-3854525250365518586
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 11
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: sebastian_athletic_01_mouth
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _NORMALMAP _NORMALMAP_TANGENT_SPACE
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2225
stringTagMap: {}
disabledShaderPasses:
- DistortionVectors
- MOTIONVECTORS
- TransparentDepthPrepass
- TransparentDepthPostpass
- TransparentBackface
- RayTracingPrepass
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _AnisotropyMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseColorMap:
m_Texture: {fileID: 2800000, guid: 65e3c35bf5cea0a449574a90fb28135b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CoatMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DistortionVectorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissiveColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HeightMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _IridescenceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _IridescenceThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 65e3c35bf5cea0a449574a90fb28135b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap:
m_Texture: {fileID: 2800000, guid: cf21c5bcce83d61428c6ff629383a997, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap:
m_Texture: {fileID: 2800000, guid: 50fa6cae29d420b4bae25f8a2f0bc67d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecularColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AORemapMax: 1
- _AORemapMin: 0
- _ATDistance: 1
- _AddPrecomputedVelocity: 0
- _AlbedoAffectEmissive: 0
- _AlphaCutoff: 0.5
- _AlphaCutoffEnable: 0
- _AlphaCutoffPostpass: 0.5
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
- _Anisotropy: 0
- _BlendMode: 0
- _CoatMask: 0
- _CullMode: 2
- _CullModeForward: 2
- _Cutoff: 0.5
- _DepthOffsetEnable: 0
- _DetailAlbedoScale: 1
- _DetailNormalScale: 1
- _DetailSmoothnessScale: 1
- _DiffusionProfile: 0
- _DiffusionProfileHash: 0
- _DisplacementLockObjectScale: 1
- _DisplacementLockTilingScale: 1
- _DisplacementMode: 0
- _DistortionBlendMode: 0
- _DistortionBlurBlendMode: 0
- _DistortionBlurDstBlend: 1
- _DistortionBlurRemapMax: 1
- _DistortionBlurRemapMin: 0
- _DistortionBlurScale: 1
- _DistortionBlurSrcBlend: 1
- _DistortionDepthTest: 1
- _DistortionDstBlend: 1
- _DistortionEnable: 0
- _DistortionScale: 1
- _DistortionSrcBlend: 1
- _DistortionVectorBias: -1
- _DistortionVectorScale: 2
- _DoubleSidedEnable: 0
- _DoubleSidedNormalMode: 1
- _DstBlend: 0
- _EmissiveColorMode: 1
- _EmissiveExposureWeight: 1
- _EmissiveIntensity: 1
- _EmissiveIntensityUnit: 0
- _EnableBlendModePreserveSpecularLighting: 1
- _EnableFogOnTransparent: 1
- _EnableGeometricSpecularAA: 0
- _EnergyConservingSpecularColor: 1
- _HeightAmplitude: 0.02
- _HeightCenter: 0.5
- _HeightMapParametrization: 0
- _HeightMax: 1
- _HeightMin: -1
- _HeightOffset: 0
- _HeightPoMAmplitude: 2
- _HeightTessAmplitude: 2
- _HeightTessCenter: 0.5
- _InvTilingScale: 1
- _Ior: 1.5
- _IridescenceMask: 1
- _IridescenceThickness: 1
- _LinkDetailsWithBase: 1
- _MaterialID: 1
- _Metallic: 0.095
- _MetallicRemapMax: 1
- _MetallicRemapMin: 0
- _NormalMapSpace: 0
- _NormalScale: 1
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
- _PPDMinSamples: 5
- _PPDPrimitiveLength: 1
- _PPDPrimitiveWidth: 1
- _RayTracing: 0
- _ReceivesSSR: 1
- _ReceivesSSRTransparent: 0
- _RefractionModel: 0
- _Smoothness: 0.708
- _SmoothnessRemapMax: 1
- _SmoothnessRemapMin: 0
- _SpecularAAScreenSpaceVariance: 0.1
- _SpecularAAThreshold: 0.2
- _SpecularOcclusionMode: 1
- _SrcBlend: 1
- _StencilRef: 0
- _StencilRefDepth: 8
- _StencilRefDistortionVec: 4
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- _StencilWriteMaskDepth: 8
- _StencilWriteMaskDistortionVec: 4
- _StencilWriteMaskGBuffer: 14
- _StencilWriteMaskMV: 40
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
- _TexWorldScale: 1
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
- _TransparentDepthPrepassEnable: 0
- _TransparentSortPriority: 0
- _TransparentWritingMotionVec: 0
- _TransparentZWrite: 0
- _UVBase: 0
- _UVDetail: 0
- _UVEmissive: 0
- _UseEmissiveIntensity: 0
- _UseShadowThreshold: 0
- _ZTestDepthEqualForOpaque: 3
- _ZTestGBuffer: 4
- _ZTestModeDistortion: 4
- _ZTestTransparent: 4
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0}
- _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissiveColor: {r: 0, g: 0, b: 0, a: 1}
- _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1}
- _InvPrimScale: {r: 1, g: 1, b: 0, a: 0}
- _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1}
- _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0}
m_BuildTextureStacks: []

8
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_mouth.mat.meta


fileFormatVersion: 2
guid: bed28cf0ff190f34db0a7c266ba02f18
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

144
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_normal.jpg.meta


fileFormatVersion: 2
guid: 50fa6cae29d420b4bae25f8a2f0bc67d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 0
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
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: 2
mipBias: -100
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 1
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Standalone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: iPhone
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Android
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
- serializedVersion: 3
buildTarget: Windows Store Apps
maxTextureSize: 8192
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

1001
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_prefab.prefab
文件差异内容过多而无法显示
查看文件

7
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_prefab.prefab.meta


fileFormatVersion: 2
guid: fe79cf9a1b10a5542882420ace5e4b14
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

304
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_shoes.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &-8225873552295455377
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 11
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: sebastian_athletic_01_shoes
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _NORMALMAP _NORMALMAP_TANGENT_SPACE
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2225
stringTagMap:
MotionVector: User
disabledShaderPasses:
- DistortionVectors
- MOTIONVECTORS
- TransparentDepthPrepass
- TransparentDepthPostpass
- TransparentBackface
- RayTracingPrepass
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _AnisotropyMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseColorMap:
m_Texture: {fileID: 2800000, guid: 65e3c35bf5cea0a449574a90fb28135b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CoatMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DistortionVectorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissiveColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _FuzzMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HeightMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _IridescenceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _IridescenceThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 65e3c35bf5cea0a449574a90fb28135b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap:
m_Texture: {fileID: 2800000, guid: cf21c5bcce83d61428c6ff629383a997, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap:
m_Texture: {fileID: 2800000, guid: 50fa6cae29d420b4bae25f8a2f0bc67d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecularColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThreadMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AORemapMax: 1
- _AORemapMin: 0
- _ATDistance: 1
- _AddPrecomputedVelocity: 0
- _AlbedoAffectEmissive: 0
- _AlphaCutoff: 0.5
- _AlphaCutoffEnable: 0
- _AlphaCutoffPostpass: 0.5
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
- _Anisotropy: 0
- _BlendMode: 0
- _CoatMask: 0
- _CullMode: 2
- _CullModeForward: 2
- _Cutoff: 0.5
- _DepthOffsetEnable: 0
- _DetailAlbedoScale: 1
- _DetailNormalScale: 1
- _DetailSmoothnessScale: 1
- _DiffusionProfile: 0
- _DiffusionProfileHash: 0
- _DisplacementLockObjectScale: 1
- _DisplacementLockTilingScale: 1
- _DisplacementMode: 0
- _DistortionBlendMode: 0
- _DistortionBlurBlendMode: 0
- _DistortionBlurDstBlend: 1
- _DistortionBlurRemapMax: 1
- _DistortionBlurRemapMin: 0
- _DistortionBlurScale: 1
- _DistortionBlurSrcBlend: 1
- _DistortionDepthTest: 1
- _DistortionDstBlend: 1
- _DistortionEnable: 0
- _DistortionScale: 1
- _DistortionSrcBlend: 1
- _DistortionVectorBias: -1
- _DistortionVectorScale: 2
- _DoubleSidedEnable: 0
- _DoubleSidedNormalMode: 1
- _DstBlend: 0
- _EmissiveColorMode: 1
- _EmissiveExposureWeight: 1
- _EmissiveIntensity: 1
- _EmissiveIntensityUnit: 0
- _EnableBlendModePreserveSpecularLighting: 1
- _EnableFogOnTransparent: 1
- _EnableGeometricSpecularAA: 0
- _EnergyConservingSpecularColor: 1
- _FuzzMapUVScale: 0.1
- _FuzzStrength: 1
- _HeightAmplitude: 0.02
- _HeightCenter: 0.5
- _HeightMapParametrization: 0
- _HeightMax: 1
- _HeightMin: -1
- _HeightOffset: 0
- _HeightPoMAmplitude: 2
- _HeightTessAmplitude: 2
- _HeightTessCenter: 0.5
- _InvTilingScale: 1
- _Ior: 1.5
- _IridescenceMask: 1
- _IridescenceThickness: 1
- _LinkDetailsWithBase: 1
- _MaterialID: 1
- _Metallic: 0
- _MetallicRemapMax: 1
- _MetallicRemapMin: 0
- _NormalMapSpace: 0
- _NormalMapStrength: 1
- _NormalScale: 1
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
- _PPDMinSamples: 5
- _PPDPrimitiveLength: 1
- _PPDPrimitiveWidth: 1
- _RayTracing: 0
- _ReceivesSSR: 1
- _ReceivesSSRTransparent: 0
- _RefractionModel: 0
- _RenderQueueType: 1
- _RequireSplitLighting: 1
- _Smoothness: 0.5
- _SmoothnessMax: 1
- _SmoothnessMin: 0
- _SmoothnessRemapMax: 1
- _SmoothnessRemapMin: 0
- _SpecularAAScreenSpaceVariance: 0.1
- _SpecularAAThreshold: 0.2
- _SpecularOcclusionMode: 1
- _SrcBlend: 1
- _StencilRef: 0
- _StencilRefDepth: 8
- _StencilRefDistortionVec: 4
- _StencilRefGBuffer: 10
- _StencilRefMV: 40
- _StencilWriteMask: 6
- _StencilWriteMaskDepth: 8
- _StencilWriteMaskDistortionVec: 4
- _StencilWriteMaskGBuffer: 14
- _StencilWriteMaskMV: 40
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
- _TexWorldScale: 1
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _ThreadAOStrength01: 0.5
- _ThreadNormalStrength: 0.5
- _ThreadSmoothnessScale: 0.5
- _TransmissionEnable: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
- _TransparentDepthPrepassEnable: 0
- _TransparentSortPriority: 0
- _TransparentWritingMotionVec: 0
- _TransparentZWrite: 0
- _UVBase: 0
- _UVDetail: 0
- _UVEmissive: 0
- _UseEmissiveIntensity: 0
- _UseShadowThreshold: 0
- _ZTestDepthEqualForOpaque: 3
- _ZTestGBuffer: 4
- _ZTestModeDistortion: 4
- _ZTestTransparent: 4
- _ZWrite: 1
- _useThreadMap: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0}
- _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissiveColor: {r: 0, g: 0, b: 0, a: 1}
- _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1}
- _InvPrimScale: {r: 1, g: 1, b: 0, a: 0}
- _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1}
- _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0}
- _uvBaseMask: {r: 1, g: 0, b: 0, a: 0}
- _uvBaseST: {r: 1, g: 1, b: 0, a: 0}
- _uvThreadMask: {r: 1, g: 0, b: 0, a: 0}
- _uvThreadST: {r: 1, g: 1, b: 0, a: 0}
m_BuildTextureStacks: []

8
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_shoes.mat.meta


fileFormatVersion: 2
guid: 40a435508b00d354d80eef52be4d06cd
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

297
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_skin.mat


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!21 &2100000
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: sebastian_athletic_01_skin
m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3}
m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MATERIAL_FEATURE_SUBSURFACE_SCATTERING
_MATERIAL_FEATURE_TRANSMISSION _NORMALMAP _NORMALMAP_TANGENT_SPACE
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 2225
stringTagMap: {}
disabledShaderPasses:
- DistortionVectors
- MOTIONVECTORS
- RayTracingPrepass
- TransparentDepthPrepass
- TransparentDepthPostpass
- TransparentBackface
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _AnisotropyMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BaseColorMap:
m_Texture: {fileID: 2800000, guid: 65e3c35bf5cea0a449574a90fb28135b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _BentNormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _CoatMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DistortionVectorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _EmissiveColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _HeightMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _IridescenceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _IridescenceThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MainTex:
m_Texture: {fileID: 2800000, guid: 65e3c35bf5cea0a449574a90fb28135b, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _MaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMap:
m_Texture: {fileID: 2800000, guid: 50fa6cae29d420b4bae25f8a2f0bc67d, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _NormalMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SpecularColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _SubsurfaceMaskMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TangentMapOS:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ThicknessMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _TransmittanceColorMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_Lightmaps:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_LightmapsInd:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- unity_ShadowMasks:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _AORemapMax: 1
- _AORemapMin: 0
- _ATDistance: 1
- _AddPrecomputedVelocity: 0
- _AlbedoAffectEmissive: 0
- _AlphaCutoff: 0.5
- _AlphaCutoffEnable: 0
- _AlphaCutoffPostpass: 0.5
- _AlphaCutoffPrepass: 0.5
- _AlphaCutoffShadow: 0.5
- _AlphaDstBlend: 0
- _AlphaSrcBlend: 1
- _AlphaToMask: 0
- _AlphaToMaskInspectorValue: 0
- _Anisotropy: 0
- _BlendMode: 0
- _CoatMask: 0
- _CullMode: 2
- _CullModeForward: 2
- _Cutoff: 0.5
- _DepthOffsetEnable: 0
- _DetailAlbedoScale: 1
- _DetailNormalScale: 1
- _DetailSmoothnessScale: 1
- _DiffusionProfile: 0
- _DiffusionProfileHash: 2.7317202
- _DisplacementLockObjectScale: 1
- _DisplacementLockTilingScale: 1
- _DisplacementMode: 0
- _DistortionBlendMode: 0
- _DistortionBlurBlendMode: 0
- _DistortionBlurDstBlend: 1
- _DistortionBlurRemapMax: 1
- _DistortionBlurRemapMin: 0
- _DistortionBlurScale: 1
- _DistortionBlurSrcBlend: 1
- _DistortionDepthTest: 1
- _DistortionDstBlend: 1
- _DistortionEnable: 0
- _DistortionScale: 1
- _DistortionSrcBlend: 1
- _DistortionVectorBias: -1
- _DistortionVectorScale: 2
- _DoubleSidedEnable: 0
- _DoubleSidedNormalMode: 1
- _DstBlend: 0
- _EmissiveColorMode: 1
- _EmissiveExposureWeight: 1
- _EmissiveIntensity: 1
- _EmissiveIntensityUnit: 0
- _EnableBlendModePreserveSpecularLighting: 1
- _EnableFogOnTransparent: 1
- _EnableGeometricSpecularAA: 0
- _EnergyConservingSpecularColor: 1
- _HeightAmplitude: 0.02
- _HeightCenter: 0.5
- _HeightMapParametrization: 0
- _HeightMax: 1
- _HeightMin: -1
- _HeightOffset: 0
- _HeightPoMAmplitude: 2
- _HeightTessAmplitude: 2
- _HeightTessCenter: 0.5
- _InvTilingScale: 1
- _Ior: 1.5
- _IridescenceMask: 1
- _IridescenceThickness: 1
- _LinkDetailsWithBase: 1
- _MaterialID: 0
- _Metallic: 0
- _MetallicRemapMax: 1
- _MetallicRemapMin: 0
- _NormalMapSpace: 0
- _NormalScale: 1
- _OpaqueCullMode: 2
- _PPDLodThreshold: 5
- _PPDMaxSamples: 15
- _PPDMinSamples: 5
- _PPDPrimitiveLength: 1
- _PPDPrimitiveWidth: 1
- _RayTracing: 0
- _ReceivesSSR: 1
- _ReceivesSSRTransparent: 0
- _RefractionModel: 0
- _SSRefractionProjectionModel: 0
- _Smoothness: 0.288
- _SmoothnessRemapMax: 1
- _SmoothnessRemapMin: 0
- _SpecularAAScreenSpaceVariance: 0.1
- _SpecularAAThreshold: 0.2
- _SpecularOcclusionMode: 1
- _SrcBlend: 1
- _StencilRef: 4
- _StencilRefDepth: 8
- _StencilRefDistortionVec: 4
- _StencilRefGBuffer: 14
- _StencilRefMV: 40
- _StencilWriteMask: 6
- _StencilWriteMaskDepth: 8
- _StencilWriteMaskDistortionVec: 4
- _StencilWriteMaskGBuffer: 14
- _StencilWriteMaskMV: 40
- _SubsurfaceMask: 1
- _SupportDecals: 1
- _SurfaceType: 0
- _TexWorldScale: 1
- _TexWorldScaleEmissive: 1
- _Thickness: 1
- _TransmissionEnable: 1
- _TransparentBackfaceEnable: 0
- _TransparentCullMode: 2
- _TransparentDepthPostpassEnable: 0
- _TransparentDepthPrepassEnable: 0
- _TransparentSortPriority: 0
- _TransparentWritingMotionVec: 0
- _TransparentZWrite: 0
- _UVBase: 0
- _UVDetail: 0
- _UVEmissive: 0
- _UseEmissiveIntensity: 0
- _UseShadowThreshold: 0
- _ZTestDepthEqualForOpaque: 3
- _ZTestGBuffer: 4
- _ZTestModeDistortion: 4
- _ZTestTransparent: 4
- _ZWrite: 1
m_Colors:
- _BaseColor: {r: 1, g: 1, b: 1, a: 1}
- _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0}
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _DiffusionProfileAsset: {r: -1.405437e+32, g: 2.0030989e-26, b: 0.00000006313206,
a: -4.4045647e-18}
- _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0}
- _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
- _EmissiveColor: {r: 0, g: 0, b: 0, a: 1}
- _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1}
- _InvPrimScale: {r: 1, g: 1, b: 0, a: 0}
- _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _SpecularColor: {r: 1, g: 1, b: 1, a: 1}
- _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0}
- _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1}
- _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMask: {r: 1, g: 0, b: 0, a: 0}
- _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0}
--- !u!114 &5085734597598856203
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: aa486462e6be1764e89c788ba30e61f7, type: 3}
m_Name:
m_EditorClassIdentifier:
m_DiffusionProfileReferences:
- {fileID: 11400000, guid: 26bdddf49760c61438938733f07fa2a2, type: 2}
m_MaterialReferences: []
--- !u!114 &5481202508877371354
MonoBehaviour:
m_ObjectHideFlags: 11
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3}
m_Name:
m_EditorClassIdentifier:
version: 11

8
com.unity.perception/Tests/Runtime/TestAssets/Characters/sebastian/sebastian_athletic_01_skin.mat.meta


fileFormatVersion: 2
guid: ff3f4a35617841f40bc13271d471988a
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

115
com.unity.perception/Editor/Character/CharacterTooling.cs


using System.Collections.Generic;
using System.Linq;
using UnityEngine.Perception.GroundTruth;
namespace UnityEngine.Perception.Content
{
public class CharacterTooling : MonoBehaviour
{
/// <summary>
/// Bool function used for testing to make sure the target character has the required 15 starting bones
/// </summary>
/// <param name="selection">target character selected</param>
/// <param name="failed">Dictionary return if of Human Bones that tracks they are prsent or missing</param>
/// <returns>True if all 15 bones are present, otherwise false</returns>
public bool CharacterRequiredBones(GameObject selection, out Dictionary<HumanBone, bool> failed)
{
var result = CharacterValidation.AvatarRequiredBones(selection);
failed = new Dictionary<HumanBone, bool>();
for (int i = 0; i < result.Count; i++)
{
var bone = result.ElementAt(i);
var boneKey = bone.Key;
var boneValue = bone.Value;
if (boneValue != true)
failed.Add(boneKey, boneValue);
}
return failed.Count == 0;
}
/// <summary>
/// Ensures there is pose data in the parent and child game objects of a character by checking for position and rotation
/// </summary>
/// <param name="gameObject">Target character selected</param>
/// <param name="failedGameObjects">List of game objects that don't have nay pose data</param>
/// <returns>The count of failed bones</returns>
public bool CharacterPoseData(GameObject gameObject, out List<GameObject> failedGameObjects)
{
failedGameObjects = new List<GameObject>();
var componentsParent = gameObject.GetComponents<Transform>();
var componentsChild = gameObject.GetComponentsInChildren<Transform>();
for (int p = 0; p < componentsParent.Length; p++)
{
var pos = componentsParent[p].transform.position;
var rot = componentsParent[p].transform.rotation.eulerAngles;
if (pos == null || rot == null)
{
failedGameObjects.Add(componentsParent[p].gameObject);
}
}
for (int c = 0; c < componentsChild.Length; c++)
{
var pos = componentsChild[c].transform.position;
var rot = componentsChild[c].transform.rotation.eulerAngles;
if (pos == null || rot == null)
{
failedGameObjects.Add(componentsChild[c].gameObject);
}
}
return failedGameObjects.Count == 0;
}
/// <summary>
/// Bool function to make create a new prefab Character with nose and ear joints
/// </summary>
/// <param name="selection"></param>
/// <param name="drawRays"></param>
/// <param name="savePath"></param>
/// <returns>True if the model is created, false and a new game object named Failed if the model wasn't created</returns>
public bool CharacterCreateNose(GameObject selection, out GameObject newModel,Object keypointTemplate, bool drawRays = false, string savePath = "Assets/")
{
newModel = CharacterValidation.AvatarCreateNoseEars(selection, keypointTemplate, savePath, drawRays);
if (newModel.name.Contains("Failed"))
{
GameObject.DestroyImmediate(newModel);
return false;
}
else return true;
}
/// <summary>
/// Validates the model to ensure the nose, ear L & R are created
/// </summary>
/// <param name="selection">Game Object selected by tge yser</param>
/// <returns>True if the nose, ear L & R was created, false if the joints are missing</returns>
public bool ValidateNoseAndEars(GameObject selection)
{
var jointLabels = selection.GetComponentsInChildren<JointLabel>();
var nose = false;
var earRight = false;
var earLeft = false;
for (int i = 0; i < jointLabels.Length; i++)
{
if (jointLabels[i].name.Contains("nose"))
nose = true;
if (jointLabels[i].name.Contains("earRight"))
earRight = true;
if (jointLabels[i].name.Contains("earLeft"))
earLeft = true;
}
return nose && earRight && earLeft;
}
}
}

11
com.unity.perception/Editor/Character/CharacterTooling.cs.meta


fileFormatVersion: 2
guid: 543f5c12a920b31449320b9de408235e
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

11
com.unity.perception/Editor/Character/CharacterToolingLibrary.cs.meta


fileFormatVersion: 2
guid: 46e8e04cee4511049ab69310afd5f50f
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

11
com.unity.perception/Editor/Character/CharacterToolingUI.cs.meta


fileFormatVersion: 2
guid: aa3cd9e043826d8459b8f2c63ed153c6
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

445
com.unity.perception/Editor/Character/CharacterToolingLibrary.cs


using System;
using System.Collections.Generic;
using System.Linq;
using UnityEditor;
using UnityEngine.Perception.GroundTruth;
using UnityEngine.Windows;
namespace UnityEngine.Perception.Content
{
public static class CharacterValidation
{
public static string[] s_RequiredBones =
{
"Head",
"Hips",
"Spine",
"LeftUpperArm",
"LeftLowerArm",
"LeftHand",
"RightUpperArm",
"RightLowerArm",
"RightHand",
"LeftUpperLeg",
"LeftLowerLeg",
"LeftFoot",
"RightUpperLeg",
"RightLowerLeg",
"RightFoot",
};
/// <summary>
/// Checks the selected character fbx or prefab to make sure the required bones defined bu the strong [] RequiredBones
/// </summary>
/// <param name="selection">GameObject selected by the user in the editor</param>
/// <returns>Dictionary of the Human Bone and bool to track presence</returns>
public static Dictionary<HumanBone, bool> AvatarRequiredBones(GameObject selection)
{
var result = new Dictionary<HumanBone, bool>();
var selectionInstance = (GameObject)PrefabUtility.InstantiatePrefab(selection);
if (selectionInstance != null)
selection = selectionInstance;
var animator = selection.GetComponentInChildren<Animator>();
var bone = new HumanBone();
if (animator == null)
{
Debug.LogWarning("Animator and/or the Skinned Mesh Renderer are missing or can't be found!");
result.Add(bone, false);
GameObject.DestroyImmediate(selection);
return result;
}
var human = animator.avatar.humanDescription.human;
var totalBones = 0;
for(int h = 0; h < human.Length; h++)
{
for (int b = 0; b < s_RequiredBones.Length; b++)
{
if(human[h].humanName == s_RequiredBones[b])
{
if (human[h].boneName != null)
{
bone.boneName = human[h].boneName;
totalBones = totalBones = +1;
result.Add(bone, true);
}
else
{
result.Add(bone, false);
}
}
}
}
GameObject.DestroyImmediate(selection);
return result;
}
/// <summary>
/// Based on the selection of a fbx or prefab character will find the location of the nose, left ear, and right ear joints
/// based on eye and the center head locations.
/// </summary>
/// <param name="selection"> fbx or prefab selection</param>
/// <param name="savePath">Path where the new created prefab will be saved too</param>
/// <param name="drawRays">Shows the rays on how the joint posiitons are found</param>
/// <returns></returns>
public static GameObject AvatarCreateNoseEars (GameObject selection, Object keypointTemplate, string savePath, bool drawRays = false)
{
if (selection == null)
{
Debug.LogWarning("Selected Game Object is null or missing");
return new GameObject("Failed");
}
var selectionInstance = (GameObject)PrefabUtility.InstantiatePrefab(selection);
if (selectionInstance != null)
selection = selectionInstance;
var animator = selection.GetComponentInChildren<Animator>();
var skinnedMeshRenderer = selection.GetComponentInChildren<SkinnedMeshRenderer>();
if (animator == null || skinnedMeshRenderer == null)
{
Debug.LogWarning("Animator and/or the Skinned Mesh Renderer are missing or can't be found!");
return new GameObject("Failed");
}
var human = animator.avatar.humanDescription.human;
var skeleton = animator.avatar.humanDescription.skeleton;
var verticies = skinnedMeshRenderer.sharedMesh.vertices;
var head = animator.GetBoneTransform(HumanBodyBones.Head);
//Currently stage left and stage right for the eyes
var leftEye = animator.GetBoneTransform(HumanBodyBones.RightEye);
var rightEye = animator.GetBoneTransform(HumanBodyBones.LeftEye);
var faceCenter = Vector3.zero;
var earCenter = Vector3.zero;
var nosePos = Vector3.zero;
var earRightPos = Vector3.zero;
var earLeftPos = Vector3.zero;
var distanceCheck = 1f;
var eyeDistance = 0f;
var directionLeft = Vector3.zero;
var directionRight = Vector3.zero;
var rayHead = new Ray();
var rayLeftEye = new Ray();
var rayRightEye = new Ray();
var noseRayFor = new Ray();
var rayNoseBack = new Ray();
var rayEarLeft = new Ray();
var rayEarRight = new Ray();
if(leftEye == null || rightEye == null)
{
Debug.LogWarning("Eye positions are null, unable to position nose joint!");
return new GameObject("Failed");
}
else
{
// getting the angle direction from the start point of the eyes and the distance between the left and right eyes
eyeDistance = Vector3.Distance(leftEye.position, rightEye.position);
directionLeft = Quaternion.AngleAxis(-45, -leftEye.right) * -leftEye.up;
directionRight = Quaternion.AngleAxis(-45, rightEye.right) * -rightEye.up;
}
rayLeftEye.origin = leftEye.position;
rayLeftEye.direction = directionLeft * eyeDistance;
rayRightEye.origin = rightEye.position;
rayRightEye.direction = directionRight * eyeDistance;
// Find the center of the face by taking where the left and right eye rays drawn at 45 degrees intersect to find
// the average point of the nose
for (var i = 0f; i < distanceCheck; i += 0.01f)
{
var pointR = rayRightEye.GetPoint(i);
var pointL = rayLeftEye.GetPoint(i);
var distanceX = Math.Abs(pointR.x - pointL.x);
var distanceY = Math.Abs(pointR.y - pointL.y);
if (distanceX < 0.01 && distanceY < 0.01 )
{
faceCenter = pointR;
}
}
rayHead.origin = head.position;
rayHead.direction = Vector3.up * distanceCheck;
noseRayFor.origin = faceCenter;
noseRayFor.direction = Vector3.forward * distanceCheck;
rayNoseBack.origin = faceCenter;
rayNoseBack.direction = Vector3.back * distanceCheck;
// Find the ear center which can be used to go left and right to find the edge of the mesh for the ear
for (var i = 0f; i < distanceCheck; i += 0.01f)
{
var pointH = rayHead.GetPoint(i);
var pointF = rayNoseBack.GetPoint(i);
var distanceZ = Math.Abs(pointH.z - pointF.z);
if (distanceZ < 0.01f)
{
earCenter = pointF;
}
}
var allPos = new Dictionary<Vector3, float>();
// Find the position of the nose using the nose ray from the starting point found by the eyes
for (int v = 0; v < verticies.Length; v++)
{
for (var c = eyeDistance / 2; c < distanceCheck; c += 0.001f)
{
var pointNoseRay = noseRayFor.GetPoint(c);
var pointVert = verticies[v];
var def = 0.005f;
var offset = pointVert - pointNoseRay;
var len = offset.sqrMagnitude;
if(len < def * def)
{
nosePos = pointNoseRay;
if(!allPos.ContainsKey(pointNoseRay))
allPos.Add(pointNoseRay, len);
}
}
}
rayEarRight.origin = earCenter;
rayEarRight.direction = Vector3.right * distanceCheck;
rayEarLeft.origin = earCenter;
rayEarLeft.direction = Vector3.left * distanceCheck;
// Find both the left and right ear from the ear center in the right and left directions
for (int v = 0; v < verticies.Length; v++)
{
for (var c = eyeDistance / 2; c < distanceCheck; c += 0.001f)
{
var pointEarRight = rayEarRight.GetPoint(c);
var pointEarLeft = rayEarLeft.GetPoint(c);
var pointVert = verticies[v];
var def = 0.09f;
var offsetR = pointVert - pointEarRight;
// TODO: Need to fix the left offset because of negative numbers
var offsetL = pointVert - pointEarLeft;
var lenR = offsetR.sqrMagnitude;
var lenL = offsetL.sqrMagnitude;
if (lenR < def * def || lenR < def)
{
earRightPos = pointEarRight;
}
if (lenL < def * def || lenL < def)
{
earLeftPos = pointEarLeft;
}
}
}
var earLeftCheck = Vector3.Distance(earLeftPos, earCenter);
var earRightCheck = Vector3.Distance(earRightPos, earCenter);
var eyeCenterDistance = eyeDistance + 0.01f;
if (earLeftCheck > eyeCenterDistance)
{
earLeftPos.x = (-eyeDistance);
}
if (earRightCheck > eyeCenterDistance)
{
earRightPos.x = eyeDistance;
}
if(drawRays)
{
DebugDrawRays(30f, distanceCheck, rightEye, leftEye, head, rayRightEye, rayLeftEye, faceCenter, earCenter);
}
return CreateNewCharacterPrefab(selection, nosePos, earRightPos, earLeftPos, keypointTemplate, savePath);
}
/// <summary>
/// Drays the rays used to create the nose and ears
/// </summary>
/// <param name="duration">Duration of the ray being drawn</param>
/// <param name="distanceCheck">How far the ray goes</param>
/// <param name="rightEye">transform of the right eye</param>
/// <param name="leftEye">transform of the left eye</param>
/// <param name="head">transform of the head</param>
/// <param name="rayRightEye">ray from the right eye transform</param>
/// <param name="rayLeftEye">ray from the left eye transform</param>
/// <param name="faceCenter">center of face found from the eyes</param>
/// <param name="earCenter">center of eyes found from the center of the head</param>
public static void DebugDrawRays(float duration, float distanceCheck, Transform rightEye, Transform leftEye, Transform head,Ray rayRightEye, Ray rayLeftEye, Vector3 faceCenter, Vector3 earCenter)
{
Debug.DrawLine(rightEye.position, leftEye.position, Color.magenta, duration);
Debug.DrawRay(rayLeftEye.origin, rayLeftEye.direction, Color.green, duration);
Debug.DrawRay(rayRightEye.origin, rayRightEye.direction, Color.blue, duration);
Debug.DrawRay(faceCenter, Vector3.forward * distanceCheck, Color.cyan, duration);
Debug.DrawRay(faceCenter, Vector3.back, Color.cyan, duration);
Debug.DrawRay(head.position, Vector3.up, Color.red, duration);
Debug.DrawRay(earCenter, Vector3.right, Color.blue, duration);
Debug.DrawRay(earCenter, Vector3.left, Color.green, duration);
}
/// <summary>
/// Grabs the positions for the nose and ears then creates the joint, adds labels, parents the joints to the head, then saves the prefab
/// </summary>
/// <param name="selection">target character</param>
/// <param name="nosePosition">Vector 3 position</param>
/// <param name="earRightPosition">Vector 3 position</param>
/// <param name="earLeftPosition">Vector 3 position</param>
/// <param name="savePath">Save path for the creation of a new prefab</param>
/// <returns></returns>
public static GameObject CreateNewCharacterPrefab(GameObject selection, Vector3 nosePosition, Vector3 earRightPosition, Vector3 earLeftPosition, Object keypointTemplate, string savePath = "Assets/")
{
var head = FindBodyPart(selection, HumanBodyBones.Head);
if (savePath == string.Empty || !Directory.Exists(savePath))
{
savePath = "Assets/";
Debug.Log("Save file path didn't exist, defaulting to Assets folder in project!");
}
var filePath = savePath + selection.name + ".prefab";
if (head != null)
{
if (nosePosition != Vector3.zero)
{
var nose = new GameObject();
nose.transform.position = nosePosition;
nose.name = "nose";
nose.transform.SetParent(head);
AddJointLabel(nose, keypointTemplate);
}
if (earRightPosition != Vector3.zero)
{
var earRight = new GameObject();
earRight.transform.position = earRightPosition;
earRight.name = "earRight";
earRight.transform.SetParent(head);
AddJointLabel(earRight, keypointTemplate);
}
if (earLeftPosition != Vector3.zero)
{
var earLeft = new GameObject();
earLeft.transform.position = earLeftPosition;
earLeft.name = "earLeft";
earLeft.transform.SetParent(head);
AddJointLabel(earLeft, keypointTemplate);
}
}
var model = PrefabUtility.SaveAsPrefabAsset(selection, filePath);
return model;
}
/// <summary>
/// Finds that name of the bone Transform that matches the target string
/// </summary>
/// <param name="name">Target name of the bone that we need to find</param>
/// <param name="root">Target selection transform</param>
/// <returns>Will return the target Human bone as a Transform, or returns null</returns>
public static Transform FindBodyPart(string name, Transform root)
{
var children = new List<Transform>();
root.GetComponentsInChildren(children);
foreach (var child in children)
{
if (child.name == name || child.name.Contains(name))
return child;
}
return null;
}
/// <summary>
/// Finds that Human Bone in the Avatar of the animator of the character
/// </summary>
/// <param name="selection">Target Character that we need to find a part on</param>
/// <param name="humanBone">Target Human Body Bone</param>
/// <returns>Will return the target Human bone as a Transform, or returns null</returns>
public static Transform FindBodyPart(GameObject selection, HumanBodyBones humanBone)
{
var animator = selection.GetComponentInChildren<Animator>();
if (animator != null)
{
var targetBone = animator.GetBoneTransform(humanBone);
if (targetBone != null)
return targetBone;
}
return null;
}
/// <summary>
/// Will ensure the target game object's avatar has the target Human Bone
/// </summary>
/// <param name="selection">Target game object</param>
/// <param name="humanBone">Target human bone we are sreaching for in the avatar of the selected game object</param>
/// <returns>Return true if the bone was found, or false if the bone is missing</returns>
public static bool ValidateBodyPart(GameObject selection, HumanBodyBones humanBone)
{
var animator = selection.GetComponentInChildren<Animator>();
if (animator != null)
{
var targetBone = animator.GetBoneTransform(humanBone);
if (targetBone != null)
return true;
}
return false;
}
/// <summary>
/// Add a joint label and add the template data for the joint, uses base CocoKeypointTemplate in perception since the plan is to
/// remove the template from the template data
/// </summary>
/// <param name="gameObject">target gameobject from the joint</param>
/// <param name="keypointTemplate">selected keypoint template from the UI, if blank it will grab the example CocoKeypointTemplate</param>
static void AddJointLabel(GameObject gameObject, Object keypointTemplate)
{
var jointLabel = gameObject.AddComponent<JointLabel>();
var data = new JointLabel.TemplateData();
var exampleTemplate = AssetDatabase.GetAllAssetPaths().Where(o => o.EndsWith("CocoKeypointTemplate.asset", StringComparison.OrdinalIgnoreCase)).ToList();
if (keypointTemplate == null)
{
foreach (string o in exampleTemplate)
{
if (o.Contains("com.unity.perception"))
{
keypointTemplate = AssetDatabase.LoadAssetAtPath<Object>(o);
}
}
}
data.label = gameObject.name;
data.template = (KeypointTemplate)keypointTemplate;
jointLabel.templateInformation = new List<JointLabel.TemplateData>();
jointLabel.templateInformation.Add(data);
}
}
}

169
com.unity.perception/Editor/Character/CharacterToolingUI.cs


using System.Collections.Generic;
using UnityEditor;
using UnityEngine.Perception.Content;
using MenuItem = UnityEditor.MenuItem;
using UnityEngine;
using System.Linq;
using UnityEngine.Perception.GroundTruth;
public class CharacterToolingUI : EditorWindow
{
static string[] s_ToolbarNames = null;
CharacterTooling m_ContentTests = new CharacterTooling();
Object m_KeypointTemplate;
GameObject m_Selection = null;
int m_ToolbarSelection = 0;
bool m_DrawFaceRays = false;
bool m_ApiResult = false;
bool m_CheckJoints = false;
bool m_VaildCharacter = false;
string m_SavePath = "Assets/";
string m_Status = "Unknown";
void OnSelectionChange()
{
m_Selection = Selection.activeGameObject;
if(m_Selection != null)
{
var head = CharacterValidation.ValidateBodyPart(m_Selection, HumanBodyBones.Head);
var leftEye = CharacterValidation.ValidateBodyPart(m_Selection, HumanBodyBones.LeftEye);
var rightEye = CharacterValidation.ValidateBodyPart(m_Selection, HumanBodyBones.RightEye);
if (head && leftEye && rightEye )
{
m_Status = "Character ready to add joints";
m_VaildCharacter = true;
m_CheckJoints = m_ContentTests.ValidateNoseAndEars(m_Selection);
}
else
{
m_Status = "Missing either the head/left or right eye joint transforms!";
m_VaildCharacter = false;
}
}
}
void OnInspectorUpdate()
{
Repaint();
m_Selection = Selection.activeGameObject;
}
[MenuItem("Window/Perception Character Tool")]
static void Init()
{
s_ToolbarNames = new string[] { "Keypoints", "Validation" };
CharacterToolingUI window = (CharacterToolingUI)GetWindow(typeof(CharacterToolingUI));
window.autoRepaintOnSceneChange = true;
window.Show();
}
void OnGUI()
{
if (m_Selection != null && m_Selection.GetType() == typeof(GameObject))
{
EditorGUILayout.TextField("Selected GameObject : ", m_Selection.name);
m_SavePath = EditorGUILayout.TextField("Prefab Save Location : ", m_SavePath);
GUILayout.Label("Keypoint Template : ", EditorStyles.whiteLargeLabel);
m_KeypointTemplate = EditorGUILayout.ObjectField(m_KeypointTemplate, typeof(KeypointTemplate), true, GUILayout.MaxWidth(500));
GUILayout.BeginHorizontal();
m_ToolbarSelection = GUILayout.Toolbar(m_ToolbarSelection, s_ToolbarNames);
GUILayout.EndHorizontal();
switch (m_ToolbarSelection)
{
case 0:
GUILayout.Label("Character Tools", EditorStyles.whiteLargeLabel);
var failedBones = new Dictionary<HumanBone, bool>();
var failedPose = new List<GameObject>();
GameObject newModel;
m_DrawFaceRays = GUILayout.Toggle(m_DrawFaceRays, "Draw Face Rays");
GUILayout.Label(string.Format("Ears and Nose status: {0}", m_Status), EditorStyles.boldLabel);
if (m_CheckJoints)
{
m_Status = "Joints already exist";
}
else if (!m_CheckJoints && m_VaildCharacter)
{
m_Status = "Joints don't exist";
if (GUILayout.Button("Create Nose and Ears", GUILayout.Width(160)))
{
if (m_SavePath == "Assets/")
m_ApiResult = m_ContentTests.CharacterCreateNose(m_Selection, out newModel, m_KeypointTemplate, m_DrawFaceRays);
else
m_ApiResult = m_ContentTests.CharacterCreateNose(m_Selection, out newModel, m_KeypointTemplate, m_DrawFaceRays, m_SavePath);
var modelValidate = m_ContentTests.ValidateNoseAndEars(newModel);
if (modelValidate)
m_Status = "Ear and Nose joints created";
else if (!modelValidate)
m_Status = "Failed to create the Ear and Nose joints";
}
}
break;
case 1:
var animator = m_Selection.GetComponentInChildren<Animator>();
GUILayout.Label("Character Validation", EditorStyles.whiteLargeLabel);
if (animator != null)
{
GUILayout.Label(string.Format("Character has Human Avatar: {0}", animator.avatar.isHuman), EditorStyles.boldLabel);
GUILayout.Label(string.Format("Character has Valid Avatar: {0}", animator.avatar.isValid), EditorStyles.boldLabel);
}
GUILayout.Label(string.Format("Validation for Character : {0}", m_ApiResult), EditorStyles.whiteLabel);
if (GUILayout.Button("Validate Bones", GUILayout.Width(160)))
{
m_ApiResult = m_ContentTests.CharacterRequiredBones(m_Selection, out failedBones);
if (failedBones.Count > 0)
{
for (int i = 0; i < CharacterValidation.s_RequiredBones.Length; i++)
{
for (int b = 0; b < failedBones.Count; b++)
{
var bone = failedBones.ElementAt(i);
var boneKey = bone.Key;
var boneValue = bone.Value;
if (CharacterValidation.s_RequiredBones[i] == boneKey.humanName)
{
GUILayout.Label(string.Format("Bone {0}: {1}", CharacterValidation.s_RequiredBones[i], "Missing"), EditorStyles.boldLabel);
}
}
}
}
else if (failedBones.Count == 0)
{
GUILayout.Label(string.Format("Required Bones Present : {0}", m_ApiResult), EditorStyles.whiteLabel);
}
}
if (GUILayout.Button("Validate Pose Data", GUILayout.Width(160)))
{
m_ApiResult = m_ContentTests.CharacterPoseData(m_Selection, out failedPose);
}
break;
}
}
else
{
GUILayout.Label("The selected asset(s) is invalid, please select a Game Object.", EditorStyles.boldLabel);
}
}
}

部分文件因为文件数量过多而无法显示

正在加载...
取消
保存