Compare commits

...

16 Commits

Author SHA1 Message Date
hecomi
74c51e7072 tweak script name. 2018-12-29 00:05:06 +09:00
hecomi
267b286765 add 'buffer' property to Monitor to access the buffer pointer directly. 2018-12-29 00:02:19 +09:00
hecomi
f060ffbfba fix GetPixels() bug #27. 2018-12-23 15:10:40 +09:00
hecomi
467fa86f59 add function-scope timer for debug. 2018-12-08 13:36:16 +09:00
hecomi
608509aa22 output os version and graphics information. 2018-12-08 11:06:07 +09:00
hecomi
9aa488e100 code cleanups. 2018-12-02 23:52:30 +09:00
hecomi
4c225c21c9 rebuild DLLs. 2018-11-16 01:13:02 +09:00
hecomi
b8b4238b5f update unity version to Unity 2018.2.15f1. 2018-11-16 01:09:01 +09:00
hecomi
4d2766ce3f fix Shader.PropertyToID error on Unity 5.x #26 2018-11-13 00:16:55 +09:00
hecomi
f4096ec9fb fix crash bug caused by Windows sleep. 2018-09-12 21:40:57 +09:00
hecomi
0f43788650 add solution file. 2018-09-12 20:54:58 +09:00
hecomi
1c1381a7ba consider clipPos and clipScale for raycast #23. 2018-09-12 00:04:33 +09:00
hecomi
08903cd27a fix orientation of monitor object in Zoom scene. 2018-09-12 00:03:36 +09:00
hecomi
d840983829 update Unity version to 2018.2.7f1. 2018-09-12 00:03:01 +09:00
hecomi
8a6cee9c2d Merge pull request #24 from dj-kusuha/fix_il2cpp_runtime_error
fixed a runtime error when using the IL2CPP scripting backend
2018-09-11 21:36:08 +09:00
dj-kusuha
f7798f752f fixed a runtime error when using the IL2CPP scripting backend 2018-09-11 11:27:43 +09:00
32 changed files with 976 additions and 426 deletions

View File

@@ -0,0 +1,420 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!29 &1
OcclusionCullingSettings:
m_ObjectHideFlags: 0
serializedVersion: 2
m_OcclusionBakeSettings:
smallestOccluder: 5
smallestHole: 0.25
backfaceThreshold: 100
m_SceneGUID: 00000000000000000000000000000000
m_OcclusionCullingData: {fileID: 0}
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
m_FogDensity: 0.01
m_LinearFogStart: 0
m_LinearFogEnd: 300
m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
m_AmbientIntensity: 1
m_AmbientMode: 0
m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
m_HaloStrength: 0.5
m_FlareStrength: 1
m_FlareFadeSpeed: 3
m_HaloTexture: {fileID: 0}
m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
m_DefaultReflectionMode: 0
m_DefaultReflectionResolution: 128
m_ReflectionBounces: 1
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
serializedVersion: 11
m_GIWorkflowMode: 0
m_GISettings:
serializedVersion: 2
m_BounceScale: 1
m_IndirectOutputScale: 1
m_AlbedoBoost: 1
m_TemporalCoherenceThreshold: 1
m_EnvironmentLightingMode: 0
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 1
m_LightmapEditorSettings:
serializedVersion: 10
m_Resolution: 2
m_BakeResolution: 40
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
m_CompAOExponentDirect: 0
m_Padding: 2
m_LightmapParameters: {fileID: 0}
m_LightmapsBakeMode: 1
m_TextureCompression: 1
m_FinalGather: 0
m_FinalGatherFiltering: 1
m_FinalGatherRayCount: 256
m_ReflectionCompression: 2
m_MixedBakeMode: 2
m_BakeBackend: 1
m_PVRSampling: 1
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringMode: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ShowResolutionOverlay: 1
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 1
--- !u!196 &4
NavMeshSettings:
serializedVersion: 2
m_ObjectHideFlags: 0
m_BuildSettings:
serializedVersion: 2
agentTypeID: 0
agentRadius: 0.5
agentHeight: 2
agentSlope: 45
agentClimb: 0.4
ledgeDropHeight: 0
maxJumpAcrossDistance: 0
minRegionArea: 2
manualCellSize: 0
cellSize: 0.16666667
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &15787040
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 15787043}
- component: {fileID: 15787042}
- component: {fileID: 15787041}
m_Layer: 0
m_Name: Main Camera
m_TagString: MainCamera
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!81 &15787041
AudioListener:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 15787040}
m_Enabled: 1
--- !u!20 &15787042
Camera:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 15787040}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
y: 0
width: 1
height: 1
near clip plane: 0.3
far clip plane: 1000
field of view: 60
orthographic: 0
orthographic size: 5
m_Depth: -1
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_RenderingPath: -1
m_TargetTexture: {fileID: 0}
m_TargetDisplay: 0
m_TargetEye: 3
m_HDR: 1
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
--- !u!4 &15787043
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 15787040}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 1, z: -10}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &24328793 stripped
MonoBehaviour:
m_CorrespondingSourceObject: {fileID: 114000012274256594, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 930860461}
m_Script: {fileID: 11500000, guid: bb54a34570e4747429b1c5b66c69d356, type: 3}
--- !u!1001 &86016649
Prefab:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalPosition.x
value: 5
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalPosition.z
value: 10
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_RootOrder
value: 3
objectReference: {fileID: 0}
- target: {fileID: 114000012274256594, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
propertyPath: invertX_
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114000012274256594, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
propertyPath: useClip_
value: 0
objectReference: {fileID: 0}
- target: {fileID: 23000011974915108, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: c181d333a7bee7a44b94c0f4e02c4bd4, type: 2}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalScale.x
value: 0.96
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalScale.y
value: 0.54
objectReference: {fileID: 0}
- target: {fileID: 1000012642892690, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_Name
value: Monitor Board Dst
objectReference: {fileID: 0}
m_RemovedComponents:
- {fileID: 114000012274256594, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
m_SourcePrefab: {fileID: 100100000, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
m_IsPrefabAsset: 0
--- !u!1 &423308485
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 423308487}
- component: {fileID: 423308486}
m_Layer: 0
m_Name: Directional Light
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!108 &423308486
Light:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 423308485}
m_Enabled: 1
serializedVersion: 8
m_Type: 1
m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1}
m_Intensity: 1
m_Range: 10
m_SpotAngle: 30
m_CookieSize: 10
m_Shadows:
m_Type: 2
m_Resolution: -1
m_CustomResolution: -1
m_Strength: 1
m_Bias: 0.05
m_NormalBias: 0.4
m_NearPlane: 0.2
m_Cookie: {fileID: 0}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0
m_CullingMask:
serializedVersion: 2
m_Bits: 4294967295
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_ShadowRadius: 0
m_ShadowAngle: 0
--- !u!4 &423308487
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 423308485}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
m_LocalPosition: {x: 0, y: 3, z: 0}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1001 &930860461
Prefab:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalPosition.x
value: -5
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalPosition.z
value: 10
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalRotation.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalRotation.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_RootOrder
value: 2
objectReference: {fileID: 0}
- target: {fileID: 114000012274256594, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
propertyPath: invertX_
value: 0
objectReference: {fileID: 0}
- target: {fileID: 114000012274256594, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
propertyPath: useClip_
value: 0
objectReference: {fileID: 0}
- target: {fileID: 23000011974915108, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: c181d333a7bee7a44b94c0f4e02c4bd4, type: 2}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalScale.x
value: 0.96
objectReference: {fileID: 0}
- target: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_LocalScale.y
value: 0.54
objectReference: {fileID: 0}
- target: {fileID: 1000012642892690, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
propertyPath: m_Name
value: Monitor Board Src
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
m_IsPrefabAsset: 0
--- !u!1 &1159532891 stripped
GameObject:
m_CorrespondingSourceObject: {fileID: 1000012642892690, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 86016649}
--- !u!114 &1159532892
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1159532891}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 2bbc456c8248acd46976392616f32f8c, type: 3}
m_Name:
m_EditorClassIdentifier:
uddTexture: {fileID: 24328793}

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 36c8d626679d64b46b75b9f1a2923647
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -13,7 +13,7 @@ OcclusionCullingSettings:
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 8
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
@@ -38,7 +38,8 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
@@ -54,11 +55,10 @@ LightmapSettings:
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 1
m_LightmapEditorSettings:
serializedVersion: 9
serializedVersion: 10
m_Resolution: 2
m_BakeResolution: 40
m_TextureWidth: 1024
m_TextureHeight: 1024
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
@@ -77,15 +77,18 @@ LightmapSettings:
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVRFiltering: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringMode: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousColorSigma: 1
m_PVRFilteringAtrousNormalSigma: 1
m_PVRFilteringAtrousPositionSigma: 1
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ShowResolutionOverlay: 1
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 0
--- !u!196 &4
@@ -107,13 +110,15 @@ NavMeshSettings:
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &129126780
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 129126782}
- component: {fileID: 129126781}
@@ -127,7 +132,7 @@ GameObject:
--- !u!108 &129126781
Light:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 129126780}
m_Enabled: 1
@@ -154,22 +159,9 @@ Light:
serializedVersion: 2
m_Bits: 4294967295
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_FalloffTable:
m_Table[0]: 0
m_Table[1]: 0
m_Table[2]: 0
m_Table[3]: 0
m_Table[4]: 0
m_Table[5]: 0
m_Table[6]: 0
m_Table[7]: 0
m_Table[8]: 0
m_Table[9]: 0
m_Table[10]: 0
m_Table[11]: 0
m_Table[12]: 0
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_ShadowRadius: 0
@@ -177,7 +169,7 @@ Light:
--- !u!4 &129126782
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 129126780}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}
@@ -187,80 +179,6 @@ Transform:
m_Father: {fileID: 0}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0}
--- !u!1 &913398332
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 1000012642892690, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 940835900}
serializedVersion: 5
m_Component:
- component: {fileID: 913398335}
- component: {fileID: 913398334}
- component: {fileID: 913398333}
- component: {fileID: 1426812830}
m_Layer: 0
m_Name: Monitor Board
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!23 &913398333
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 23000011974915108, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 940835900}
m_GameObject: {fileID: 913398332}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: c181d333a7bee7a44b94c0f4e02c4bd4, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &913398334
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 33000012841683532, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 940835900}
m_GameObject: {fileID: 913398332}
m_Mesh: {fileID: 4300002, guid: d6b30b913257fee4d8246bf7a2620fcd, type: 3}
--- !u!4 &913398335
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 940835900}
m_GameObject: {fileID: 913398332}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 10}
m_LocalScale: {x: 1.92, y: 1.08, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 2
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1001 &940835900
Prefab:
m_ObjectHideFlags: 0
@@ -301,15 +219,14 @@ Prefab:
value: 2
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
m_RootGameObject: {fileID: 913398332}
m_IsPrefabParent: 0
m_SourcePrefab: {fileID: 100100000, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
m_IsPrefabAsset: 0
--- !u!1 &1324913475
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 1324913479}
- component: {fileID: 1324913478}
@@ -326,15 +243,17 @@ GameObject:
--- !u!23 &1324913476
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1324913475}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 10754, guid: 0000000000000000f000000000000000, type: 0}
m_StaticBatchInfo:
@@ -347,6 +266,7 @@ MeshRenderer:
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
@@ -358,28 +278,28 @@ MeshRenderer:
--- !u!64 &1324913477
MeshCollider:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1324913475}
m_Material: {fileID: 0}
m_IsTrigger: 0
m_Enabled: 1
serializedVersion: 2
serializedVersion: 3
m_Convex: 0
m_InflateMesh: 0
m_CookingOptions: 14
m_SkinWidth: 0.01
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!33 &1324913478
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1324913475}
m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0}
--- !u!4 &1324913479
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1324913475}
m_LocalRotation: {x: 0, y: -0.7071068, z: 0.7071068, w: 0}
@@ -392,7 +312,7 @@ Transform:
--- !u!114 &1324913480
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1324913475}
m_Enabled: 1
@@ -403,30 +323,21 @@ MonoBehaviour:
uddTexture: {fileID: 1426812830}
x: 100
y: 100
w: 32
h: 64
texture: {fileID: 0}
--- !u!114 &1426812830
--- !u!114 &1426812830 stripped
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 114000012274256594, guid: de6f36e446e5e8a48bf61fe198985bb4,
m_CorrespondingSourceObject: {fileID: 114000012274256594, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 940835900}
m_GameObject: {fileID: 913398332}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bb54a34570e4747429b1c5b66c69d356, type: 3}
m_Name:
m_EditorClassIdentifier:
invertX_: 0
invertY_: 0
useClip_: 0
clipPos: {x: 0, y: 0}
clipScale: {x: 0.2, y: 0.2}
--- !u!1 &1446288312
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 1446288317}
- component: {fileID: 1446288316}
@@ -443,34 +354,38 @@ GameObject:
--- !u!81 &1446288313
AudioListener:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1446288312}
m_Enabled: 1
--- !u!124 &1446288314
Behaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1446288312}
m_Enabled: 1
--- !u!92 &1446288315
Behaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1446288312}
m_Enabled: 1
--- !u!20 &1446288316
Camera:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1446288312}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0}
m_projectionMatrixMode: 1
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
@@ -492,15 +407,15 @@ Camera:
m_TargetEye: 3
m_HDR: 0
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
m_StereoMirrorMode: 0
--- !u!4 &1446288317
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1446288312}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}

View File

@@ -13,7 +13,7 @@ OcclusionCullingSettings:
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 8
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
@@ -38,7 +38,8 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
@@ -54,11 +55,10 @@ LightmapSettings:
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 1
m_LightmapEditorSettings:
serializedVersion: 9
serializedVersion: 10
m_Resolution: 2
m_BakeResolution: 40
m_TextureWidth: 1024
m_TextureHeight: 1024
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 0
@@ -77,15 +77,18 @@ LightmapSettings:
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVRFiltering: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringMode: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousColorSigma: 1
m_PVRFilteringAtrousNormalSigma: 1
m_PVRFilteringAtrousPositionSigma: 1
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ShowResolutionOverlay: 1
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 0
--- !u!196 &4
@@ -107,13 +110,15 @@ NavMeshSettings:
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1 &79264388
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 79264393}
- component: {fileID: 79264392}
@@ -130,34 +135,38 @@ GameObject:
--- !u!81 &79264389
AudioListener:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 79264388}
m_Enabled: 1
--- !u!124 &79264390
Behaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 79264388}
m_Enabled: 1
--- !u!92 &79264391
Behaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 79264388}
m_Enabled: 1
--- !u!20 &79264392
Camera:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 79264388}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844}
m_projectionMatrixMode: 1
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
@@ -179,15 +188,15 @@ Camera:
m_TargetEye: 3
m_HDR: 0
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
m_StereoMirrorMode: 0
--- !u!4 &79264393
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 79264388}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
@@ -200,9 +209,9 @@ Transform:
--- !u!1 &400296148
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 400296150}
- component: {fileID: 400296149}
@@ -218,7 +227,7 @@ GameObject:
--- !u!114 &400296149
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 400296148}
m_Enabled: 1
@@ -237,7 +246,7 @@ MonoBehaviour:
--- !u!4 &400296150
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 400296148}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
@@ -250,7 +259,7 @@ Transform:
--- !u!114 &400296151
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 400296148}
m_Enabled: 1
@@ -267,7 +276,7 @@ MonoBehaviour:
--- !u!114 &400296152
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 400296148}
m_Enabled: 0
@@ -288,9 +297,9 @@ MonoBehaviour:
--- !u!1 &1070915829
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 1070915830}
m_Layer: 0
@@ -303,7 +312,7 @@ GameObject:
--- !u!4 &1070915830
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1070915829}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
@@ -316,14 +325,14 @@ Transform:
--- !u!1 &1470035821
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 1470035823}
- component: {fileID: 1470035822}
m_Layer: 0
m_Name: Ray Tester
m_Name: Ray
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
@@ -332,7 +341,7 @@ GameObject:
--- !u!114 &1470035822
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1470035821}
m_Enabled: 1
@@ -345,7 +354,7 @@ MonoBehaviour:
--- !u!4 &1470035823
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1470035821}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
@@ -360,9 +369,9 @@ Transform:
--- !u!1 &1738296145
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 1738296147}
- component: {fileID: 1738296146}
@@ -376,7 +385,7 @@ GameObject:
--- !u!108 &1738296146
Light:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1738296145}
m_Enabled: 1
@@ -403,22 +412,9 @@ Light:
serializedVersion: 2
m_Bits: 4294967295
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_FalloffTable:
m_Table[0]: 0
m_Table[1]: 0
m_Table[2]: 0
m_Table[3]: 0
m_Table[4]: 0
m_Table[5]: 0
m_Table[6]: 0
m_Table[7]: 0
m_Table[8]: 0
m_Table[9]: 0
m_Table[10]: 0
m_Table[11]: 0
m_Table[12]: 0
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_ShadowRadius: 0
@@ -426,7 +422,7 @@ Light:
--- !u!4 &1738296147
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1738296145}
m_LocalRotation: {x: 0.40821794, y: -0.23456973, z: 0.109381676, w: 0.87542605}
@@ -439,9 +435,9 @@ Transform:
--- !u!1 &1976533530
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 1976533531}
m_Layer: 0
@@ -454,7 +450,7 @@ GameObject:
--- !u!4 &1976533531
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1976533530}
m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}

View File

@@ -13,7 +13,7 @@ OcclusionCullingSettings:
--- !u!104 &2
RenderSettings:
m_ObjectHideFlags: 0
serializedVersion: 8
serializedVersion: 9
m_Fog: 0
m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
m_FogMode: 3
@@ -38,7 +38,8 @@ RenderSettings:
m_ReflectionIntensity: 1
m_CustomReflection: {fileID: 0}
m_Sun: {fileID: 0}
m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1}
m_IndirectSpecularColor: {r: 0.18028378, g: 0.22571412, b: 0.30692285, a: 1}
m_UseRadianceAmbientProbe: 0
--- !u!157 &3
LightmapSettings:
m_ObjectHideFlags: 0
@@ -54,11 +55,10 @@ LightmapSettings:
m_EnableBakedLightmaps: 1
m_EnableRealtimeLightmaps: 1
m_LightmapEditorSettings:
serializedVersion: 9
serializedVersion: 10
m_Resolution: 2
m_BakeResolution: 40
m_TextureWidth: 1024
m_TextureHeight: 1024
m_AtlasSize: 1024
m_AO: 0
m_AOMaxDistance: 1
m_CompAOExponent: 1
@@ -77,15 +77,18 @@ LightmapSettings:
m_PVRDirectSampleCount: 32
m_PVRSampleCount: 500
m_PVRBounces: 2
m_PVRFiltering: 0
m_PVRFilterTypeDirect: 0
m_PVRFilterTypeIndirect: 0
m_PVRFilterTypeAO: 0
m_PVRFilteringMode: 1
m_PVRCulling: 1
m_PVRFilteringGaussRadiusDirect: 1
m_PVRFilteringGaussRadiusIndirect: 5
m_PVRFilteringGaussRadiusAO: 2
m_PVRFilteringAtrousColorSigma: 1
m_PVRFilteringAtrousNormalSigma: 1
m_PVRFilteringAtrousPositionSigma: 1
m_PVRFilteringAtrousPositionSigmaDirect: 0.5
m_PVRFilteringAtrousPositionSigmaIndirect: 2
m_PVRFilteringAtrousPositionSigmaAO: 1
m_ShowResolutionOverlay: 1
m_LightingDataAsset: {fileID: 0}
m_UseShadowmask: 0
--- !u!196 &4
@@ -107,6 +110,8 @@ NavMeshSettings:
manualTileSize: 0
tileSize: 256
accuratePlacement: 0
debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!1001 &10684088
Prefab:
@@ -173,33 +178,17 @@ Prefab:
value: 0
objectReference: {fileID: 0}
m_RemovedComponents: []
m_ParentPrefab: {fileID: 100100000, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
m_RootGameObject: {fileID: 106183784}
m_IsPrefabParent: 0
--- !u!1 &106183784
m_SourcePrefab: {fileID: 100100000, guid: de6f36e446e5e8a48bf61fe198985bb4, type: 2}
m_IsPrefabAsset: 0
--- !u!1 &106183784 stripped
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 1000012642892690, guid: de6f36e446e5e8a48bf61fe198985bb4,
m_CorrespondingSourceObject: {fileID: 1000012642892690, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 10684088}
serializedVersion: 5
m_Component:
- component: {fileID: 106183789}
- component: {fileID: 106183788}
- component: {fileID: 106183787}
- component: {fileID: 106183786}
- component: {fileID: 106183785}
m_Layer: 0
m_Name: Loupe
m_TagString: Untagged
m_Icon: {fileID: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!114 &106183785
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 106183784}
m_Enabled: 1
@@ -209,84 +198,12 @@ MonoBehaviour:
m_EditorClassIdentifier:
zoom: 10
aspect: 1
--- !u!114 &106183786
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 114000012274256594, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 10684088}
m_GameObject: {fileID: 106183784}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: bb54a34570e4747429b1c5b66c69d356, type: 3}
m_Name:
m_EditorClassIdentifier:
invertX_: 0
invertY_: 0
useClip_: 0
clipPos: {x: 0, y: 0}
clipScale: {x: 0.2, y: 0.2}
--- !u!23 &106183787
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 23000011974915108, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 10684088}
m_GameObject: {fileID: 106183784}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_Materials:
- {fileID: 2100000, guid: c181d333a7bee7a44b94c0f4e02c4bd4, type: 2}
m_StaticBatchInfo:
firstSubMesh: 0
subMeshCount: 0
m_StaticBatchRoot: {fileID: 0}
m_ProbeAnchor: {fileID: 0}
m_LightProbeVolumeOverride: {fileID: 0}
m_ScaleInLightmap: 1
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
m_AutoUVMaxAngle: 89
m_LightmapParameters: {fileID: 0}
m_SortingLayerID: 0
m_SortingLayer: 0
m_SortingOrder: 0
--- !u!33 &106183788
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 33000012841683532, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 10684088}
m_GameObject: {fileID: 106183784}
m_Mesh: {fileID: 4300002, guid: d6b30b913257fee4d8246bf7a2620fcd, type: 3}
--- !u!4 &106183789
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 10684088}
m_GameObject: {fileID: 106183784}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 7.1, y: -2.91, z: 9.52}
m_LocalScale: {x: 0.5, y: 0.5, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 4
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &691659230
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 691659233}
- component: {fileID: 691659232}
@@ -302,7 +219,7 @@ GameObject:
TextMesh:
serializedVersion: 3
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 691659230}
m_Text: 'Tab: Next Screen Shift + Tab: Previous Screen'
@@ -322,15 +239,17 @@ TextMesh:
--- !u!23 &691659232
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 691659230}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 10100, guid: 0000000000000000e000000000000000, type: 0}
m_StaticBatchInfo:
@@ -343,6 +262,7 @@ MeshRenderer:
m_PreserveUVs: 0
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
@@ -354,7 +274,7 @@ MeshRenderer:
--- !u!4 &691659233
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 691659230}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
@@ -367,10 +287,10 @@ Transform:
--- !u!1 &813882971
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 1000012642892690, guid: de6f36e446e5e8a48bf61fe198985bb4,
m_CorrespondingSourceObject: {fileID: 1000012642892690, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 813882978}
- component: {fileID: 813882977}
@@ -387,7 +307,7 @@ GameObject:
--- !u!114 &813882972
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 813882971}
m_Enabled: 1
@@ -398,7 +318,7 @@ MonoBehaviour:
--- !u!114 &813882974
MonoBehaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 114000012274256594, guid: de6f36e446e5e8a48bf61fe198985bb4,
m_CorrespondingSourceObject: {fileID: 114000012274256594, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 813882971}
@@ -415,16 +335,18 @@ MonoBehaviour:
--- !u!23 &813882975
MeshRenderer:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 23000011974915108, guid: de6f36e446e5e8a48bf61fe198985bb4,
m_CorrespondingSourceObject: {fileID: 23000011974915108, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 813882971}
m_Enabled: 1
m_CastShadows: 1
m_ReceiveShadows: 1
m_DynamicOccludee: 1
m_MotionVectors: 1
m_LightProbeUsage: 1
m_ReflectionProbeUsage: 1
m_RenderingLayerMask: 4294967295
m_Materials:
- {fileID: 2100000, guid: c181d333a7bee7a44b94c0f4e02c4bd4, type: 2}
m_StaticBatchInfo:
@@ -437,6 +359,7 @@ MeshRenderer:
m_PreserveUVs: 1
m_IgnoreNormalsForChartDetection: 0
m_ImportantGI: 0
m_StitchLightmapSeams: 0
m_SelectedEditorRenderState: 3
m_MinimumChartSize: 4
m_AutoUVMaxDistance: 0.5
@@ -448,7 +371,7 @@ MeshRenderer:
--- !u!33 &813882977
MeshFilter:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 33000012841683532, guid: de6f36e446e5e8a48bf61fe198985bb4,
m_CorrespondingSourceObject: {fileID: 33000012841683532, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 813882971}
@@ -456,23 +379,23 @@ MeshFilter:
--- !u!4 &813882978
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4,
m_CorrespondingSourceObject: {fileID: 4000011474108562, guid: de6f36e446e5e8a48bf61fe198985bb4,
type: 2}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 813882971}
m_LocalRotation: {x: 0, y: 1, z: 0, w: 0}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
m_LocalPosition: {x: 0, y: 0, z: 10}
m_LocalScale: {x: 1.92, y: 1.08, z: 1}
m_Children: []
m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 180, z: 0}
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!1 &1874811380
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 1874811385}
- component: {fileID: 1874811384}
@@ -489,34 +412,38 @@ GameObject:
--- !u!81 &1874811381
AudioListener:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1874811380}
m_Enabled: 1
--- !u!124 &1874811382
Behaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1874811380}
m_Enabled: 1
--- !u!92 &1874811383
Behaviour:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1874811380}
m_Enabled: 1
--- !u!20 &1874811384
Camera:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1874811380}
m_Enabled: 1
serializedVersion: 2
m_ClearFlags: 1
m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0.019607844}
m_projectionMatrixMode: 1
m_SensorSize: {x: 36, y: 24}
m_LensShift: {x: 0, y: 0}
m_FocalLength: 50
m_NormalizedViewPortRect:
serializedVersion: 2
x: 0
@@ -538,15 +465,15 @@ Camera:
m_TargetEye: 3
m_HDR: 0
m_AllowMSAA: 1
m_AllowDynamicResolution: 0
m_ForceIntoRT: 0
m_OcclusionCulling: 1
m_StereoConvergence: 10
m_StereoSeparation: 0.022
m_StereoMirrorMode: 0
--- !u!4 &1874811385
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1874811380}
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
@@ -559,9 +486,9 @@ Transform:
--- !u!1 &1895115489
GameObject:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
serializedVersion: 5
serializedVersion: 6
m_Component:
- component: {fileID: 1895115491}
- component: {fileID: 1895115490}
@@ -575,7 +502,7 @@ GameObject:
--- !u!108 &1895115490
Light:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1895115489}
m_Enabled: 1
@@ -602,22 +529,9 @@ Light:
serializedVersion: 2
m_Bits: 4294967295
m_Lightmapping: 4
m_LightShadowCasterMode: 0
m_AreaSize: {x: 1, y: 1}
m_BounceIntensity: 1
m_FalloffTable:
m_Table[0]: 0
m_Table[1]: 0
m_Table[2]: 0
m_Table[3]: 0
m_Table[4]: 0
m_Table[5]: 0
m_Table[6]: 0
m_Table[7]: 0
m_Table[8]: 0
m_Table[9]: 0
m_Table[10]: 0
m_Table[11]: 0
m_Table[12]: 0
m_ColorTemperature: 6570
m_UseColorTemperature: 0
m_ShadowRadius: 0
@@ -625,7 +539,7 @@ Light:
--- !u!4 &1895115491
Transform:
m_ObjectHideFlags: 0
m_PrefabParentObject: {fileID: 0}
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInternal: {fileID: 0}
m_GameObject: {fileID: 1895115489}
m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261}

View File

@@ -0,0 +1,72 @@
using UnityEngine;
using System;
using System.Runtime.InteropServices;
public class BufferExample : MonoBehaviour
{
[SerializeField]
uDesktopDuplication.Texture uddTexture;
Texture2D texture_;
Color32[] pixels_;
GCHandle handle_;
IntPtr ptr_ = IntPtr.Zero;
[DllImport("msvcrt.dll", CallingConvention = CallingConvention.Cdecl, SetLastError = false)]
public static extern IntPtr memcpy(IntPtr dest, IntPtr src, int count);
void Start()
{
if (!uddTexture) return;
uddTexture.monitor.useGetPixels = true;
UpdateTexture();
}
void OnDestroy()
{
if (ptr_ != IntPtr.Zero) {
handle_.Free();
}
}
void Update()
{
if (!uddTexture) return;
if (uddTexture.monitor.width != texture_.width ||
uddTexture.monitor.height != texture_.height) {
UpdateTexture();
}
CopyTexture();
}
void UpdateTexture()
{
var width = uddTexture.monitor.width;
var height = uddTexture.monitor.height;
// TextureFormat.BGRA32 should be set but it causes an error now.
texture_ = new Texture2D(width, height, TextureFormat.RGBA32, false);
texture_.filterMode = FilterMode.Bilinear;
pixels_ = texture_.GetPixels32();
handle_ = GCHandle.Alloc(pixels_, GCHandleType.Pinned);
ptr_ = handle_.AddrOfPinnedObject();
GetComponent<Renderer>().material.mainTexture = texture_;
}
void CopyTexture()
{
var buffer = uddTexture.monitor.buffer;
if (buffer == IntPtr.Zero) return;
var width = uddTexture.monitor.width;
var height = uddTexture.monitor.height;
memcpy(ptr_, buffer, width * height * sizeof(Byte) * 4);
texture_.SetPixels32(pixels_);
texture_.Apply();
}
}

View File

@@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 2bbc456c8248acd46976392616f32f8c
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -6,27 +6,38 @@ public class GetPixelsExample : MonoBehaviour
[SerializeField] int x = 100;
[SerializeField] int y = 100;
const int width = 64;
const int height = 32;
[SerializeField] int w = 64;
[SerializeField] int h = 32;
public Texture2D texture;
Color32[] colors = new Color32[width * height];
Color32[] colors;
void CreateTextureIfNeeded()
{
if (!texture || texture.width != w || texture.height != h)
{
colors = new Color32[w * h];
texture = new Texture2D(w, h, TextureFormat.ARGB32, false);
GetComponent<Renderer>().material.mainTexture = texture;
}
}
void Start()
{
texture = new Texture2D(width, height, TextureFormat.ARGB32, false);
GetComponent<Renderer>().material.mainTexture = texture;
CreateTextureIfNeeded();
}
void Update()
{
CreateTextureIfNeeded();
// must be called (performance will be slightly down).
uDesktopDuplication.Manager.primary.useGetPixels = true;
var monitor = uddTexture.monitor;
if (!monitor.hasBeenUpdated) return;
if (monitor.GetPixels(colors, x, y, width, height)) {
if (monitor.GetPixels(colors, x, y, w, h)) {
texture.SetPixels32(colors);
texture.Apply();
}

View File

@@ -1,7 +1,6 @@
using UnityEngine;
using System.Collections;
public class RaycastTest : MonoBehaviour
public class RaycastExample : MonoBehaviour
{
public Transform from;
public Transform to;

View File

@@ -169,6 +169,8 @@ public static class Lib
[DllImport("uDesktopDuplication", EntryPoint = "GetPixels")]
private static extern bool GetPixels_Internal(int id, System.IntPtr ptr, int x, int y, int width, int height);
[DllImport("uDesktopDuplication")]
public static extern IntPtr GetBuffer(int id);
[DllImport("uDesktopDuplication")]
public static extern bool HasBeenUpdated(int id);
[DllImport("uDesktopDuplication")]
public static extern bool UseGetPixels(int id, bool use);

View File

@@ -62,8 +62,13 @@ public class Manager : MonoBehaviour
private float reinitializationTimer_ = 0f;
private bool isFirstFrame_ = true;
public static event Lib.DebugLogDelegate onDebugLog = msg => Debug.Log(msg);
public static event Lib.DebugLogDelegate onDebugErr = msg => Debug.LogError(msg);
public static event Lib.DebugLogDelegate onDebugLog = OnDebugLog;
public static event Lib.DebugLogDelegate onDebugErr = OnDebugErr;
[AOT.MonoPInvokeCallback(typeof(Lib.DebugLogDelegate))]
private static void OnDebugLog(string msg) { Debug.Log(msg); }
[AOT.MonoPInvokeCallback(typeof(Lib.DebugLogDelegate))]
private static void OnDebugErr(string msg) { Debug.LogError(msg); }
public delegate void ReinitializeHandler();
public static event ReinitializeHandler onReinitialized;

View File

@@ -238,6 +238,11 @@ public class Monitor
get { return Lib.GetDirtyRects(id); }
}
public System.IntPtr buffer
{
get { return Lib.GetBuffer(id); }
}
public bool hasBeenUpdated
{
get { return Lib.HasBeenUpdated(id); }

View File

@@ -240,6 +240,13 @@ public class Texture : MonoBehaviour
}
}
int clipPositionScaleKey_;
void Awake()
{
clipPositionScaleKey_ = Shader.PropertyToID("_ClipPositionScale");
}
void OnEnable()
{
if (monitor == null) {
@@ -271,8 +278,7 @@ public class Texture : MonoBehaviour
void RequireUpdate()
{
if (monitor != null)
{
if (monitor != null) {
monitor.shouldBeUpdated = true;
}
}
@@ -283,7 +289,6 @@ public class Texture : MonoBehaviour
monitor = Manager.GetMonitor(lastMonitorId_);
}
int clipPositionScaleKey_ = Shader.PropertyToID("_ClipPositionScale");
void UpdateMaterial()
{
width = transform.localScale.x;
@@ -409,6 +414,19 @@ public class Texture : MonoBehaviour
// Calculate coordinates.
var coordX = toAngle / halfWidthAngle * 0.5f;
var coordY = ly / halfHeight * 0.5f;
// Zoom
if (useClip) {
coordX = clipPos.x + (0.5f + coordX) * clipScale.x;
coordX -= Mathf.Floor(coordX);
coordX -= 0.5f;
coordY = (1f - clipPos.y) + (coordY - 0.5f) * clipScale.y;
coordY -= Mathf.Floor(coordY);
coordY -= 0.5f;
}
// Desktop position
int desktopX = monitor.left + (int)((coordX + 0.5f) * monitor.width);
int desktopY = monitor.top + (int)((0.5f - coordY) * monitor.height);

View File

@@ -0,0 +1,34 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "uDesktopDuplication", "uDesktopDuplication\uDesktopDuplication.vcxproj", "{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Win32 = Release|Win32
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}.Debug|Win32.ActiveCfg = Debug|Win32
{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}.Debug|Win32.Build.0 = Debug|Win32
{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}.Debug|x64.ActiveCfg = Debug|x64
{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}.Debug|x64.Build.0 = Debug|x64
{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}.Debug|x86.ActiveCfg = Debug|Win32
{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}.Debug|x86.Build.0 = Debug|Win32
{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}.Release|Win32.ActiveCfg = Release|Win32
{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}.Release|Win32.Build.0 = Release|Win32
{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}.Release|x64.ActiveCfg = Release|x64
{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}.Release|x64.Build.0 = Release|x64
{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}.Release|x86.ActiveCfg = Release|Win32
{BC5DE2F9-BDCC-4449-A017-E5642E04BB56}.Release|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@@ -17,6 +17,29 @@ extern std::unique_ptr<MonitorManager> g_manager;
extern std::queue<Message> g_messages;
void OutputWindowsInformation()
{
const auto hModule = ::LoadLibrary(TEXT("ntdll.dll"));
if (!hModule) return;
ScopedReleaser freeModule([&] { ::FreeLibrary(hModule); });
if (const auto address = ::GetProcAddress(hModule, "RtlGetVersion"))
{
using RtlGetVersionType = NTSTATUS(WINAPI *)(OSVERSIONINFOEXW*);
const auto RtlGetVersion = reinterpret_cast<RtlGetVersionType>(address);
OSVERSIONINFOEXW os = { sizeof(os) };
if (!FAILED(RtlGetVersion(&os)))
{
Debug::Log("OS Version : ", os.dwMajorVersion, ".", os.dwMinorVersion);
Debug::Log("Build Number : ", os.dwBuildNumber);
Debug::Log("Service Pack : ", os.szCSDVersion);
}
}
}
IUnityInterfaces* GetUnity()
{
return g_unity;
@@ -37,7 +60,9 @@ const std::unique_ptr<MonitorManager>& GetMonitorManager()
LUID GetUnityAdapterLuid()
{
const auto device = GetUnity()->Get<IUnityGraphicsD3D11>()->GetDevice();
UDD_FUNCTION_SCOPE_TIMER
const auto device = GetDevice();
Microsoft::WRL::ComPtr<IDXGIDevice1> dxgiDevice;
if (FAILED(device->QueryInterface(IID_PPV_ARGS(&dxgiDevice)))){

View File

@@ -7,6 +7,9 @@
// Output windows version
void OutputWindowsInformation();
// Unity interface getter
struct IUnityInterfaces;
IUnityInterfaces* GetUnity();

View File

@@ -21,6 +21,8 @@ Cursor::~Cursor()
void Cursor::UpdateBuffer(Duplicator* duplicator, const DXGI_OUTDUPL_FRAME_INFO& frameInfo)
{
UDD_FUNCTION_SCOPE_TIMER
if (frameInfo.LastMouseUpdateTime.QuadPart == 0)
{
return;
@@ -66,6 +68,8 @@ void Cursor::UpdateTexture(
Duplicator* duplicator,
const ComPtr<ID3D11Texture2D>& desktopTexture)
{
UDD_FUNCTION_SCOPE_TIMER
auto monitor = duplicator->GetMonitor();
// Check desktop texure
@@ -369,6 +373,8 @@ void Cursor::UpdateTexture(
void Cursor::Draw(const Microsoft::WRL::ComPtr<ID3D11Texture2D>& texture)
{
UDD_FUNCTION_SCOPE_TIMER
if (texture == nullptr)
{
Debug::Error("Cursor::UpdateTexture() => Desktop texture is null.");
@@ -384,6 +390,8 @@ void Cursor::Draw(const Microsoft::WRL::ComPtr<ID3D11Texture2D>& texture)
void Cursor::GetTexture(ID3D11Texture2D* texture)
{
UDD_FUNCTION_SCOPE_TIMER
if (!bgraBuffer_)
{
Debug::Error("Cursor::GetTexture() => bgra32Buffer is null.");

View File

@@ -39,4 +39,18 @@ void Debug::Finalize()
}
Debug::SetLogFunc(nullptr);
Debug::SetErrorFunc(nullptr);
}
decltype(DebugFunctionScopedTimer::currentId) DebugFunctionScopedTimer::currentId = 0;
DebugFunctionScopedTimer::DebugFunctionScopedTimer(const char* name)
: ScopedTimer([this](std::chrono::microseconds us) {
Debug::Log("<< [", id_, "]", name_, " : ", us.count(), "[us]");
})
, name_(name)
, id_(currentId++)
{
Debug::Log(">> [", id_, "]", name_);
}

View File

@@ -10,7 +10,9 @@
// Debug flag
#ifdef _DEBUG
#define UDD_DEBUG_ON
#endif
// Logging
@@ -40,12 +42,24 @@ private:
};
template <class T>
static void Output(T&& arg)
static void Output(const T& arg)
{
if (mode_ == Mode::None) return;
if (ss_.good())
{
ss_ << std::forward<T>(arg);
ss_ << arg;
}
}
static void Output(const WCHAR* arg)
{
if (mode_ == Mode::None) return;
if (ss_.good())
{
char buf[256];
size_t size;
wcstombs_s(&size, buf, arg, 256);
ss_ << buf;
}
}
@@ -89,10 +103,10 @@ private:
}
template <class Arg, class... RestArgs>
static void _Log(Level level, Arg&& arg, RestArgs&&... restArgs)
static void _Log(Level level, const Arg& arg, const RestArgs&... restArgs)
{
Output(std::forward<Arg>(arg));
_Log(level, std::forward<RestArgs>(restArgs)...);
Output(arg);
_Log(level, restArgs...);
}
static void _Log(Level level)
@@ -144,16 +158,25 @@ private:
};
class DebugFunctionScopedTimer : public ScopedTimer
{
public:
explicit DebugFunctionScopedTimer(const char* name);
private:
static unsigned int currentId;
const char* const name_;
const unsigned int id_;
};
#ifdef UDD_DEBUG_ON
#define UDD_FUNCTION_SCOPE_TIMER \
ScopedTimer _timer_##__COUNTER__([](std::chrono::microseconds us) \
{ \
Debug::Log(__FUNCTION__, "@", __FILE__, ":", __LINE__, " => ", us.count(), " [us]"); \
});
DebugFunctionScopedTimer _timer_##__COUNTER__(__FUNCTION__);
#define UDD_SCOPE_TIMER(Name) \
ScopedTimer _timer_##__COUNTER__([](std::chrono::microseconds us) \
{ \
Debug::Log(#Name, " => ", us.count(), " [us]"); \
Debug::Log(#Name, " : ", us.count(), " [us]"); \
});
#else
#define UDD_FUNCTION_SCOPE_TIMER

View File

@@ -27,6 +27,8 @@ IsolatedD3D11Device::~IsolatedD3D11Device()
HRESULT IsolatedD3D11Device::Create(const ComPtr<IDXGIAdapter>& adapter)
{
UDD_FUNCTION_SCOPE_TIMER
const auto driverType = adapter ?
D3D_DRIVER_TYPE_UNKNOWN :
D3D_DRIVER_TYPE_HARDWARE;
@@ -68,6 +70,8 @@ ComPtr<ID3D11Device> IsolatedD3D11Device::GetDevice()
Microsoft::WRL::ComPtr<ID3D11Texture2D> IsolatedD3D11Device::GetCompatibleSharedTexture(
const ComPtr<ID3D11Texture2D>& src)
{
UDD_FUNCTION_SCOPE_TIMER
D3D11_TEXTURE2D_DESC srcDesc;
src->GetDesc(&srcDesc);

View File

@@ -33,6 +33,8 @@ Duplicator::~Duplicator()
void Duplicator::InitializeDevice()
{
UDD_FUNCTION_SCOPE_TIMER
device_ = std::make_shared<IsolatedD3D11Device>();
if (FAILED(device_->Create(monitor_->GetAdapter())))
@@ -45,6 +47,8 @@ void Duplicator::InitializeDevice()
void Duplicator::InitializeDuplication()
{
UDD_FUNCTION_SCOPE_TIMER
ComPtr<IDXGIOutput1> output1;
if (FAILED(monitor_->GetOutput().As(&output1)))
{
@@ -57,17 +61,7 @@ void Duplicator::InitializeDuplication()
case S_OK:
{
state_ = State::Ready;
const auto rot = static_cast<DXGI_MODE_ROTATION>(monitor_->GetRotation());
Debug::Log("Duplicator::Initialize() => OK.");
Debug::Log(" ID : ", monitor_->GetId());
Debug::Log(" Size : (", monitor_->GetWidth(), ", ", monitor_->GetHeight(), ")");
Debug::Log(" DPI : (", monitor_->GetDpiX(), ", ", monitor_->GetDpiY(), ")");
Debug::Log(" Rot : ",
rot == DXGI_MODE_ROTATION_IDENTITY ? "Landscape" :
rot == DXGI_MODE_ROTATION_ROTATE90 ? "Portrait" :
rot == DXGI_MODE_ROTATION_ROTATE180 ? "Landscape (flipped)" :
rot == DXGI_MODE_ROTATION_ROTATE270 ? "Portrait (flipped)" :
"Unspecified");
break;
}
case E_INVALIDARG:
@@ -117,6 +111,8 @@ void Duplicator::InitializeDuplication()
void Duplicator::CheckUnityAdapter()
{
UDD_FUNCTION_SCOPE_TIMER
DXGI_ADAPTER_DESC desc;
monitor_->GetAdapter()->GetDesc(&desc);
@@ -135,6 +131,8 @@ void Duplicator::CheckUnityAdapter()
void Duplicator::Start()
{
UDD_FUNCTION_SCOPE_TIMER
if (state_ != State::Ready) return;
Stop();
@@ -180,6 +178,8 @@ void Duplicator::Start()
void Duplicator::Stop()
{
UDD_FUNCTION_SCOPE_TIMER
shouldRun_ = false;
if (thread_.joinable())
@@ -236,6 +236,8 @@ const Duplicator::Frame& Duplicator::GetLastFrame() const
void Duplicator::Duplicate(UINT timeout)
{
UDD_FUNCTION_SCOPE_TIMER
if (!dupl_ || !device_) return;
Release();
@@ -322,6 +324,8 @@ void Duplicator::Duplicate(UINT timeout)
void Duplicator::Release()
{
UDD_FUNCTION_SCOPE_TIMER
if (!isFrameAcquired_) return;
const auto hr = dupl_->ReleaseFrame();
@@ -357,6 +361,8 @@ void Duplicator::UpdateCursor(
const ComPtr<ID3D11Texture2D>& texture,
const DXGI_OUTDUPL_FRAME_INFO& frameInfo)
{
UDD_FUNCTION_SCOPE_TIMER
auto& manager = GetMonitorManager();
if (frameInfo.PointerPosition.Visible)
@@ -375,6 +381,8 @@ void Duplicator::UpdateCursor(
void Duplicator::UpdateMetadata(UINT totalBufferSize)
{
UDD_FUNCTION_SCOPE_TIMER
metaData_.buffer.ExpandIfNeeded(totalBufferSize);
if (!metaData_.buffer.Empty())
{
@@ -386,6 +394,8 @@ void Duplicator::UpdateMetadata(UINT totalBufferSize)
void Duplicator::UpdateMoveRects()
{
UDD_FUNCTION_SCOPE_TIMER
const auto hr = dupl_->GetFrameMoveRects(
metaData_.buffer.Size(),
metaData_.buffer.As<DXGI_OUTDUPL_MOVE_RECT>(),
@@ -428,6 +438,8 @@ void Duplicator::UpdateMoveRects()
void Duplicator::UpdateDirtyRects()
{
UDD_FUNCTION_SCOPE_TIMER
const auto hr = dupl_->GetFrameDirtyRects(
metaData_.buffer.Size() - metaData_.moveRectSize,
metaData_.buffer.As<RECT>(metaData_.moveRectSize /* offset */),

View File

@@ -77,7 +77,7 @@ private:
void UpdateMoveRects();
void UpdateDirtyRects();
Monitor* monitor_ = nullptr;
Monitor* const monitor_ = nullptr;
std::atomic<State> state_ = State::Ready;
std::shared_ptr<class IsolatedD3D11Device> device_;

View File

@@ -21,7 +21,6 @@ Monitor::Monitor(int id)
Monitor::~Monitor()
{
duplicator_->Stop();
}
@@ -30,6 +29,8 @@ void Monitor::Initialize(
const ComPtr<IDXGIOutput> &output
)
{
UDD_FUNCTION_SCOPE_TIMER
adapter_ = adapter;
output_ = output;
@@ -58,18 +59,34 @@ void Monitor::Initialize(
// DPI is set as -1, so the application has to use the appropriate value.
}
const auto rot = outputDesc_.Rotation;
Debug::Log("Monitor::Initialized() =>");
Debug::Log(" ID : ", id_);
Debug::Log(" Size : (", width_, ", ", height_, ")");
Debug::Log(" DPI : (", dpiX_, ", ", dpiY_, ")");
Debug::Log(" Rot : ",
rot == DXGI_MODE_ROTATION_IDENTITY ? "Landscape" :
rot == DXGI_MODE_ROTATION_ROTATE90 ? "Portrait" :
rot == DXGI_MODE_ROTATION_ROTATE180 ? "Landscape (flipped)" :
rot == DXGI_MODE_ROTATION_ROTATE270 ? "Portrait (flipped)" :
"Unspecified");
duplicator_ = std::make_shared<Duplicator>(this);
}
void Monitor::Finalize()
{
UDD_FUNCTION_SCOPE_TIMER
StopCapture();
}
void Monitor::Render()
{
UDD_FUNCTION_SCOPE_TIMER
const auto& frame = duplicator_->GetLastFrame();
if (frame.id == lastFrameId_) return;
@@ -77,7 +94,13 @@ void Monitor::Render()
if (unityTexture_ == nullptr)
{
Debug::Error("Monitor::Render() => Target texture has not been set yet..");
Debug::Error("Monitor::Render() => Target texture has not been set yet.");
return;
}
if (!frame.texture)
{
Debug::Error("Monitor::Render() => frame doesn't have texture.");
return;
}
@@ -116,6 +139,8 @@ void Monitor::Render()
void Monitor::StartCapture()
{
UDD_FUNCTION_SCOPE_TIMER
if (duplicator_->GetState() == DuplicatorState::Ready)
{
duplicator_->Start();
@@ -125,6 +150,8 @@ void Monitor::StartCapture()
void Monitor::StopCapture()
{
UDD_FUNCTION_SCOPE_TIMER
duplicator_->Stop();
}
@@ -285,6 +312,8 @@ bool Monitor::UseGetPixels() const
void Monitor::CopyTextureFromGpuToCpu(ID3D11Texture2D* texture)
{
UDD_FUNCTION_SCOPE_TIMER
const auto monitorRot = static_cast<DXGI_MODE_ROTATION>(GetRotation());
const auto monitorWidth = GetWidth();
const auto monitorHeight = GetHeight();
@@ -350,6 +379,8 @@ void Monitor::CopyTextureFromGpuToCpu(ID3D11Texture2D* texture)
bool Monitor::GetPixels(BYTE* output, int x, int y, int width, int height)
{
UDD_FUNCTION_SCOPE_TIMER
if (!UseGetPixels())
{
Debug::Error("Monitor::GetPixels() => UseGetPixels(true) must have been called when you want to use GetPixels().");
@@ -380,24 +411,24 @@ bool Monitor::GetPixels(BYTE* output, int x, int y, int width, int height)
{
left = y;
top = monitorWidth - x - width;
right = y + width;
bottom = monitorWidth - x;
right = y + width - 1;
bottom = monitorWidth - x - 1;
break;
}
case DXGI_MODE_ROTATION_ROTATE180:
{
left = monitorWidth - x - width;
top = monitorHeight - y - height;
right = monitorWidth - x;
bottom = monitorHeight - y;
right = monitorWidth - x - 1;
bottom = monitorHeight - y - 1;
break;
}
case DXGI_MODE_ROTATION_ROTATE270:
{
left = monitorHeight - y - height;
top = x;
right = monitorHeight - y;
bottom = x + width;
right = monitorHeight - y - 1;
bottom = x + width - 1;
break;
}
case DXGI_MODE_ROTATION_IDENTITY:
@@ -406,8 +437,8 @@ bool Monitor::GetPixels(BYTE* output, int x, int y, int width, int height)
{
left = x;
top = y;
right = x + width;
bottom = y + height;
right = x + width - 1;
bottom = y + height - 1;
break;
}
}
@@ -468,3 +499,14 @@ bool Monitor::GetPixels(BYTE* output, int x, int y, int width, int height)
return true;
}
BYTE* Monitor::GetBuffer() const
{
if (!bufferForGetPixels_)
{
Debug::Error("Monitor::GetBuffer() => CopyTextureFromGpuToCpu() has not been called yet.");
return nullptr;
}
return bufferForGetPixels_.Get();
}

View File

@@ -9,6 +9,7 @@
#include "Common.h"
class MonitorManager;
enum class DuplicatorState;
@@ -52,15 +53,15 @@ public:
void UseGetPixels(bool use);
bool UseGetPixels() const;
bool GetPixels(BYTE* output, int x, int y, int width, int height);
BYTE* GetBuffer() const;
private:
void CopyTextureFromGpuToCpu(ID3D11Texture2D* texture);
int id_ = -1;
MonitorManager* manager_ = nullptr;
const int id_;
UINT dpiX_ = -1, dpiY_ = -1;
int width_ = -1, height_ = -1;
bool hasBeenUpdated_ = false;
bool useGetPixels_ = false;

View File

@@ -18,23 +18,20 @@ using namespace Microsoft::WRL;
MonitorManager::MonitorManager(LUID unityAdapterLuid)
: unityAdapterLuid_(unityAdapterLuid)
MonitorManager::MonitorManager()
{
}
MonitorManager::~MonitorManager()
{
Finalize();
}
void MonitorManager::Initialize()
{
Finalize();
UDD_FUNCTION_SCOPE_TIMER
// Get factory
ComPtr<IDXGIFactory1> factory;
if (FAILED(CreateDXGIFactory1(IID_PPV_ARGS(&factory))))
{
@@ -42,27 +39,40 @@ void MonitorManager::Initialize()
return;
}
// Check all display adapters
int id = 0;
std::vector<std::pair<ComPtr<IDXGIAdapter1>, ComPtr<IDXGIOutput>>> outputs;
ComPtr<IDXGIAdapter1> adapter;
for (int i = 0; (factory->EnumAdapters1(i, &adapter) != DXGI_ERROR_NOT_FOUND); ++i)
{
// Search the main monitor from all outputs
DXGI_ADAPTER_DESC desc;
if (FAILED(adapter->GetDesc(&desc))) continue;
Debug::Log("Graphics Card [", i, "] : ", desc.Description);
ComPtr<IDXGIOutput> output;
for (int j = 0; (adapter->EnumOutputs(j, &output) != DXGI_ERROR_NOT_FOUND); ++j)
{
auto monitor = std::make_shared<Monitor>(id++);
const auto unityAdapterLuid = GetUnityAdapterLuid();
monitor->Initialize(adapter, output);
monitor->StartCapture();
monitors_.push_back(monitor);
DXGI_OUTPUT_DESC desc;
if (FAILED(output->GetDesc(&desc))) continue;
Debug::Log(" > Monitor[", j, "] : ", desc.DeviceName);
outputs.emplace_back(adapter, output);
}
}
for (int id = 0; id < static_cast<int>(outputs.size()); ++id)
{
const auto& pair = outputs.at(id);
auto monitor = std::make_shared<Monitor>(id);
monitor->Initialize(pair.first, pair.second);
monitor->StartCapture();
monitors_.push_back(monitor);
}
}
void MonitorManager::Finalize()
{
UDD_FUNCTION_SCOPE_TIMER
for (const auto& monitor : monitors_)
{
monitor->Finalize();
@@ -74,6 +84,8 @@ void MonitorManager::Finalize()
void MonitorManager::Update()
{
UDD_FUNCTION_SCOPE_TIMER
if (isReinitializationRequired_)
{
Reinitialize();
@@ -91,7 +103,10 @@ void MonitorManager::RequireReinitilization()
void MonitorManager::Reinitialize()
{
UDD_FUNCTION_SCOPE_TIMER
Debug::Log("MonitorManager::Reinitialize()");
Finalize();
Initialize();
SendMessageToUnity(Message::Reinitialized);
}
@@ -99,6 +114,8 @@ void MonitorManager::Reinitialize()
bool MonitorManager::HasMonitorCountChanged() const
{
UDD_FUNCTION_SCOPE_TIMER
ComPtr<IDXGIFactory1> factory;
if (FAILED(CreateDXGIFactory1(IID_PPV_ARGS(&factory))))
{

View File

@@ -13,7 +13,7 @@ class Cursor;
class MonitorManager
{
public:
explicit MonitorManager(LUID unityAdapterLuid_);
MonitorManager();
~MonitorManager();
void Initialize();
void Finalize();
@@ -34,7 +34,6 @@ public:
int GetTotalHeight() const;
private:
LUID unityAdapterLuid_;
UINT frameRate_ = 60;
bool enableTextureCopyFromGpuToCpu_ = false;
std::vector<std::shared_ptr<Monitor>> monitors_;

View File

@@ -23,7 +23,6 @@
IUnityInterfaces* g_unity = nullptr;
std::unique_ptr<MonitorManager> g_manager;
std::queue<Message> g_messages;
ID3D11DeviceContext* g_deviceContextForMainThread = nullptr;
extern "C"
@@ -35,40 +34,24 @@ extern "C"
UNITY_INTERFACE_EXPORT void UNITY_INTERFACE_API Initialize()
{
if (g_unity && !g_manager)
if (!g_unity) return;
if (!g_manager)
{
Debug::Initialize();
auto device = g_unity->Get<IUnityGraphicsD3D11>()->GetDevice();
Microsoft::WRL::ComPtr<IDXGIDevice1> dxgiDevice;
if (FAILED(device->QueryInterface(IID_PPV_ARGS(&dxgiDevice))))
{
Debug::Error("Initialize() => device->QueryInterface() failed.");
return;
}
Microsoft::WRL::ComPtr<IDXGIAdapter> dxgiAdapter;
if (FAILED(dxgiDevice->GetAdapter(&dxgiAdapter)))
{
Debug::Error("Initialize() => dxgiDevice->GetAdapter() failed.");
return;
}
DXGI_ADAPTER_DESC desc;
dxgiAdapter->GetDesc(&desc);
g_manager = std::make_unique<MonitorManager>(desc.AdapterLuid);
OutputWindowsInformation();
g_manager = std::make_unique<MonitorManager>();
g_manager->Initialize();
}
}
UNITY_INTERFACE_EXPORT void UNITY_INTERFACE_API Finalize()
{
if (!g_manager) return;
g_manager->Finalize();
g_manager.reset();
if (g_manager)
{
g_manager->Finalize();
g_manager.reset();
}
std::queue<Message> empty;
g_messages.swap(empty);
@@ -383,7 +366,7 @@ extern "C"
return 0;
}
UNITY_INTERFACE_EXPORT void* UNITY_INTERFACE_API GetMoveRects(int id)
UNITY_INTERFACE_EXPORT DXGI_OUTDUPL_MOVE_RECT* UNITY_INTERFACE_API GetMoveRects(int id)
{
if (!g_manager) return nullptr;
if (auto monitor = g_manager->GetMonitor(id))
@@ -403,7 +386,7 @@ extern "C"
return 0;
}
UNITY_INTERFACE_EXPORT void* UNITY_INTERFACE_API GetDirtyRects(int id)
UNITY_INTERFACE_EXPORT RECT* UNITY_INTERFACE_API GetDirtyRects(int id)
{
if (!g_manager) return nullptr;
if (auto monitor = g_manager->GetMonitor(id))
@@ -415,7 +398,7 @@ extern "C"
UNITY_INTERFACE_EXPORT bool UNITY_INTERFACE_API GetPixels(int id, BYTE* output, int x, int y, int width, int height)
{
if (!g_manager) return nullptr;
if (!g_manager) return false;
if (auto monitor = g_manager->GetMonitor(id))
{
return monitor->GetPixels(output, x, y, width, height);
@@ -423,6 +406,16 @@ extern "C"
return false;
}
UNITY_INTERFACE_EXPORT BYTE* UNITY_INTERFACE_API GetBuffer(int id)
{
if (!g_manager) return nullptr;
if (auto monitor = g_manager->GetMonitor(id))
{
return monitor->GetBuffer();
}
return nullptr;
}
UNITY_INTERFACE_EXPORT bool UNITY_INTERFACE_API HasBeenUpdated(int id)
{
if (!g_manager) return nullptr;

View File

@@ -28,26 +28,26 @@
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>true</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v140</PlatformToolset>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
<ConfigurationType>DynamicLibrary</ConfigurationType>
<UseDebugLibraries>false</UseDebugLibraries>
<PlatformToolset>v141</PlatformToolset>
<PlatformToolset>v140</PlatformToolset>
<WholeProgramOptimization>true</WholeProgramOptimization>
<CharacterSet>MultiByte</CharacterSet>
</PropertyGroup>

View File

@@ -1 +1 @@
m_EditorVersion: 2018.1.9f1
m_EditorVersion: 2018.2.15f1