This commit is contained in:
CortexCore 2025-03-14 21:04:19 +08:00
parent ff8670c453
commit 757ffe79ee
1282 changed files with 104378 additions and 3 deletions

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 71b0b067a45f622499b182cc24d658f8
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 92e8b7b523be43948a2914fef143e3ac
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 621c5ad4014423646b0c9e248b854cd7
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b0c14e728482b1241a18cee4c1bc7c72
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,80 @@
%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: Topographic
m_Shader: {fileID: 4800000, guid: 83bc59cc466aefb4385ad072aa78cfbb, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _BumpMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailAlbedoMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailMask:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _DetailNormalMap:
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}
- _MainTex:
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}
- _OcclusionMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _ParallaxMap:
m_Texture: {fileID: 0}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _MaxHeight: 500
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _Saturation: 0.7
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _Value: 1
- _ZWrite: 1
m_Colors:
- _Color: {r: 1, g: 1, b: 1, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: f1271be60ed7edf4f86c5d532eeb2bf3
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7f375a18851c52149bf3129268e9673c
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,124 @@
; FBX 6.1.0 project file
; Low Poly Terrain Pack
; http://pinwheel.studio
; ----------
FBXHeaderExtension: {
FBXHeaderVersion: 1003
FBXVersion: 6100
Creator: "Pinwheel Studio"
CreationTimeStamp: {
Version: 1000
Year: 2019
Month: 3
Day: 11
Hour: 8
Minute: 4
Second: 32
Millisecond: 649
}
OtherFlags: {
FlagPLE: 0
}
}
; Object definition
; ----------
Definitions: {
Version: 100
Count: 3
ObjectType: "Model" {
Count: 1
}
ObjectType: "Geometry" {
Count: 1
}
ObjectType: "Material" {
Count: 1
}
ObjectType: "Texture" {
Count: 1
}
ObjectType: "GlobalSettings" {
Count: 1
}
}
; Objects information
; ----------
Objects: {
Model: "Model::Grid0", "Mesh" {
Version: 232
MultiLayer: 0
Shading: Y
Culling: "Culling Off"
Vertices: 0,0,1 ,-1,0,1 ,0,0,0 ,-1,0,0 ,0,0,0 ,-1,0,1
PolygonVertexIndex: 2,1,-1,5,4,-4
GeometryVersion: 124
LayerElementNormal: 0 {
Version: 101
Name: ""
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
Normals: 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0
}
LayerElementUV: 0 {
Version: 101
Name: "UVMap"
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
UV: 0,1,1,1,0,0,1,0,0,0,1,1
}
LayerElementColor: 0 {
Version: 101
Name: "Color"
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
Colors:
}
LayerElementMaterial: 0 {
Version: 101
Name: ""
MappingInformationType: "AllSame"
ReferenceInformationType: "IndexToDirect"
Materials: 0
}
Layer: 0 {
Version: 100
LayerElement: {
Type: "LayerElementNormal"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementUV"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementColor"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementMaterial"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementTexture"
TypedIndex: 0
}
}
}
Material: "Material::Grid0", "" {
Version: 102
ShadingModel: "lambert"
MultiLayer: 0
Properties60: {
Property: "Diffuse", "ColorRGB", "", 1, 1, 1
Property: "Opacity", "double", "", 1
Property: "DiffuseColor", "ColorRGB", "", 1, 1, 1
}
}
}
; Object connections
; ----------
Connections: {
Connect: "OO", "Model::Grid0", "Model::Scene"
Connect: "OO", "Material::Grid0", "Model::Grid0"
Connect: "OP", "Texture::Grid0_MainTex", "Material::Grid0", "DiffuseColor"
}

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: b0c1d9f1f71dac242bf1e740df1d5daf
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid0
2300000: //RootNode
3300000: //RootNode
4300000: Grid0
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,124 @@
; FBX 6.1.0 project file
; Low Poly Terrain Pack
; http://pinwheel.studio
; ----------
FBXHeaderExtension: {
FBXHeaderVersion: 1003
FBXVersion: 6100
Creator: "Pinwheel Studio"
CreationTimeStamp: {
Version: 1000
Year: 2019
Month: 3
Day: 11
Hour: 8
Minute: 7
Second: 9
Millisecond: 683
}
OtherFlags: {
FlagPLE: 0
}
}
; Object definition
; ----------
Definitions: {
Version: 100
Count: 3
ObjectType: "Model" {
Count: 1
}
ObjectType: "Geometry" {
Count: 1
}
ObjectType: "Material" {
Count: 1
}
ObjectType: "Texture" {
Count: 1
}
ObjectType: "GlobalSettings" {
Count: 1
}
}
; Objects information
; ----------
Objects: {
Model: "Model::Grid1", "Mesh" {
Version: 232
MultiLayer: 0
Shading: Y
Culling: "Culling Off"
Vertices: -0.5,0,0.5 ,0,0,1 ,-1,0,1 ,-0.5,0,0.5 ,0,0,0 ,0,0,1 ,-0.5,0,0.5 ,-1,0,0 ,0,0,0 ,-0.5,0,0.5 ,-1,0,1 ,-1,0,0
PolygonVertexIndex: 2,1,-1,5,4,-4,8,7,-7,11,10,-10
GeometryVersion: 124
LayerElementNormal: 0 {
Version: 101
Name: ""
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
Normals: 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0
}
LayerElementUV: 0 {
Version: 101
Name: "UVMap"
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
UV: 0.5,0.5,0,1,1,1,0.5,0.5,0,0,0,1,0.5,0.5,1,0,0,0,0.5,0.5,1,1,1,0
}
LayerElementColor: 0 {
Version: 101
Name: "Color"
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
Colors:
}
LayerElementMaterial: 0 {
Version: 101
Name: ""
MappingInformationType: "AllSame"
ReferenceInformationType: "IndexToDirect"
Materials: 0
}
Layer: 0 {
Version: 100
LayerElement: {
Type: "LayerElementNormal"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementUV"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementColor"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementMaterial"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementTexture"
TypedIndex: 0
}
}
}
Material: "Material::Grid1", "" {
Version: 102
ShadingModel: "lambert"
MultiLayer: 0
Properties60: {
Property: "Diffuse", "ColorRGB", "", 1, 1, 1
Property: "Opacity", "double", "", 1
Property: "DiffuseColor", "ColorRGB", "", 1, 1, 1
}
}
}
; Object connections
; ----------
Connections: {
Connect: "OO", "Model::Grid1", "Model::Scene"
Connect: "OO", "Material::Grid1", "Model::Grid1"
Connect: "OP", "Texture::Grid1_MainTex", "Material::Grid1", "DiffuseColor"
}

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: 4696ad07c62c7214db2580f0ec1b95b5
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid1
2300000: //RootNode
3300000: //RootNode
4300000: Grid1
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: b5661883f1e046c448831153b67fcd45
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid10
2300000: //RootNode
3300000: //RootNode
4300000: Grid10
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: ce3db579ad4acf1439cffc5585e7b514
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid11
2300000: //RootNode
3300000: //RootNode
4300000: Grid11
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: 7807d55b162ded547a688d7312ece635
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid12
2300000: //RootNode
3300000: //RootNode
4300000: Grid12
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: 4fa4f3a0c335316429a5e3cad20987b3
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid13
2300000: //RootNode
3300000: //RootNode
4300000: Grid13
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,124 @@
; FBX 6.1.0 project file
; Low Poly Terrain Pack
; http://pinwheel.studio
; ----------
FBXHeaderExtension: {
FBXHeaderVersion: 1003
FBXVersion: 6100
Creator: "Pinwheel Studio"
CreationTimeStamp: {
Version: 1000
Year: 2019
Month: 3
Day: 11
Hour: 8
Minute: 7
Second: 20
Millisecond: 173
}
OtherFlags: {
FlagPLE: 0
}
}
; Object definition
; ----------
Definitions: {
Version: 100
Count: 3
ObjectType: "Model" {
Count: 1
}
ObjectType: "Geometry" {
Count: 1
}
ObjectType: "Material" {
Count: 1
}
ObjectType: "Texture" {
Count: 1
}
ObjectType: "GlobalSettings" {
Count: 1
}
}
; Objects information
; ----------
Objects: {
Model: "Model::Grid2", "Mesh" {
Version: 232
MultiLayer: 0
Shading: Y
Culling: "Culling Off"
Vertices: -0.5,0,1 ,-0.5,0,0.5 ,0,0,1 ,-0.5,0,1 ,-1,0,1 ,-0.5,0,0.5 ,0,0,0.5 ,-0.5,0,0.5 ,0,0,0 ,0,0,0.5 ,0,0,1 ,-0.5,0,0.5 ,-0.5,0,0 ,-0.5,0,0.5 ,-1,0,0 ,-0.5,0,0 ,0,0,0 ,-0.5,0,0.5 ,-1,0,0.5 ,-0.5,0,0.5 ,-1,0,1 ,-1,0,0.5 ,-1,0,0 ,-0.5,0,0.5
PolygonVertexIndex: 2,1,-1,5,4,-4,8,7,-7,11,10,-10,14,13,-13,17,16,-16,20,19,-19,23,22,-22
GeometryVersion: 124
LayerElementNormal: 0 {
Version: 101
Name: ""
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
Normals: 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0
}
LayerElementUV: 0 {
Version: 101
Name: "UVMap"
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
UV: 0.5,1,0.5,0.5,0,1,0.5,1,1,1,0.5,0.5,0,0.5,0.5,0.5,0,0,0,0.5,0,1,0.5,0.5,0.5,0,0.5,0.5,1,0,0.5,0,0,0,0.5,0.5,1,0.5,0.5,0.5,1,1,1,0.5,1,0,0.5,0.5
}
LayerElementColor: 0 {
Version: 101
Name: "Color"
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
Colors:
}
LayerElementMaterial: 0 {
Version: 101
Name: ""
MappingInformationType: "AllSame"
ReferenceInformationType: "IndexToDirect"
Materials: 0
}
Layer: 0 {
Version: 100
LayerElement: {
Type: "LayerElementNormal"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementUV"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementColor"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementMaterial"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementTexture"
TypedIndex: 0
}
}
}
Material: "Material::Grid2", "" {
Version: 102
ShadingModel: "lambert"
MultiLayer: 0
Properties60: {
Property: "Diffuse", "ColorRGB", "", 1, 1, 1
Property: "Opacity", "double", "", 1
Property: "DiffuseColor", "ColorRGB", "", 1, 1, 1
}
}
}
; Object connections
; ----------
Connections: {
Connect: "OO", "Model::Grid2", "Model::Scene"
Connect: "OO", "Material::Grid2", "Model::Grid2"
Connect: "OP", "Texture::Grid2_MainTex", "Material::Grid2", "DiffuseColor"
}

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: 31a151ed30b773c4291a88736a04b3a2
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid2
2300000: //RootNode
3300000: //RootNode
4300000: Grid2
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,124 @@
; FBX 6.1.0 project file
; Low Poly Terrain Pack
; http://pinwheel.studio
; ----------
FBXHeaderExtension: {
FBXHeaderVersion: 1003
FBXVersion: 6100
Creator: "Pinwheel Studio"
CreationTimeStamp: {
Version: 1000
Year: 2019
Month: 3
Day: 11
Hour: 8
Minute: 7
Second: 29
Millisecond: 675
}
OtherFlags: {
FlagPLE: 0
}
}
; Object definition
; ----------
Definitions: {
Version: 100
Count: 3
ObjectType: "Model" {
Count: 1
}
ObjectType: "Geometry" {
Count: 1
}
ObjectType: "Material" {
Count: 1
}
ObjectType: "Texture" {
Count: 1
}
ObjectType: "GlobalSettings" {
Count: 1
}
}
; Objects information
; ----------
Objects: {
Model: "Model::Grid3", "Mesh" {
Version: 232
MultiLayer: 0
Shading: Y
Culling: "Culling Off"
Vertices: -0.25,0,0.75 ,-0.5,0,1 ,-0.5,0,0.5 ,-0.25,0,0.75 ,0,0,1 ,-0.5,0,1 ,-0.75,0,0.75 ,-0.5,0,1 ,-1,0,1 ,-0.75,0,0.75 ,-0.5,0,0.5 ,-0.5,0,1 ,-0.25,0,0.25 ,0,0,0.5 ,-0.5,0,0.5 ,-0.25,0,0.25 ,0,0,0 ,0,0,0.5 ,-0.25,0,0.75 ,0,0,0.5 ,0,0,1 ,-0.25,0,0.75 ,-0.5,0,0.5 ,0,0,0.5 ,-0.75,0,0.25 ,-0.5,0,0 ,-0.5,0,0.5 ,-0.75,0,0.25 ,-1,0,0 ,-0.5,0,0 ,-0.25,0,0.25 ,-0.5,0,0 ,0,0,0 ,-0.25,0,0.25 ,-0.5,0,0.5 ,-0.5,0,0 ,-0.75,0,0.75 ,-1,0,0.5 ,-0.5,0,0.5 ,-0.75,0,0.75 ,-1,0,1 ,-1,0,0.5 ,-0.75,0,0.25 ,-1,0,0.5 ,-1,0,0 ,-0.75,0,0.25 ,-0.5,0,0.5 ,-1,0,0.5
PolygonVertexIndex: 2,1,-1,5,4,-4,8,7,-7,11,10,-10,14,13,-13,17,16,-16,20,19,-19,23,22,-22,26,25,-25,29,28,-28,32,31,-31,35,34,-34,38,37,-37,41,40,-40,44,43,-43,47,46,-46
GeometryVersion: 124
LayerElementNormal: 0 {
Version: 101
Name: ""
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
Normals: 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0
}
LayerElementUV: 0 {
Version: 101
Name: "UVMap"
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
UV: 0.25,0.75,0.5,1,0.5,0.5,0.25,0.75,0,1,0.5,1,0.75,0.75,0.5,1,1,1,0.75,0.75,0.5,0.5,0.5,1,0.25,0.25,0,0.5,0.5,0.5,0.25,0.25,0,0,0,0.5,0.25,0.75,0,0.5,0,1,0.25,0.75,0.5,0.5,0,0.5,0.75,0.25,0.5,0,0.5,0.5,0.75,0.25,1,0,0.5,0,0.25,0.25,0.5,0,0,0,0.25,0.25,0.5,0.5,0.5,0,0.75,0.75,1,0.5,0.5,0.5,0.75,0.75,1,1,1,0.5,0.75,0.25,1,0.5,1,0,0.75,0.25,0.5,0.5,1,0.5
}
LayerElementColor: 0 {
Version: 101
Name: "Color"
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
Colors:
}
LayerElementMaterial: 0 {
Version: 101
Name: ""
MappingInformationType: "AllSame"
ReferenceInformationType: "IndexToDirect"
Materials: 0
}
Layer: 0 {
Version: 100
LayerElement: {
Type: "LayerElementNormal"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementUV"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementColor"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementMaterial"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementTexture"
TypedIndex: 0
}
}
}
Material: "Material::Grid3", "" {
Version: 102
ShadingModel: "lambert"
MultiLayer: 0
Properties60: {
Property: "Diffuse", "ColorRGB", "", 1, 1, 1
Property: "Opacity", "double", "", 1
Property: "DiffuseColor", "ColorRGB", "", 1, 1, 1
}
}
}
; Object connections
; ----------
Connections: {
Connect: "OO", "Model::Grid3", "Model::Scene"
Connect: "OO", "Material::Grid3", "Model::Grid3"
Connect: "OP", "Texture::Grid3_MainTex", "Material::Grid3", "DiffuseColor"
}

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: d3b8adb1a8ed2f9419de072e5beb84f9
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid3
2300000: //RootNode
3300000: //RootNode
4300000: Grid3
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,124 @@
; FBX 6.1.0 project file
; Low Poly Terrain Pack
; http://pinwheel.studio
; ----------
FBXHeaderExtension: {
FBXHeaderVersion: 1003
FBXVersion: 6100
Creator: "Pinwheel Studio"
CreationTimeStamp: {
Version: 1000
Year: 2019
Month: 3
Day: 11
Hour: 8
Minute: 7
Second: 37
Millisecond: 958
}
OtherFlags: {
FlagPLE: 0
}
}
; Object definition
; ----------
Definitions: {
Version: 100
Count: 3
ObjectType: "Model" {
Count: 1
}
ObjectType: "Geometry" {
Count: 1
}
ObjectType: "Material" {
Count: 1
}
ObjectType: "Texture" {
Count: 1
}
ObjectType: "GlobalSettings" {
Count: 1
}
}
; Objects information
; ----------
Objects: {
Model: "Model::Grid4", "Mesh" {
Version: 232
MultiLayer: 0
Shading: Y
Culling: "Culling Off"
Vertices: -0.5,0,0.75 ,-0.25,0,0.75 ,-0.5,0,1 ,-0.5,0,0.75 ,-0.5,0,0.5 ,-0.25,0,0.75 ,-0.25,0,1 ,-0.25,0,0.75 ,0,0,1 ,-0.25,0,1 ,-0.5,0,1 ,-0.25,0,0.75 ,-0.75,0,1 ,-0.75,0,0.75 ,-0.5,0,1 ,-0.75,0,1 ,-1,0,1 ,-0.75,0,0.75 ,-0.5,0,0.75 ,-0.75,0,0.75 ,-0.5,0,0.5 ,-0.5,0,0.75 ,-0.5,0,1 ,-0.75,0,0.75 ,-0.25,0,0.5 ,-0.25,0,0.25 ,0,0,0.5 ,-0.25,0,0.5 ,-0.5,0,0.5 ,-0.25,0,0.25 ,0,0,0.25 ,-0.25,0,0.25 ,0,0,0 ,0,0,0.25 ,0,0,0.5 ,-0.25,0,0.25 ,0,0,0.75 ,-0.25,0,0.75 ,0,0,0.5 ,0,0,0.75 ,0,0,1 ,-0.25,0,0.75 ,-0.25,0,0.5 ,-0.25,0,0.75 ,-0.5,0,0.5 ,-0.25,0,0.5 ,0,0,0.5 ,-0.25,0,0.75 ,-0.5,0,0.25 ,-0.75,0,0.25 ,-0.5,0,0 ,-0.5,0,0.25 ,-0.5,0,0.5 ,-0.75,0,0.25 ,-0.75,0,0 ,-0.75,0,0.25 ,-1,0,0 ,-0.75,0,0 ,-0.5,0,0 ,-0.75,0,0.25 ,-0.25,0,0 ,-0.25,0,0.25 ,-0.5,0,0 ,-0.25,0,0 ,0,0,0 ,-0.25,0,0.25 ,-0.5,0,0.25 ,-0.25,0,0.25 ,-0.5,0,0.5 ,-0.5,0,0.25 ,-0.5,0,0 ,-0.25,0,0.25 ,-0.75,0,0.5 ,-0.75,0,0.75 ,-1,0,0.5 ,-0.75,0,0.5 ,-0.5,0,0.5 ,-0.75,0,0.75 ,-1,0,0.75 ,-0.75,0,0.75 ,-1,0,1 ,-1,0,0.75 ,-1,0,0.5 ,-0.75,0,0.75 ,-1,0,0.25 ,-0.75,0,0.25 ,-1,0,0.5 ,-1,0,0.25 ,-1,0,0 ,-0.75,0,0.25 ,-0.75,0,0.5 ,-0.75,0,0.25 ,-0.5,0,0.5 ,-0.75,0,0.5 ,-1,0,0.5 ,-0.75,0,0.25
PolygonVertexIndex: 2,1,-1,5,4,-4,8,7,-7,11,10,-10,14,13,-13,17,16,-16,20,19,-19,23,22,-22,26,25,-25,29,28,-28,32,31,-31,35,34,-34,38,37,-37,41,40,-40,44,43,-43,47,46,-46,50,49,-49,53,52,-52,56,55,-55,59,58,-58,62,61,-61,65,64,-64,68,67,-67,71,70,-70,74,73,-73,77,76,-76,80,79,-79,83,82,-82,86,85,-85,89,88,-88,92,91,-91,95,94,-94
GeometryVersion: 124
LayerElementNormal: 0 {
Version: 101
Name: ""
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
Normals: 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0
}
LayerElementUV: 0 {
Version: 101
Name: "UVMap"
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
UV: 0.5,0.75,0.25,0.75,0.5,1,0.5,0.75,0.5,0.5,0.25,0.75,0.25,1,0.25,0.75,0,1,0.25,1,0.5,1,0.25,0.75,0.75,1,0.75,0.75,0.5,1,0.75,1,1,1,0.75,0.75,0.5,0.75,0.75,0.75,0.5,0.5,0.5,0.75,0.5,1,0.75,0.75,0.25,0.5,0.25,0.25,0,0.5,0.25,0.5,0.5,0.5,0.25,0.25,0,0.25,0.25,0.25,0,0,0,0.25,0,0.5,0.25,0.25,0,0.75,0.25,0.75,0,0.5,0,0.75,0,1,0.25,0.75,0.25,0.5,0.25,0.75,0.5,0.5,0.25,0.5,0,0.5,0.25,0.75,0.5,0.25,0.75,0.25,0.5,0,0.5,0.25,0.5,0.5,0.75,0.25,0.75,0,0.75,0.25,1,0,0.75,0,0.5,0,0.75,0.25,0.25,0,0.25,0.25,0.5,0,0.25,0,0,0,0.25,0.25,0.5,0.25,0.25,0.25,0.5,0.5,0.5,0.25,0.5,0,0.25,0.25,0.75,0.5,0.75,0.75,1,0.5,0.75,0.5,0.5,0.5,0.75,0.75,1,0.75,0.75,0.75,1,1,1,0.75,1,0.5,0.75,0.75,1,0.25,0.75,0.25,1,0.5,1,0.25,1,0,0.75,0.25,0.75,0.5,0.75,0.25,0.5,0.5,0.75,0.5,1,0.5,0.75,0.25
}
LayerElementColor: 0 {
Version: 101
Name: "Color"
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
Colors:
}
LayerElementMaterial: 0 {
Version: 101
Name: ""
MappingInformationType: "AllSame"
ReferenceInformationType: "IndexToDirect"
Materials: 0
}
Layer: 0 {
Version: 100
LayerElement: {
Type: "LayerElementNormal"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementUV"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementColor"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementMaterial"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementTexture"
TypedIndex: 0
}
}
}
Material: "Material::Grid4", "" {
Version: 102
ShadingModel: "lambert"
MultiLayer: 0
Properties60: {
Property: "Diffuse", "ColorRGB", "", 1, 1, 1
Property: "Opacity", "double", "", 1
Property: "DiffuseColor", "ColorRGB", "", 1, 1, 1
}
}
}
; Object connections
; ----------
Connections: {
Connect: "OO", "Model::Grid4", "Model::Scene"
Connect: "OO", "Material::Grid4", "Model::Grid4"
Connect: "OP", "Texture::Grid4_MainTex", "Material::Grid4", "DiffuseColor"
}

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: 2be8ef80a0f55b049b3fdb04a887bc88
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid4
2300000: //RootNode
3300000: //RootNode
4300000: Grid4
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,124 @@
; FBX 6.1.0 project file
; Low Poly Terrain Pack
; http://pinwheel.studio
; ----------
FBXHeaderExtension: {
FBXHeaderVersion: 1003
FBXVersion: 6100
Creator: "Pinwheel Studio"
CreationTimeStamp: {
Version: 1000
Year: 2019
Month: 3
Day: 11
Hour: 8
Minute: 7
Second: 44
Millisecond: 956
}
OtherFlags: {
FlagPLE: 0
}
}
; Object definition
; ----------
Definitions: {
Version: 100
Count: 3
ObjectType: "Model" {
Count: 1
}
ObjectType: "Geometry" {
Count: 1
}
ObjectType: "Material" {
Count: 1
}
ObjectType: "Texture" {
Count: 1
}
ObjectType: "GlobalSettings" {
Count: 1
}
}
; Objects information
; ----------
Objects: {
Model: "Model::Grid5", "Mesh" {
Version: 232
MultiLayer: 0
Shading: Y
Culling: "Culling Off"
Vertices: -0.375,0,0.875 ,-0.5,0,0.75 ,-0.25,0,0.75 ,-0.375,0,0.875 ,-0.5,0,1 ,-0.5,0,0.75 ,-0.375,0,0.625 ,-0.5,0,0.75 ,-0.5,0,0.5 ,-0.375,0,0.625 ,-0.25,0,0.75 ,-0.5,0,0.75 ,-0.125,0,0.875 ,-0.25,0,1 ,-0.25,0,0.75 ,-0.125,0,0.875 ,0,0,1 ,-0.25,0,1 ,-0.375,0,0.875 ,-0.25,0,1 ,-0.5,0,1 ,-0.375,0,0.875 ,-0.25,0,0.75 ,-0.25,0,1 ,-0.625,0,0.875 ,-0.75,0,1 ,-0.75,0,0.75 ,-0.625,0,0.875 ,-0.5,0,1 ,-0.75,0,1 ,-0.875,0,0.875 ,-0.75,0,1 ,-1,0,1 ,-0.875,0,0.875 ,-0.75,0,0.75 ,-0.75,0,1 ,-0.625,0,0.625 ,-0.5,0,0.75 ,-0.75,0,0.75 ,-0.625,0,0.625 ,-0.5,0,0.5 ,-0.5,0,0.75 ,-0.625,0,0.875 ,-0.5,0,0.75 ,-0.5,0,1 ,-0.625,0,0.875 ,-0.75,0,0.75 ,-0.5,0,0.75 ,-0.125,0,0.375 ,-0.25,0,0.5 ,-0.25,0,0.25 ,-0.125,0,0.375 ,0,0,0.5 ,-0.25,0,0.5 ,-0.375,0,0.375 ,-0.25,0,0.5 ,-0.5,0,0.5 ,-0.375,0,0.375 ,-0.25,0,0.25 ,-0.25,0,0.5 ,-0.125,0,0.125 ,0,0,0.25 ,-0.25,0,0.25 ,-0.125,0,0.125 ,0,0,0 ,0,0,0.25 ,-0.125,0,0.375 ,0,0,0.25 ,0,0,0.5 ,-0.125,0,0.375 ,-0.25,0,0.25 ,0,0,0.25 ,-0.125,0,0.625 ,0,0,0.75 ,-0.25,0,0.75 ,-0.125,0,0.625 ,0,0,0.5 ,0,0,0.75 ,-0.125,0,0.875 ,0,0,0.75 ,0,0,1 ,-0.125,0,0.875 ,-0.25,0,0.75 ,0,0,0.75 ,-0.375,0,0.625 ,-0.25,0,0.5 ,-0.25,0,0.75 ,-0.375,0,0.625 ,-0.5,0,0.5 ,-0.25,0,0.5 ,-0.125,0,0.625 ,-0.25,0,0.5 ,0,0,0.5 ,-0.125,0,0.625 ,-0.25,0,0.75 ,-0.25,0,0.5 ,-0.625,0,0.125 ,-0.5,0,0.25 ,-0.75,0,0.25 ,-0.625,0,0.125 ,-0.5,0,0 ,-0.5,0,0.25 ,-0.625,0,0.375 ,-0.5,0,0.25 ,-0.5,0,0.5 ,-0.625,0,0.375 ,-0.75,0,0.25 ,-0.5,0,0.25 ,-0.875,0,0.125 ,-0.75,0,0 ,-0.75,0,0.25 ,-0.875,0,0.125 ,-1,0,0 ,-0.75,0,0 ,-0.625,0,0.125 ,-0.75,0,0 ,-0.5,0,0 ,-0.625,0,0.125 ,-0.75,0,0.25 ,-0.75,0,0 ,-0.375,0,0.125 ,-0.25,0,0 ,-0.25,0,0.25 ,-0.375,0,0.125 ,-0.5,0,0 ,-0.25,0,0 ,-0.125,0,0.125 ,-0.25,0,0 ,0,0,0 ,-0.125,0,0.125 ,-0.25,0,0.25 ,-0.25,0,0 ,-0.375,0,0.375 ,-0.5,0,0.25 ,-0.25,0,0.25 ,-0.375,0,0.375 ,-0.5,0,0.5 ,-0.5,0,0.25 ,-0.375,0,0.125 ,-0.5,0,0.25 ,-0.5,0,0 ,-0.375,0,0.125 ,-0.25,0,0.25 ,-0.5,0,0.25 ,-0.875,0,0.625 ,-0.75,0,0.5 ,-0.75,0,0.75 ,-0.875,0,0.625 ,-1,0,0.5 ,-0.75,0,0.5 ,-0.625,0,0.625 ,-0.75,0,0.5 ,-0.5,0,0.5 ,-0.625,0,0.625 ,-0.75,0,0.75 ,-0.75,0,0.5 ,-0.875,0,0.875 ,-1,0,0.75 ,-0.75,0,0.75 ,-0.875,0,0.875 ,-1,0,1 ,-1,0,0.75 ,-0.875,0,0.625 ,-1,0,0.75 ,-1,0,0.5 ,-0.875,0,0.625 ,-0.75,0,0.75 ,-1,0,0.75 ,-0.875,0,0.375 ,-1,0,0.25 ,-0.75,0,0.25 ,-0.875,0,0.375 ,-1,0,0.5 ,-1,0,0.25 ,-0.875,0,0.125 ,-1,0,0.25 ,-1,0,0 ,-0.875,0,0.125 ,-0.75,0,0.25 ,-1,0,0.25 ,-0.625,0,0.375 ,-0.75,0,0.5 ,-0.75,0,0.25 ,-0.625,0,0.375 ,-0.5,0,0.5 ,-0.75,0,0.5 ,-0.875,0,0.375 ,-0.75,0,0.5 ,-1,0,0.5 ,-0.875,0,0.375 ,-0.75,0,0.25 ,-0.75,0,0.5
PolygonVertexIndex: 2,1,-1,5,4,-4,8,7,-7,11,10,-10,14,13,-13,17,16,-16,20,19,-19,23,22,-22,26,25,-25,29,28,-28,32,31,-31,35,34,-34,38,37,-37,41,40,-40,44,43,-43,47,46,-46,50,49,-49,53,52,-52,56,55,-55,59,58,-58,62,61,-61,65,64,-64,68,67,-67,71,70,-70,74,73,-73,77,76,-76,80,79,-79,83,82,-82,86,85,-85,89,88,-88,92,91,-91,95,94,-94,98,97,-97,101,100,-100,104,103,-103,107,106,-106,110,109,-109,113,112,-112,116,115,-115,119,118,-118,122,121,-121,125,124,-124,128,127,-127,131,130,-130,134,133,-133,137,136,-136,140,139,-139,143,142,-142,146,145,-145,149,148,-148,152,151,-151,155,154,-154,158,157,-157,161,160,-160,164,163,-163,167,166,-166,170,169,-169,173,172,-172,176,175,-175,179,178,-178,182,181,-181,185,184,-184,188,187,-187,191,190,-190
GeometryVersion: 124
LayerElementNormal: 0 {
Version: 101
Name: ""
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
Normals: 0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0,0,1,0
}
LayerElementUV: 0 {
Version: 101
Name: "UVMap"
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
UV: 0.375,0.875,0.5,0.75,0.25,0.75,0.375,0.875,0.5,1,0.5,0.75,0.375,0.625,0.5,0.75,0.5,0.5,0.375,0.625,0.25,0.75,0.5,0.75,0.125,0.875,0.25,1,0.25,0.75,0.125,0.875,0,1,0.25,1,0.375,0.875,0.25,1,0.5,1,0.375,0.875,0.25,0.75,0.25,1,0.625,0.875,0.75,1,0.75,0.75,0.625,0.875,0.5,1,0.75,1,0.875,0.875,0.75,1,1,1,0.875,0.875,0.75,0.75,0.75,1,0.625,0.625,0.5,0.75,0.75,0.75,0.625,0.625,0.5,0.5,0.5,0.75,0.625,0.875,0.5,0.75,0.5,1,0.625,0.875,0.75,0.75,0.5,0.75,0.125,0.375,0.25,0.5,0.25,0.25,0.125,0.375,0,0.5,0.25,0.5,0.375,0.375,0.25,0.5,0.5,0.5,0.375,0.375,0.25,0.25,0.25,0.5,0.125,0.125,0,0.25,0.25,0.25,0.125,0.125,0,0,0,0.25,0.125,0.375,0,0.25,0,0.5,0.125,0.375,0.25,0.25,0,0.25,0.125,0.625,0,0.75,0.25,0.75,0.125,0.625,0,0.5,0,0.75,0.125,0.875,0,0.75,0,1,0.125,0.875,0.25,0.75,0,0.75,0.375,0.625,0.25,0.5,0.25,0.75,0.375,0.625,0.5,0.5,0.25,0.5,0.125,0.625,0.25,0.5,0,0.5,0.125,0.625,0.25,0.75,0.25,0.5,0.625,0.125,0.5,0.25,0.75,0.25,0.625,0.125,0.5,0,0.5,0.25,0.625,0.375,0.5,0.25,0.5,0.5,0.625,0.375,0.75,0.25,0.5,0.25,0.875,0.125,0.75,0,0.75,0.25,0.875,0.125,1,0,0.75,0,0.625,0.125,0.75,0,0.5,0,0.625,0.125,0.75,0.25,0.75,0,0.375,0.125,0.25,0,0.25,0.25,0.375,0.125,0.5,0,0.25,0,0.125,0.125,0.25,0,0,0,0.125,0.125,0.25,0.25,0.25,0,0.375,0.375,0.5,0.25,0.25,0.25,0.375,0.375,0.5,0.5,0.5,0.25,0.375,0.125,0.5,0.25,0.5,0,0.375,0.125,0.25,0.25,0.5,0.25,0.875,0.625,0.75,0.5,0.75,0.75,0.875,0.625,1,0.5,0.75,0.5,0.625,0.625,0.75,0.5,0.5,0.5,0.625,0.625,0.75,0.75,0.75,0.5,0.875,0.875,1,0.75,0.75,0.75,0.875,0.875,1,1,1,0.75,0.875,0.625,1,0.75,1,0.5,0.875,0.625,0.75,0.75,1,0.75,0.875,0.375,1,0.25,0.75,0.25,0.875,0.375,1,0.5,1,0.25,0.875,0.125,1,0.25,1,0,0.875,0.125,0.75,0.25,1,0.25,0.625,0.375,0.75,0.5,0.75,0.25,0.625,0.375,0.5,0.5,0.75,0.5,0.875,0.375,0.75,0.5,1,0.5,0.875,0.375,0.75,0.25,0.75,0.5
}
LayerElementColor: 0 {
Version: 101
Name: "Color"
MappingInformationType: "ByVertice"
ReferenceInformationType: "Direct"
Colors:
}
LayerElementMaterial: 0 {
Version: 101
Name: ""
MappingInformationType: "AllSame"
ReferenceInformationType: "IndexToDirect"
Materials: 0
}
Layer: 0 {
Version: 100
LayerElement: {
Type: "LayerElementNormal"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementUV"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementColor"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementMaterial"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementTexture"
TypedIndex: 0
}
}
}
Material: "Material::Grid5", "" {
Version: 102
ShadingModel: "lambert"
MultiLayer: 0
Properties60: {
Property: "Diffuse", "ColorRGB", "", 1, 1, 1
Property: "Opacity", "double", "", 1
Property: "DiffuseColor", "ColorRGB", "", 1, 1, 1
}
}
}
; Object connections
; ----------
Connections: {
Connect: "OO", "Model::Grid5", "Model::Scene"
Connect: "OO", "Material::Grid5", "Model::Grid5"
Connect: "OP", "Texture::Grid5_MainTex", "Material::Grid5", "DiffuseColor"
}

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: e9215a6e4d62f274d808f3bc09907a77
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid5
2300000: //RootNode
3300000: //RootNode
4300000: Grid5
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: b1a74c377a6c24641904108eafa2858d
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid6
2300000: //RootNode
3300000: //RootNode
4300000: Grid6
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: 3f5249ac2d9bdcb429e6dd1b53bc14be
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid7
2300000: //RootNode
3300000: //RootNode
4300000: Grid7
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: 9081e385818e5a34fa640710053249b6
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid8
2300000: //RootNode
3300000: //RootNode
4300000: Grid8
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,97 @@
fileFormatVersion: 2
guid: 6f7abdaf5814a8d418b35f1669addf61
ModelImporter:
serializedVersion: 23
fileIDToRecycleName:
100000: //RootNode
400000: //RootNode
2100000: Grid9
2300000: //RootNode
3300000: //RootNode
4300000: Grid9
externalObjects: {}
materials:
importMaterials: 1
materialName: 0
materialSearch: 1
materialLocation: 1
animations:
legacyGenerateAnimations: 4
bakeSimulation: 0
resampleCurves: 1
optimizeGameObjects: 0
motionNodeName:
rigImportErrors:
rigImportWarnings:
animationImportErrors:
animationImportWarnings:
animationRetargetingWarnings:
animationDoRetargetingWarnings: 0
importAnimatedCustomProperties: 0
importConstraints: 0
animationCompression: 1
animationRotationError: 0.5
animationPositionError: 0.5
animationScaleError: 0.5
animationWrapMode: 0
extraExposedTransformPaths: []
extraUserProperties: []
clipAnimations: []
isReadable: 0
meshes:
lODScreenPercentages: []
globalScale: 1
meshCompression: 0
addColliders: 0
useSRGBMaterialColor: 1
importVisibility: 1
importBlendShapes: 1
importCameras: 1
importLights: 1
swapUVChannels: 0
generateSecondaryUV: 0
useFileUnits: 1
optimizeMeshForGPU: 1
keepQuads: 0
weldVertices: 1
preserveHierarchy: 0
indexFormat: 0
secondaryUVAngleDistortion: 8
secondaryUVAreaDistortion: 15.000001
secondaryUVHardAngle: 88
secondaryUVPackMargin: 4
useFileScale: 0
previousCalculatedGlobalScale: 1
hasPreviousCalculatedGlobalScale: 0
tangentSpace:
normalSmoothAngle: 60
normalImportMode: 2
tangentImportMode: 2
normalCalculationMode: 4
legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
blendShapeNormalImportMode: 2
normalSmoothingSource: 0
importAnimation: 1
copyAvatar: 0
humanDescription:
serializedVersion: 2
human: []
skeleton: []
armTwist: 0.5
foreArmTwist: 0.5
upperLegTwist: 0.5
legTwist: 0.5
armStretch: 0.05
legStretch: 0.05
feetSpacing: 0
rootMotionBoneName:
hasTranslationDoF: 0
hasExtraRoot: 0
skeletonHasParents: 1
lastHumanDescriptionAvatarSource: {instanceID: 0}
animationType: 0
humanoidOversampling: 1
additionalBone: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 8d1a6310726c8af46a654a63d731e1d9
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0ab9d21a45121bb45a25f22015c23e0a
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: a2e8919afe1ba3b4aaaab1959833c273
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 9f3a468e2cc99f045bce905a46238b8c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,59 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
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: 9fb91ed894068014babda45e4bd0b920, type: 3}
m_Name: GriffinBrpResources
m_EditorClassIdentifier:
terrainPbr4SplatsMaterial: {fileID: 2100000, guid: 1f52eb6ce10e55a4099ae55cc01b119e,
type: 2}
terrainPbr4Splats4NormalsMaterial: {fileID: 2100000, guid: 8b56f8565d18b5a488774ab6a9517931,
type: 2}
terrainPbr8SplatsMaterial: {fileID: 2100000, guid: 09444822d81fc16418d0e347310de385,
type: 2}
terrainPbrGradientLookupMaterial: {fileID: 2100000, guid: 7d883601ac0b74542afa362c7a216952,
type: 2}
terrainPbrVertexColorMaterial: {fileID: 2100000, guid: 2407d82437383444486716681d0389f7,
type: 2}
terrainPbrColorMapMaterial: {fileID: 2100000, guid: 41f51d3f1db9c564f80f180db87e3c42,
type: 2}
terrainLambert4SplatsMaterial: {fileID: 2100000, guid: 2677bce7416957440ba400abba71f6a9,
type: 2}
terrainLambert4Splats4NormalsMaterial: {fileID: 2100000, guid: a76fdd1ddd41bf94ab44298fbf40b65c,
type: 2}
terrainLambert8SplatsMaterial: {fileID: 2100000, guid: a1514d39b149d4242bd583297dcf31bb,
type: 2}
terrainLambertGradientLookupMaterial: {fileID: 2100000, guid: 6ca99d08d9071df45966feafc8952237,
type: 2}
terrainLambertVertexColorMaterial: {fileID: 2100000, guid: 894f9cdf0f8a4514da47a36df86a4352,
type: 2}
terrainLambertColorMapMaterial: {fileID: 2100000, guid: faae3a3906a420d4091b5786d1a6c15a,
type: 2}
terrainBlinnPhong4SplatsMaterial: {fileID: 2100000, guid: f16db84b20aeb4b4e9ffb2429f24b831,
type: 2}
terrainBlinnPhong4Splats4NormalsMaterial: {fileID: 2100000, guid: cefbb481666e7c44f8e159a9408e7115,
type: 2}
terrainBlinnPhong8SplatsMaterial: {fileID: 2100000, guid: 628b460985e13114c94a285d272cd9e0,
type: 2}
terrainBlinnPhongGradientLookupMaterial: {fileID: 2100000, guid: a1cb8d0a827b8f94ca1bb7125360c068,
type: 2}
terrainBlinnPhongVertexColorMaterial: {fileID: 2100000, guid: 34801d19551671a4abe7c4eb5d611da5,
type: 2}
terrainBlinnPhongColorMapMaterial: {fileID: 2100000, guid: 4dee0dc4ef62127448c318be6eeae99b,
type: 2}
grassMaterial: {fileID: 2100000, guid: aa612f1669a06004ca4c7e53adf49314, type: 2}
grassBillboardMaterial: {fileID: 2100000, guid: 2902218ab3a8cae43aee73ba8891cdd7,
type: 2}
grassInteractiveMaterial: {fileID: 2100000, guid: 2e0b5cbdcfe3d5c408d57601daaa6c3e,
type: 2}
treeBillboardMaterial: {fileID: 2100000, guid: a92985462b1b78c4abcb29c9e3d8140f,
type: 2}
grassPreviewMaterial: {fileID: 2100000, guid: 800466453016ed44eada17f86b6b443c,
type: 2}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 26c17d4c19f76b34e9dc8e814cf9a323
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ca135e1c9955c564abf1b784de191539
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,17 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
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: b05a21676f6765b46ab63bc360883773, type: 3}
m_Name: MicroSplatIntegrationSettings
m_EditorClassIdentifier:
dataDirectory: Assets/_Demo/MicroSplatConfigs
shaderNamePrefix: ABCPolaris_
initTextureEntries: 1

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 000f20cc202b1d449bb31bd160ebd2ad
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 7f8a0b1ee8d19e74abcd281b258135c3
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: 751a58e6bc8989b4da289d9f449b346a
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: 2097741c7926d4046ab31d809bdfe2ee
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: b5c759086bc705c4c86feb3054f2f5ba
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: bac35e4e4800db3498e20875a469c838
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: e0a69f1c12fbfc44882a1de6749e0476
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: d808eb5047a4fa944a7630f13700b837
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: fdc8e3982758f2b489dc4bc6ffc4af16
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: 17e81c9c213f1364694cbb6140acef8b
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: 878cc1f75f019bc408f211e67f2e3b3d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: 36ca50646fcd9bb438393fe69f4fce4d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 1
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: c04dea6ddca855243b98689304bd531d
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,112 @@
fileFormatVersion: 2
guid: a980d13c990ec08429a09a1d0c1edb47
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 10
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
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: -1
aniso: -1
mipBias: -100
wrapU: -1
wrapV: -1
wrapW: -1
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
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
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
platformSettings:
- serializedVersion: 2
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Standalone
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
- serializedVersion: 2
buildTarget: Android
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,142 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
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: e5f45ad0538dc0d44b0b071a0f813b34, type: 3}
m_Name: PolarisEditorSettings
m_EditorClassIdentifier:
general:
enableAnalytics: 1
enableAffiliateLinks: 1
debugMode: 0
showGeometryChunkInHierarchy: 1
livePreview:
triangleMeshes:
- {fileID: 4300000, guid: b0c1d9f1f71dac242bf1e740df1d5daf, type: 3}
- {fileID: 4300000, guid: 4696ad07c62c7214db2580f0ec1b95b5, type: 3}
- {fileID: 4300000, guid: 31a151ed30b773c4291a88736a04b3a2, type: 3}
- {fileID: 4300000, guid: d3b8adb1a8ed2f9419de072e5beb84f9, type: 3}
- {fileID: 4300000, guid: 2be8ef80a0f55b049b3fdb04a887bc88, type: 3}
- {fileID: 4300000, guid: e9215a6e4d62f274d808f3bc09907a77, type: 3}
- {fileID: 4300000, guid: b1a74c377a6c24641904108eafa2858d, type: 3}
- {fileID: 4300000, guid: 3f5249ac2d9bdcb429e6dd1b53bc14be, type: 3}
- {fileID: 4300000, guid: 9081e385818e5a34fa640710053249b6, type: 3}
- {fileID: 4300000, guid: 6f7abdaf5814a8d418b35f1669addf61, type: 3}
- {fileID: 4300000, guid: b5661883f1e046c448831153b67fcd45, type: 3}
- {fileID: 4300000, guid: ce3db579ad4acf1439cffc5585e7b514, type: 3}
- {fileID: 4300000, guid: 7807d55b162ded547a688d7312ece635, type: 3}
- {fileID: 4300000, guid: 4fa4f3a0c335316429a5e3cad20987b3, type: 3}
wireframeMeshes:
- {fileID: -7545648769482682034, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: 7824496045614761139, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: 4415816138759136507, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: -4364259316440754202, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: 6077507419332752527, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: -4116841215985328909, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: 2788245635280905043, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: -4749800839919834088, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: -789986510596783984, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: 1871503086479567833, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: -6900690165918378340, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: 4322945996124586463, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: -3334679760937552935, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
- {fileID: 4496486162871604440, guid: 8d1a6310726c8af46a654a63d731e1d9, type: 2}
paintTools:
enableHistory: 1
enableLivePreview: 1
useSimpleCursor: 0
normalActionCursorColor: {r: 0.5019608, g: 0.5019608, b: 1, a: 0.7490196}
negativeActionCursorColor: {r: 1, g: 0.5019608, b: 0.5019608, a: 0.7490196}
alternativeActionCursorColor: {r: 1, g: 1, b: 0.5019608, a: 0.7490196}
radiusStep: 1
rotationStep: 3.6
opacityStep: 0.025
densityStep: 1
useMultiSplatsSelector: 1
showTerrainMask: 1
splineTools:
anchorColor: {r: 1, g: 0, b: 0, a: 1}
segmentColor: {r: 1, g: 0, b: 0, a: 1}
meshColor: {r: 0, g: 1, b: 1, a: 1}
selectedElementColor: {r: 1, g: 1, b: 0, a: 1}
positiveHighlightColor: {r: 0.5019608, g: 0.5019608, b: 1, a: 1}
negativeHighlightColor: {r: 1, g: 0, b: 0, a: 1}
autoTangent: 1
raycastLayers:
serializedVersion: 2
m_Bits: 55
showTransformGizmos: 0
livePreview:
rampMaker: 1
pathPainter: 1
foliageSpawner: 1
foliageRemover: 0
objectSpawner: 1
objectRemover: 1
billboardTools:
atlasMaterial: {fileID: 2100000, guid: 81ff27138fbe35e43b791b7088cbfa98, type: 2}
normalMaterial: {fileID: 2100000, guid: 9a11355ff1f8b8d4a86ba7f482824cf8, type: 2}
stampTools:
visualizeColor: {r: 0.5019608, g: 0.5019608, b: 1, a: 0.7490196}
minRotation: 0
maxRotation: 360
minScale: {x: 0.8, y: 0.8, z: 0.8}
maxScale: {x: 1.2, y: 1.5, z: 1.2}
showLivePreview: 1
showBounds: 1
showTerrainMask: 0
wizardTools:
lightingModel: 0
texturingModel: 1
splatsModel: 2
origin: {x: 0, y: 0, z: 0}
tileSize: {x: 500, y: 200, z: 500}
tileCountX: 1
tileCountZ: 1
groupId: 0
terrainNamePrefix: Terrain
dataDirectory: Assets/_Demo/TerrainData
setShaderGroupId: -1
renderPipelines:
universalRenderPipelinePackage: {fileID: 102900000, guid: 8bc88477f037e96478019bba8de301fd,
type: 3}
topographic:
enable: 0
topographicMaterial: {fileID: 2100000, guid: f1271be60ed7edf4f86c5d532eeb2bf3,
type: 2}
erosionTools:
livePreviewMode: 0
dataView: 2
dataViewScale: 0.88
dataViewChannel: 1
showTerrainMask: 0
layers:
raycastLayerIndex: 30
splineLayerIndex: 31
demoAssets:
demoMaterials:
- {fileID: 2100000, guid: 735795f0372b8ed49aea89baa817642d, type: 2}
- {fileID: 2100000, guid: 6f0e4c3dd6e1bbc45aec4d7514a897d0, type: 2}
- {fileID: 2100000, guid: f2dbbe3190b796d40a0de9fb6b7473b9, type: 2}
- {fileID: 2100000, guid: a324a9e7defbd0c44b27d4bb0a07de9d, type: 2}
- {fileID: 2100000, guid: 58b50d1c1e3226346af664b510a6317a, type: 2}
- {fileID: 2100000, guid: 08bc31ddd4e8b0e4fad8f22e1f97c611, type: 2}
- {fileID: 2100000, guid: f060003264469674aad81ac4c67a59e9, type: 2}
- {fileID: 2100000, guid: 918c39926d6ac6b459c226df83376a98, type: 2}
- {fileID: 2100000, guid: 734ed51a95631de45bcbdbb13da48839, type: 2}
- {fileID: 2100000, guid: dccd4f45664843347b6140f5ade5d559, type: 2}
- {fileID: 2100000, guid: 7136b5e7cb6d2da4285f19308a5d484b, type: 2}
- {fileID: 2100000, guid: 1d5951a2a69fd634bab222c0c5ac3eaa, type: 2}
- {fileID: 2100000, guid: f303d8cae092c5b4498c70815c61cf7e, type: 2}
- {fileID: 2100000, guid: 4da735dab769da044b577f44995d83a6, type: 2}
- {fileID: 2100000, guid: 40be8d162497a4a4ca220bbaf3d032bc, type: 2}
- {fileID: 2100000, guid: 76a744d72fa84474397198c81fa41777, type: 2}
- {fileID: 2100000, guid: f4003bec18117a34b85209e63e111c03, type: 2}
- {fileID: 2100000, guid: ce4677e7d6bc9264a8ba53c46f51ade6, type: 2}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: b3229b65bd046644a9132debd5a4cc6c
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,39 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
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: 74547fd1526184b4088998c69e46ffea, type: 3}
m_Name: PolarisSkin
m_EditorClassIdentifier:
textures:
- {fileID: 2800000, guid: 088457680be0e8b41813ba352a4b19ea, type: 3}
- {fileID: 2800000, guid: d42681901f8662b41941c82d7dca0ec8, type: 3}
- {fileID: 2800000, guid: 40b931fcb4fd4d04ab710f1a850cbd73, type: 3}
- {fileID: 2800000, guid: c58ad81d72b5c624aa0a7ba4b3e14373, type: 3}
- {fileID: 2800000, guid: 591d4c9fbe7b16849b8de6e3b3ecb268, type: 3}
- {fileID: 2800000, guid: ebd8a1d9d73590c46b57b034f64e792f, type: 3}
- {fileID: 2800000, guid: 81dffbdd326cbc04b883684c728e009d, type: 3}
- {fileID: 2800000, guid: 1230b7583cbf3544e920206f6dbc8169, type: 3}
- {fileID: 2800000, guid: d40864a6805879e4c9e45369718f6199, type: 3}
- {fileID: 2800000, guid: 951f32e54569bfc468e13dac18cb5f3d, type: 3}
- {fileID: 2800000, guid: 064a1781acf1dfd4893e2a3000801cfd, type: 3}
- {fileID: 2800000, guid: 8ddc15744c332cf4f9a0201a6ba2cdf3, type: 3}
- {fileID: 2800000, guid: 8ea68ca6867fe074ba0b5850780977f4, type: 3}
- {fileID: 2800000, guid: d6d3a527a9addcd459b2dfa2dfe60f7d, type: 3}
- {fileID: 2800000, guid: 5b890136503b1ea4c97a74c0c3879303, type: 3}
- {fileID: 2800000, guid: 6d2e238d0fddfb84c8c89137c629430d, type: 3}
- {fileID: 2800000, guid: 9b571de6a53b07e4dae2e7d5be148d75, type: 3}
- {fileID: 2800000, guid: 1ac3d37e93f95df438e9a7156efdc4f3, type: 3}
- {fileID: 2800000, guid: 76d4675bfad3d734d9932fa98d8f8010, type: 3}
- {fileID: 2800000, guid: a2bf6801097a522438eb03bf0cda68fc, type: 3}
- {fileID: 2800000, guid: cc953290d309828419b257b5e9ad3530, type: 3}
- {fileID: 2800000, guid: 6c006b88daf9b734fa2c402508cdcd91, type: 3}
- {fileID: 2800000, guid: 245d33fc09f637c498c0ad1596b73e54, type: 3}
- {fileID: 2800000, guid: eea2d53261a58f7408cadc9ba801e74f, type: 3}

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ea1b79518676b2c45a77a9c86cc0cd18
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,15 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
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: b2aedad9cacd3b54996f2e6ef60fcff2, type: 3}
m_Name: UndoCompatibleBuffer
m_EditorClassIdentifier:
currentBackupName: ~Begin Make Ramp_202496183751

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 16c3e9fe9c6c2bb4593dab0bd265ce2e
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 11400000
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 30cceb015365cdf43b921315c971ff06
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0c3c3a6c42ad0a84995c9b691b664e76
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,20 @@
#if GRIFFIN
using UnityEditor;
namespace Pinwheel.Griffin.BackupTool
{
[CustomEditor(typeof(GBackupData))]
public class GBackupDataInspector : Editor
{
private GBackupData instance;
private void OnEnable()
{
instance = target as GBackupData;
}
public override void OnInspectorGUI()
{
}
}
}
#endif

View File

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

View File

@ -0,0 +1,352 @@
#if GRIFFIN
using System.Collections.Generic;
using UnityEditor;
using UnityEngine;
namespace Pinwheel.Griffin.BackupTool
{
public class GBackupEditor : EditorWindow
{
public static GBackupEditor Instance { get; set; }
private string backupName;
private string BackupName
{
get
{
return backupName;
}
set
{
backupName = value;
}
}
private int groupId = -1;
private int GroupID
{
get
{
return groupId;
}
set
{
groupId = value;
}
}
private bool useAutoName;
private bool UseAutoName
{
get
{
return useAutoName;
}
set
{
useAutoName = value;
}
}
private Vector2 ScrollPos { get; set; }
private List<string> backups;
private List<string> Backups
{
get
{
if (backups == null)
backups = new List<string>();
return backups;
}
}
public static void ShowWindow()
{
GBackupEditor window = GetWindow<GBackupEditor>();
window.titleContent = new GUIContent("Backup");
window.minSize = new Vector2(250, 300);
window.Show();
}
private void OnEnable()
{
Undo.undoRedoPerformed += OnUndoRedo;
GBackup.Changed += OnBackupChanged;
Instance = this;
wantsMouseMove = true;
groupId = EditorPrefs.GetInt(GEditorCommon.GetProjectRelatedEditorPrefsKey("backupeditor", "groupid"), -1);
useAutoName = EditorPrefs.GetBool(GEditorCommon.GetProjectRelatedEditorPrefsKey("backupeditor", "autoname"), true);
RefreshBackup();
}
private void OnDisable()
{
Undo.undoRedoPerformed -= OnUndoRedo;
GBackup.Changed -= OnBackupChanged;
Instance = null;
EditorPrefs.SetInt(GEditorCommon.GetProjectRelatedEditorPrefsKey("backupeditor", "groupid"), groupId);
EditorPrefs.SetBool(GEditorCommon.GetProjectRelatedEditorPrefsKey("backupeditor", "autoname"), useAutoName);
}
private void OnUndoRedo()
{
Repaint();
}
private void OnBackupChanged()
{
RefreshBackup();
}
private void OnGUI()
{
ScrollPos = EditorGUILayout.BeginScrollView(ScrollPos);
DrawCreateBackupGUI();
DrawAvailableBackups();
DrawEditingHistory();
EditorGUILayout.EndScrollView();
HandleRepaint();
}
private void DrawCreateBackupGUI()
{
string label = "Create";
string id = "createbackup";
GEditorCommon.Foldout(label, false, id, () =>
{
float labelWidth = EditorGUIUtility.labelWidth;
EditorGUIUtility.labelWidth = 100;
GroupID = GEditorCommon.ActiveTerrainGroupPopupWithAllOption("Group Id", GroupID);
GUI.enabled = !UseAutoName;
BackupName = EditorGUILayout.TextField("Name", BackupName);
GUI.enabled = true;
UseAutoName = EditorGUILayout.Toggle("Auto Name", UseAutoName);
if (UseAutoName)
{
BackupName = GBackupFile.GetBackupNameByTimeNow();
}
GUI.enabled = !string.IsNullOrEmpty(BackupName);
EditorGUILayout.BeginHorizontal();
EditorGUILayout.GetControlRect(GUILayout.Width(GEditorCommon.indentSpace));
Rect r = EditorGUILayout.GetControlRect();
if (GUI.Button(r, "Create"))
{
EditorUtility.DisplayProgressBar("Backing Up", "Creating backup files...", 1);
GUndoCompatibleBuffer.Instance.RecordUndo();
GBackup.Create(BackupName, GroupID);
EditorUtility.ClearProgressBar();
}
EditorGUILayout.EndHorizontal();
GUI.enabled = true;
EditorGUIUtility.labelWidth = labelWidth;
});
}
private void DrawAvailableBackups()
{
string label = "Available Backups";
string id = "availablebackups";
GEditorCommon.Foldout(label, false, id, () =>
{
int entryCount = 0;
for (int i = 0; i < Backups.Count; ++i)
{
if (!Backups[i].StartsWith("~"))
{
entryCount += 1;
DrawBackupEntry(Backups[i]);
}
}
if (entryCount == 0)
{
EditorGUILayout.LabelField("No Backup found!", GEditorCommon.WordWrapItalicLabel);
}
});
}
private void RefreshBackup()
{
List<string> backups = new List<string>(GBackupFile.GetAllBackupNames());
Backups.Clear();
Backups.AddRange(backups);
Repaint();
}
private void DrawBackupEntry(string backupName)
{
Rect r = EditorGUILayout.GetControlRect();
if (r.Contains(Event.current.mousePosition))
{
Color boxColor = EditorGUIUtility.isProSkin ? GEditorCommon.lightGrey : GEditorCommon.darkGrey;
GEditorCommon.DrawOutlineBox(r, boxColor);
if (Event.current != null && Event.current.type == EventType.MouseDown)
{
if (Event.current.button == 0)
{
ConfirmAndRestoreBackup(backupName);
}
else if (Event.current.button == 1)
{
GenericMenu menu = new GenericMenu();
menu.AddItem(
new GUIContent("Restore"),
false,
() => { ConfirmAndRestoreBackup(backupName); });
menu.AddItem(
new GUIContent("Delete"),
false,
() => { ConfirmAndDeleteBackup(backupName); });
menu.ShowAsContext();
}
}
}
EditorGUI.LabelField(r, backupName);
if (backupName.Equals(GUndoCompatibleBuffer.Instance.CurrentBackupName))
{
Rect dotRect = new Rect(r.x, r.y, r.height, r.height);
GUI.Label(dotRect, GEditorCommon.dot);
}
}
private void ConfirmAndDeleteBackup(string backupName)
{
if (EditorUtility.DisplayDialog(
"Confirm",
"Delete the selected Backup?\n" +
"This action cannot be undone!",
"OK", "Cancel"))
{
GBackup.Delete(backupName);
RefreshBackup();
Repaint();
}
}
private void ConfirmAndRestoreBackup(string backupName)
{
if (EditorUtility.DisplayDialog(
"Confirm",
"Restore this Backup?\n" +
"It's better to save your work before proceeding!",
"OK", "Cancel"))
{
RestoreBackup(backupName);
}
}
private void HandleRepaint()
{
if (Event.current != null && Event.current.isMouse)
Repaint();
}
private void DrawEditingHistory()
{
string label = "History";
string id = "history";
GenericMenu context = new GenericMenu();
context.AddItem(
new GUIContent("Clear"),
false,
() => { ConfirmAndClearHistory(); });
GEditorCommon.Foldout(label, false, id, () =>
{
int entryCount = 0;
for (int i = 0; i < Backups.Count; ++i)
{
if (Backups[i].StartsWith("~"))
{
entryCount += 1;
DrawHistoryEntry(Backups[i]);
}
}
if (entryCount == 0)
{
EditorGUILayout.LabelField("No History found", GEditorCommon.WordWrapItalicLabel);
}
},
context);
}
private void ConfirmAndClearHistory()
{
if (EditorUtility.DisplayDialog(
"Confirm",
"Clear all History?\n" +
"This action cannot be undone!",
"OK", "Cancel"))
{
EditorUtility.DisplayProgressBar("Deleting", "Deleting History files...", 1);
try
{
GBackup.ClearHistory();
}
catch (System.Exception e)
{
Debug.LogError(e);
}
EditorUtility.ClearProgressBar();
}
}
private void DrawHistoryEntry(string backupName)
{
Rect r = EditorGUILayout.GetControlRect();
if (r.Contains(Event.current.mousePosition))
{
Color boxColor = EditorGUIUtility.isProSkin ? GEditorCommon.lightGrey : GEditorCommon.midGrey;
GEditorCommon.DrawOutlineBox(r, boxColor);
if (Event.current != null && Event.current.type == EventType.MouseDown)
{
if (Event.current.button == 0)
{
RestoreBackup(backupName);
}
else if (Event.current.button == 1)
{
GenericMenu menu = new GenericMenu();
menu.AddItem(
new GUIContent("Restore"),
false,
() => { RestoreBackup(backupName); });
menu.AddItem(
new GUIContent("Delete"),
false,
() => { ConfirmAndDeleteBackup(backupName); });
menu.ShowAsContext();
}
}
}
string displayName = backupName.Substring(1, backupName.IndexOf('_') - 1);
EditorGUI.LabelField(r, displayName);
if (backupName.Equals(GUndoCompatibleBuffer.Instance.CurrentBackupName))
{
Rect dotRect = new Rect(r.x, r.y, r.height, r.height);
GUI.Label(dotRect, GEditorCommon.dot);
}
}
private void RestoreBackup(string backupName)
{
EditorUtility.DisplayProgressBar("Restoring", "Restoring terrain data...", 1);
GUndoCompatibleBuffer.Instance.RecordUndo();
GBackup.Restore(backupName);
EditorUtility.ClearProgressBar();
}
}
}
#endif

View File

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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: d89836c39f0468c498f66c339b482c87
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,819 @@
#if GRIFFIN
using System.Collections.Generic;
using System.IO;
using UnityEditor;
using UnityEngine;
namespace Pinwheel.Griffin.BillboardTool
{
public class GBillboardEditor : GTwoPaneWindowWindow
{
private int previewPadding = 10;
private bool alphaBlend = true;
private GBillboardRenderMode mode;
private GameObject target;
private int row = 4;
private int column = 4;
private int cellSize = 256;
private Vector3 cameraOffset = new Vector3(0, 0, 5);
private float cameraSize = 1;
private Material atlasMaterial;
private Material normalMaterial;
private string srcTextureProps = "_MainTex";
private string desTextureProps = "_MainTex";
private string srcColorProps = "_Color";
private string desColorProps = "_Color";
private int cellIndex = 0;
private List<Vector2> vertices = new List<Vector2>(new Vector2[] { new Vector2(0.01f, 0.01f), new Vector2(0.01f, 0.99f), new Vector2(0.99f, 0.99f), new Vector2(0.99f, 0.01f) });
private int selectedVertexIndex = -1;
private float vertexClickDistance = 10;
private ushort[] tris = new ushort[0];
private float bottom = 0;
private float width = 1;
private float height = 2;
private string saveFolder;
private const int MAX_VERTICES = 10;
private int[] rowColumnValues = new int[] { 1, 2, 4, 8, 16 };
private string[] rowColumnLabels = new string[] { "1", "2", "4", "8", "16" };
private int[] cellSizeValues = new int[] { 128, 256, 512 };
private string[] cellSizeLabels = new string[] { "128", "256", "512" };
private RenderTexture previewRt;
private const string ATLAS_INSTRUCTION =
"Preview billboard atlas. Image order from bottom-left to top-right.";
private const string NORMAL_INSTRUCTION =
"Preview billboard normal map. Image order from bottom-left to top-right";
private const string FLIPBOOK_INSTRUCTION =
"Preview billboard transition and edit billboard mesh.\n" +
" - Use Scrollwheel to iterate images.\n" +
" - Use Left Mouse to edit vertex position.\n" +
" - Use Ctrl & Left Mouse to remove vertex.\n" +
" - Use Shift & Left Mouse to add vertex.\n" +
"For best rendering performance, billboard mesh is limited at maximum 10 vertices.";
private const string KEY_BILLBOARDEDITOR = "billboardeditor";
private const string KEY_MODE = "mode";
private const string KEY_PREFAB = "prefab";
private const string KEY_ROW = "row";
private const string KEY_COLUMN = "column";
private const string KEY_CELLSIZE = "cellsize";
private const string KEY_CAM_X = "camx";
private const string KEY_CAM_Y = "camy";
private const string KEY_CAM_Z = "camz";
private const string KEY_CAM_SIZE = "camsize";
private const string KEY_ATLAS_MAT = "atlasmat";
private const string KEY_NORMAL_MAT = "normalmat";
private const string KEY_SRC_TEX_PROPS = "srctex";
private const string KEY_DES_TEX_PROPS = "destex";
private const string KEY_SRC_COLOR_PROPS = "srccolor";
private const string KEY_DES_COLOR_PROPS = "descolor";
private const string KEY_BOTTOM = "bottom";
private const string KEY_WIDTH = "width";
private const string KEY_HEIGHT = "height";
private const string KEY_ALPHA_BLEND = "alphablend";
private const string KEY_SAVE_FOLDER = "save-folder";
private List<string> srcColorSuggestion;
private List<string> SrcColorSuggestion
{
get
{
if (srcColorSuggestion == null)
{
srcColorSuggestion = new List<string>();
}
return srcColorSuggestion;
}
}
private List<string> srcTextureSuggestion;
private List<string> SrcTextureSuggestion
{
get
{
if (srcTextureSuggestion == null)
{
srcTextureSuggestion = new List<string>();
}
return srcTextureSuggestion;
}
}
public static void ShowWindow()
{
GBillboardEditor window = EditorWindow.GetWindow<GBillboardEditor>();
window.titleContent = new GUIContent("Billboard");
window.minSize = new Vector2(400, 300);
window.Show();
}
private void OnEnable()
{
LoadPrefs();
wantsMouseMove = true;
tris = GBillboardCreator.Triangulate(vertices.ToArray());
RenderPreview();
RefreshMaterialPropsSuggestions();
}
private void OnDisable()
{
SavePrefs();
}
private void SavePrefs()
{
EditorPrefs.SetInt(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_MODE), (int)mode);
if (target != null)
{
string assetPath = AssetDatabase.GetAssetPath(target);
if (!string.IsNullOrEmpty(assetPath))
{
EditorPrefs.SetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_PREFAB), assetPath);
}
}
EditorPrefs.SetInt(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_ROW), row);
EditorPrefs.SetInt(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_COLUMN), column);
EditorPrefs.SetInt(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_CELLSIZE), cellSize);
EditorPrefs.SetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_CAM_X), cameraOffset.x);
EditorPrefs.SetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_CAM_Y), cameraOffset.y);
EditorPrefs.SetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_CAM_Z), cameraOffset.z);
EditorPrefs.SetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_CAM_SIZE), cameraSize);
if (atlasMaterial != null)
{
string assetPath = AssetDatabase.GetAssetPath(atlasMaterial);
if (!string.IsNullOrEmpty(assetPath))
{
EditorPrefs.SetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_ATLAS_MAT), assetPath);
}
}
if (normalMaterial != null)
{
string assetPath = AssetDatabase.GetAssetPath(normalMaterial);
if (!string.IsNullOrEmpty(assetPath))
{
EditorPrefs.SetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_NORMAL_MAT), assetPath);
}
}
EditorPrefs.SetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_SRC_COLOR_PROPS), srcColorProps);
EditorPrefs.SetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_DES_COLOR_PROPS), desColorProps);
EditorPrefs.SetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_SRC_TEX_PROPS), srcTextureProps);
EditorPrefs.SetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_DES_TEX_PROPS), desTextureProps);
EditorPrefs.SetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_WIDTH), width);
EditorPrefs.SetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_HEIGHT), height);
EditorPrefs.SetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_BOTTOM), bottom);
EditorPrefs.SetBool(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_ALPHA_BLEND), alphaBlend);
EditorPrefs.SetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_SAVE_FOLDER), saveFolder);
}
private void LoadPrefs()
{
mode = (GBillboardRenderMode)EditorPrefs.GetInt(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_MODE), 0);
string targetAssetPath = EditorPrefs.GetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_PREFAB), string.Empty);
target = AssetDatabase.LoadAssetAtPath<GameObject>(targetAssetPath);
row = EditorPrefs.GetInt(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_ROW), 4);
column = EditorPrefs.GetInt(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_COLUMN), 4);
cellSize = EditorPrefs.GetInt(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_CELLSIZE), 256);
float camX = EditorPrefs.GetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_CAM_X), 0);
float camY = EditorPrefs.GetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_CAM_Y), -2);
float camZ = EditorPrefs.GetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_CAM_Z), 0);
cameraOffset = new Vector3(camX, camY, camZ);
cameraSize = EditorPrefs.GetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_CAM_SIZE), 2);
atlasMaterial = GEditorSettings.Instance.billboardTools.atlasMaterial;
normalMaterial = GEditorSettings.Instance.billboardTools.normalMaterial;
srcColorProps = EditorPrefs.GetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_SRC_COLOR_PROPS), "_Color");
desColorProps = EditorPrefs.GetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_DES_COLOR_PROPS), "_Color");
srcTextureProps = EditorPrefs.GetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_SRC_TEX_PROPS), "_MainTex");
desTextureProps = EditorPrefs.GetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_DES_TEX_PROPS), "_MainTex");
width = EditorPrefs.GetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_WIDTH), 1);
height = EditorPrefs.GetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_HEIGHT), 2);
bottom = EditorPrefs.GetFloat(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_BOTTOM), 0.2f);
alphaBlend = EditorPrefs.GetBool(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_ALPHA_BLEND), true);
saveFolder = EditorPrefs.GetString(GEditorCommon.GetProjectRelatedEditorPrefsKey(KEY_BILLBOARDEDITOR, KEY_SAVE_FOLDER), "Assets/");
}
protected override void OnToolbarGUI(Rect r)
{
base.OnToolbarGUI(r);
List<string> buttonLabels = new List<string>()
{
"Atlas",
"Normal",
"Flipbook",
"",
"A"
};
List<Rect> buttonRects = EditorGUIUtility.GetFlowLayoutedRects(r, EditorStyles.toolbarButton, 0, 0, buttonLabels);
for (int i = 0; i < 3; ++i)
{
if (GUI.Button(buttonRects[i], buttonLabels[i], EditorStyles.toolbarButton))
{
mode = (GBillboardRenderMode)i;
RenderPreview();
}
if (i == (int)mode)
{
Color highlightColor = EditorGUIUtility.isProSkin ? new Color(1, 1, 1, 0.1f) : new Color(1, 1, 1, 0.3f);
EditorGUI.DrawRect(buttonRects[i], highlightColor);
}
}
if (GUI.Button(buttonRects[4], buttonLabels[4], EditorStyles.toolbarButton))
{
alphaBlend = !alphaBlend;
}
if (alphaBlend)
{
Color highlightColor = EditorGUIUtility.isProSkin ? new Color(1, 1, 1, 0.1f) : new Color(1, 1, 1, 0.3f);
EditorGUI.DrawRect(buttonRects[4], highlightColor);
}
Rect saveButtonRect = new Rect(
r.max.x - 100 - 2,
r.min.y,
100,
r.height);
if (GUI.Button(saveButtonRect, "Save", EditorStyles.toolbarButton))
{
SaveAssets();
}
}
private GBillboardCreatorArgs ConstructArgs()
{
GBillboardCreatorArgs args = new GBillboardCreatorArgs();
args.Mode = mode;
args.Target = target;
args.Row = row;
args.Column = column;
args.CellSize = cellSize;
args.CameraOffset = cameraOffset;
args.CameraSize = cameraSize;
args.AtlasMaterial = atlasMaterial;
args.NormalMaterial = normalMaterial;
args.SrcColorProps = srcColorProps;
//args.DesColorProps = desColorProps;
args.DesColorProps = "_Color";
args.SrcTextureProps = srcTextureProps;
//args.DesTextureProps = desTextureProps;
args.DesTextureProps = "_MainTex";
args.CellIndex = cellIndex % (args.Row * args.Column);
args.Vertices = vertices.ToArray();
args.Width = width;
args.Height = height;
args.Bottom = bottom;
return args;
}
private void CopyArgs(GBillboardCreatorArgs args)
{
mode = args.Mode;
target = args.Target;
row = args.Row;
column = args.Column;
cellSize = args.CellSize;
cameraOffset = args.CameraOffset;
cameraSize = args.CameraSize;
atlasMaterial = args.AtlasMaterial;
normalMaterial = args.NormalMaterial;
srcColorProps = args.SrcColorProps;
desColorProps = args.DesColorProps;
srcTextureProps = args.SrcTextureProps;
desTextureProps = args.DesTextureProps;
cellIndex = args.CellIndex;
vertices = new List<Vector2>(args.Vertices);
width = args.Width;
height = args.Height;
bottom = args.Bottom;
tris = GBillboardCreator.Triangulate(vertices.ToArray());
}
protected override void OnLeftPaneGUI(Rect r)
{
base.OnLeftPaneGUI(r);
Rect previewRect = new Rect();
int size = Mathf.FloorToInt(Mathf.Min(LeftPaneRect.width, LeftPaneRect.height) - 2 * previewPadding);
previewRect.size = new Vector2(size, size);
previewRect.center = LeftPaneRect.center;
if (previewRt != null)
{
if (alphaBlend)
EditorGUI.DrawTextureTransparent(previewRect, previewRt, ScaleMode.ScaleToFit);
else
EditorGUI.DrawPreviewTexture(previewRect, previewRt, null, ScaleMode.ScaleToFit);
}
else
{
EditorGUI.DrawRect(previewRect, Color.black);
}
if (Event.current != null &&
Event.current.isScrollWheel &&
previewRect.Contains(Event.current.mousePosition) &&
mode == GBillboardRenderMode.Flipbook)
{
cellIndex += (int)(Event.current.delta.y / 2f);
if (cellIndex < 0)
cellIndex = row * column - 1;
if (cellIndex >= row * column)
cellIndex = 0;
RenderPreview();
}
if (mode == GBillboardRenderMode.Flipbook)
{
DrawBottomLine(previewRect);
DrawTriangles(previewRect);
DrawVertices(previewRect);
Rect pageRect = new Rect(
previewRect.min.x, previewRect.max.y - 20,
previewRect.width, 20);
EditorGUI.DropShadowLabel(pageRect, string.Format("{0}/{1}", cellIndex + 1, row * column), GEditorCommon.CenteredWhiteLabel);
}
}
private void DrawTriangles(Rect previewRect)
{
if (tris == null)
return;
if (tris.Length % 3 != 0)
{
Debug.Log("Invalid tris array!");
return;
}
int trisCount = tris.Length / 3;
for (int i = 0; i < trisCount; ++i)
{
Vector2 v0 = vertices[tris[i * 3 + 0]];
Vector2 v1 = vertices[tris[i * 3 + 1]];
Vector2 v2 = vertices[tris[i * 3 + 2]];
v0 = GUtilities.FlipY(v0);
v1 = GUtilities.FlipY(v1);
v2 = GUtilities.FlipY(v2);
Vector2 p0 = Rect.NormalizedToPoint(previewRect, v0);
Vector2 p1 = Rect.NormalizedToPoint(previewRect, v1);
Vector2 p2 = Rect.NormalizedToPoint(previewRect, v2);
GEditorCommon.DrawLine(p0, p1, Color.green);
GEditorCommon.DrawLine(p1, p2, Color.green);
GEditorCommon.DrawLine(p2, p0, Color.green);
}
}
private void DrawVertices(Rect previewRect)
{
if (vertices == null)
{
vertices = new List<Vector2>();
tris = new ushort[0];
}
for (int i = 0; i < vertices.Count; ++i)
{
HandleEditingVertices(previewRect, i);
}
HandleAddVertex(previewRect);
}
private void DrawBottomLine(Rect previewRect)
{
float h = bottom / (bottom - height);
h = 1 - h;
Vector2 p0 = Rect.NormalizedToPoint(previewRect, new Vector2(0, h));
Vector2 p1 = Rect.NormalizedToPoint(previewRect, new Vector2(1, h));
GEditorCommon.DrawLine(p0, p1, Color.red);
}
private void HandleEditingVertices(Rect previewRect, int vertIndex)
{
if (vertIndex >= vertices.Count)
return;
if (Event.current == null)
return;
Event e = Event.current;
Vector2 uv = vertices[vertIndex];
Vector2 point = Rect.NormalizedToPoint(previewRect, GUtilities.FlipY(uv));
if (e.type == EventType.MouseDown)
{
selectedVertexIndex = -1;
float d = Vector2.Distance(e.mousePosition, point);
if (d <= vertexClickDistance)
{
if (e.button == 0 && !e.control)
{
selectedVertexIndex = vertIndex;
e.Use();
}
else if (e.button == 0 && e.control)
{
vertices.RemoveAt(vertIndex);
tris = GBillboardCreator.Triangulate(vertices.ToArray());
e.Use();
}
}
}
else if (e.type == EventType.MouseDrag)
{
if (selectedVertexIndex == vertIndex)
{
point = e.mousePosition;
uv = Rect.PointToNormalized(previewRect, point);
uv.Set(Mathf.Clamp01(uv.x), Mathf.Clamp01(uv.y));
vertices[vertIndex] = GUtilities.FlipY(uv);
tris = GBillboardCreator.Triangulate(vertices.ToArray());
e.Use();
}
}
Color handleColor = selectedVertexIndex == vertIndex ? Color.yellow : Color.green;
float handleSize = 6;
Rect handleRect = new Rect();
handleRect.size = Vector2.one * handleSize;
handleRect.center = point;
EditorGUI.DrawRect(handleRect, handleColor);
}
private void HandleAddVertex(Rect previewRect)
{
if (vertices.Count >= MAX_VERTICES)
return;
if (Event.current == null)
return;
Event e = Event.current;
if (e.type == EventType.MouseDown && e.shift)
{
if (!previewRect.Contains(e.mousePosition))
return;
Vector2 uv = Rect.PointToNormalized(previewRect, e.mousePosition);
vertices.Add(GUtilities.FlipY(uv));
selectedVertexIndex = vertices.Count - 1;
tris = GBillboardCreator.Triangulate(vertices.ToArray());
e.Use();
}
}
protected override void OnRightPaneScrollViewGUI()
{
base.OnRightPaneScrollViewGUI();
EditorGUI.BeginChangeCheck();
float labelWidth = EditorGUIUtility.labelWidth;
EditorGUIUtility.labelWidth = 120;
DrawInstruction();
DrawTargetSettings();
DrawCameraSettings();
DrawAtlasSettings();
DrawMaterialSettings();
if (mode == GBillboardRenderMode.Flipbook)
{
DrawMeshSettings();
}
DrawUtilities();
EditorGUIUtility.labelWidth = labelWidth;
if (EditorGUI.EndChangeCheck())
{
RenderPreview();
}
}
private void DrawInstruction()
{
string label = "Instruction";
string id = "billboardeditor-instruction";
GEditorCommon.Foldout(label, false, id, () =>
{
string instruction =
mode == GBillboardRenderMode.Atlas ? ATLAS_INSTRUCTION :
mode == GBillboardRenderMode.Normal ? NORMAL_INSTRUCTION :
mode == GBillboardRenderMode.Flipbook ? FLIPBOOK_INSTRUCTION :
string.Empty;
EditorGUILayout.LabelField(instruction, GEditorCommon.WordWrapItalicLabel);
});
}
private void DrawTargetSettings()
{
string label = "Target";
string id = "billboardeditor-target";
GEditorCommon.Foldout(label, false, id, () =>
{
EditorGUI.BeginChangeCheck();
target = EditorGUILayout.ObjectField("Prefab", target, typeof(GameObject), true) as GameObject;
if (EditorGUI.EndChangeCheck())
{
GBillboardCreatorArgs args = GBillboardCreator.FitCameraToTarget(ConstructArgs());
CopyArgs(args);
RefreshMaterialPropsSuggestions();
}
});
}
private void DrawCameraSettings()
{
string label = "Camera";
string id = "billboardeditor-camera";
GEditorCommon.Foldout(label, false, id, () =>
{
EditorGUIUtility.wideMode = true;
cameraOffset = EditorGUILayout.Vector3Field("Offset", cameraOffset);
EditorGUIUtility.wideMode = false;
cameraSize = EditorGUILayout.FloatField("Size", cameraSize);
cameraSize = Mathf.Max(0, cameraSize);
});
}
private void DrawAtlasSettings()
{
string label = "Atlas";
string id = "billboardeditor-atlas";
GEditorCommon.Foldout(label, false, id, () =>
{
row = EditorGUILayout.IntPopup("Row", row, rowColumnLabels, rowColumnValues);
column = EditorGUILayout.IntPopup("Column", column, rowColumnLabels, rowColumnValues);
cellSize = EditorGUILayout.IntPopup("Cell Size", cellSize, cellSizeLabels, cellSizeValues);
EditorGUILayout.LabelField("Resolution: ", string.Format("{0} x {1}", column * cellSize, row * cellSize));
});
}
private void DrawMaterialSettings()
{
string label = "Materials";
string id = "billboardeditor-materials";
GEditorCommon.Foldout(label, false, id, () =>
{
GUI.enabled = false;
atlasMaterial = EditorGUILayout.ObjectField("Atlas Material", atlasMaterial, typeof(Material), false) as Material;
normalMaterial = EditorGUILayout.ObjectField("Normal Material", normalMaterial, typeof(Material), false) as Material;
GUI.enabled = true;
EditorGUILayout.BeginHorizontal();
srcColorProps = EditorGUILayout.TextField("Source Color", srcColorProps);
if (GUILayout.Button(GEditorCommon.contextIconText, EditorStyles.label, GUILayout.Width(14)))
{
GenericMenu menu = new GenericMenu();
if (SrcColorSuggestion.Count > 0)
{
menu.AddDisabledItem(new GUIContent("Suggestion"));
menu.AddSeparator(null);
for (int i = 0; i < SrcColorSuggestion.Count; ++i)
{
string s = SrcColorSuggestion[i];
menu.AddItem(
new GUIContent(s),
false,
() => { srcColorProps = s; RenderPreview(); });
}
}
else
{
menu.AddDisabledItem(new GUIContent("No suitable property found!"));
}
menu.ShowAsContext();
}
EditorGUILayout.EndHorizontal();
//desColorProps = EditorGUILayout.TextField("Des Color", desColorProps);
EditorGUILayout.BeginHorizontal();
srcTextureProps = EditorGUILayout.TextField("Source Texture", srcTextureProps);
if (GUILayout.Button(GEditorCommon.contextIconText, EditorStyles.label, GUILayout.Width(14)))
{
GenericMenu menu = new GenericMenu();
if (SrcTextureSuggestion.Count > 0)
{
menu.AddDisabledItem(new GUIContent("Suggestion"));
menu.AddSeparator(null);
for (int i = 0; i < SrcTextureSuggestion.Count; ++i)
{
string s = SrcTextureSuggestion[i];
menu.AddItem(
new GUIContent(s),
false,
() => { srcTextureProps = s; RenderPreview(); });
}
}
else
{
menu.AddDisabledItem(new GUIContent("No suitable property found!"));
}
menu.ShowAsContext();
}
EditorGUILayout.EndHorizontal();
//desTextureProps = EditorGUILayout.TextField("Des Texture", desTextureProps);
});
}
private void RenderPreview()
{
GBillboardCreatorArgs args = ConstructArgs();
GBillboardCreator.PrepareRenderTexture(ref previewRt, args);
GBillboardCreator.RenderPreview(previewRt, args);
}
private void DrawMeshSettings()
{
string label = "Mesh";
string id = "billboardeditor-mesh";
GEditorCommon.Foldout(label, false, id, () =>
{
int trisCount = tris.Length / 3;
EditorGUILayout.LabelField("Triangles", trisCount.ToString());
EditorGUILayout.LabelField("Vertices", vertices.Count.ToString());
EditorGUI.indentLevel += 1;
for (int i = 0; i < vertices.Count; ++i)
{
Vector2 v = vertices[i];
EditorGUIUtility.wideMode = true;
v = EditorGUILayout.Vector2Field("Vertex " + i, v);
EditorGUIUtility.wideMode = false;
v.Set(Mathf.Clamp01(v.x), Mathf.Clamp01(v.y));
vertices[i] = v;
}
EditorGUI.indentLevel -= 1;
width = EditorGUILayout.FloatField("Width", width);
width = Mathf.Max(0, width);
height = EditorGUILayout.FloatField("Height", height);
height = Mathf.Max(0, height);
bottom = EditorGUILayout.FloatField("Bottom", bottom);
bottom = Mathf.Min(bottom, 0);
});
}
private void DrawUtilities()
{
string label = "Utilites";
string id = "billboardeditor-utilities";
GEditorCommon.Foldout(label, false, id, () =>
{
Rect fitButtonRect = EditorGUILayout.GetControlRect();
if (GUI.Button(fitButtonRect, "Fit Camera"))
{
GBillboardCreatorArgs args = GBillboardCreator.FitCameraToTarget(ConstructArgs());
CopyArgs(args);
}
});
}
private void SaveAssets()
{
if (string.IsNullOrEmpty(saveFolder))
{
saveFolder = "Assets/";
}
string folder = EditorUtility.OpenFolderPanel("Select Folder", saveFolder, "");
if (string.IsNullOrEmpty(folder))
return;
try
{
saveFolder = folder;
EditorUtility.DisplayProgressBar("Saving", "Saving assets...", 1f);
GBillboardCreatorArgs args = ConstructArgs();
BillboardAsset billboard = GBillboardCreator.CreateBillboardAsset(args);
Texture2D atlas = GBillboardCreator.RenderAtlas(args);
Texture2D normal = GBillboardCreator.RenderNormal(args);
string billboardPath = Path.Combine(FileUtil.GetProjectRelativePath(saveFolder), billboard.name + ".asset");
BillboardAsset billboardAsset = AssetDatabase.LoadAssetAtPath<BillboardAsset>(billboardPath);
if (billboardAsset == null)
{
AssetDatabase.CreateAsset(billboard, billboardPath);
billboardAsset = billboard;
}
else
{
billboardAsset.SetVertices(billboard.GetVertices());
billboardAsset.SetIndices(billboard.GetIndices());
billboardAsset.SetImageTexCoords(billboard.GetImageTexCoords());
billboardAsset.width = billboard.width;
billboardAsset.height = billboard.height;
billboardAsset.bottom = billboard.bottom;
billboardAsset.name = billboard.name;
}
string atlasPath = Path.Combine(FileUtil.GetProjectRelativePath(saveFolder), atlas.name + ".png");
byte[] atlasData = atlas.EncodeToPNG();
File.WriteAllBytes(atlasPath, atlasData);
GUtilities.DestroyObject(atlas);
string normalPath = Path.Combine(FileUtil.GetProjectRelativePath(saveFolder), normal.name + ".png");
byte[] normalData = normal.EncodeToPNG();
File.WriteAllBytes(normalPath, normalData);
GUtilities.DestroyObject(normal);
AssetDatabase.Refresh();
TextureImporter atlasImporter = AssetImporter.GetAtPath(atlasPath) as TextureImporter;
atlasImporter.wrapMode = TextureWrapMode.Clamp;
atlasImporter.alphaIsTransparency = true;
atlasImporter.SaveAndReimport();
atlas = AssetDatabase.LoadAssetAtPath<Texture2D>(atlasPath);
TextureImporter normalImporter = AssetImporter.GetAtPath(normalPath) as TextureImporter;
normalImporter.textureType = TextureImporterType.NormalMap;
normalImporter.wrapMode = TextureWrapMode.Clamp;
normalImporter.SaveAndReimport();
normal = AssetDatabase.LoadAssetAtPath<Texture2D>(normalPath);
Material mat = null;
if (GCommon.CurrentRenderPipeline == GRenderPipelineType.Universal)
{
mat = Object.Instantiate(GRuntimeSettings.Instance.foliageRendering.urpTreeBillboardMaterial);
}
else
{
mat = Object.Instantiate(GRuntimeSettings.Instance.foliageRendering.treeBillboardMaterial);
}
if (mat != null)
{
if (mat.HasProperty("_MainTex"))
{
mat.SetTexture("_MainTex", atlas);
}
if (mat.HasProperty("_BumpMap"))
{
mat.SetTexture("_BumpMap", normal);
}
mat.name = args.Target.name + "_BillboardMaterial";
string matPath = Path.Combine(FileUtil.GetProjectRelativePath(saveFolder), mat.name + ".mat");
AssetDatabase.CreateAsset(mat, matPath);
billboardAsset.material = mat;
}
AssetDatabase.Refresh();
}
catch (System.Exception e)
{
Debug.LogError(e.ToString());
}
EditorUtility.ClearProgressBar();
}
private void RefreshMaterialPropsSuggestions()
{
if (target == null)
{
SrcColorSuggestion.Clear();
SrcColorSuggestion.Add("_Color");
SrcTextureSuggestion.Clear();
SrcTextureSuggestion.Add("_MainTex");
}
else
{
HashSet<Shader> shaders = new HashSet<Shader>();
MeshRenderer[] mrs = target.GetComponentsInChildren<MeshRenderer>();
for (int i = 0; i < mrs.Length; ++i)
{
Material[] mats = mrs[i].sharedMaterials;
for (int j = 0; j < mats.Length; ++j)
{
shaders.Add(mats[j].shader);
}
}
HashSet<string> colorProps = new HashSet<string>();
colorProps.Add("_Color");
HashSet<string> textureProps = new HashSet<string>();
textureProps.Add("_MainTex");
IEnumerator<Shader> shaderIterator = shaders.GetEnumerator();
while (shaderIterator.MoveNext())
{
colorProps.UnionWith(GShaderParser.GetProperties(shaderIterator.Current, "Color"));
textureProps.UnionWith(GShaderParser.GetProperties(shaderIterator.Current, "2D"));
}
SrcColorSuggestion.Clear();
SrcColorSuggestion.AddRange(colorProps);
SrcTextureSuggestion.Clear();
SrcTextureSuggestion.AddRange(textureProps);
}
}
}
}
#endif

View File

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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: 0325fe6912326a34c83f32a85ca67c7d
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,44 @@
#if GRIFFIN
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEditor.Build;
using UnityEditor.Build.Reporting;
using TerrainRenderingSettings = Pinwheel.Griffin.GRuntimeSettings.TerrainRenderingSettings;
using TerrainMaterialTemplate = Pinwheel.Griffin.GRuntimeSettings.TerrainRenderingSettings.TerrainMaterialTemplate;
using FoliageRenderingSettings = Pinwheel.Griffin.GRuntimeSettings.FoliageRenderingSettings;
using UnityEditor.Rendering;
namespace Pinwheel.Griffin.Build
{
public class GShaderBuildProcessor : IOrderedCallback, IPreprocessShaders
{
public int callbackOrder
{
get
{
return 0;
}
}
public void OnProcessShader(Shader shader, ShaderSnippetData snippet, IList<ShaderCompilerData> data)
{
string shaderName = shader.name;
bool isPolarisShader = shaderName.StartsWith("Polaris");
GRenderPipelineType shaderPipeline =
shaderName.StartsWith("Polaris/BuiltinRP/") ? GRenderPipelineType.Builtin :
shaderName.StartsWith("Polaris/URP/") ? GRenderPipelineType.Universal :
GRenderPipelineType.Unsupported;
GRenderPipelineType currentPipeline = GCommon.CurrentRenderPipeline;
if (isPolarisShader)
{
if (shaderPipeline != currentPipeline)
{
data.Clear();
}
}
}
}
}
#endif

View File

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

View File

@ -0,0 +1,8 @@
fileFormatVersion: 2
guid: ac938876eaaa7aa45aecf72cc35cf2be
folderAsset: yes
DefaultImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,62 @@
#if GRIFFIN
using UnityEditor.Callbacks;
using UnityEngine;
namespace Pinwheel.Griffin
{
internal class GCompileLogger
{
private const string PACKAGE_NAME = "Polaris - Ultimate Low Poly Terrain Engine";
private const string PACKAGE_NAME_PLACEHOLDER = "${PACKAGE_NAME}";
private const string WEBSITE = "http://pinwheel.studio";
private const string WEBSITE_PLACEHOLDER = "${WEBSITE}";
private const string SUPPORT_MAIL = "support@pinwheel.studio";
private const string SUPPORT_MAIL_PLACEHOLDER = "${SUPPORT_MAIL}";
private const string LINK_COLOR = "blue";
private const string LINK_COLOR_PLACEHOLDER = "${LC}";
private const float LOG_MESSAGE_PROBABIILITY = 0.03F;
private static string[] messages = new string[]
{
};
//[DidReloadScripts]
public static void ShowMessageOnCompileSucceeded()
{
ValidatePackageAndNamespace();
if (Random.value < LOG_MESSAGE_PROBABIILITY)
{
if (messages.Length == 0)
return;
int msgIndex = Random.Range(0, messages.Length);
string msg = messages[msgIndex]
.Replace(PACKAGE_NAME_PLACEHOLDER, GVersionInfo.ProductNameAndVersionShort)
.Replace(WEBSITE_PLACEHOLDER, WEBSITE)
.Replace(SUPPORT_MAIL_PLACEHOLDER, SUPPORT_MAIL)
.Replace(LINK_COLOR_PLACEHOLDER, LINK_COLOR);
Debug.Log(msg, null);
}
}
private static void ValidatePackageAndNamespace()
{
bool isPackageNameInvalid = PACKAGE_NAME.Equals("PACKAGE_NAME");
bool isNamespaceInvalid = typeof(GCompileLogger).Namespace.Contains("PACKAGE_NAME");
if (isPackageNameInvalid)
{
string message = "<color=red>Invalid PACKAGE_NAME in CompileLogger, fix it before release!</color>";
Debug.Log(message);
}
if (isNamespaceInvalid)
{
string message = "<color=red>Invalid NAMESPACE in CompileLogger, fix it before release!</color>";
Debug.Log(message);
}
}
}
}
#endif

View File

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

View File

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

View File

@ -0,0 +1,506 @@
#if GRIFFIN
using Pinwheel.Griffin.BackupTool;
using Pinwheel.Griffin.BillboardTool;
using Pinwheel.Griffin.DataTool;
using Pinwheel.Griffin.ExtensionSystem;
using Pinwheel.Griffin.GroupTool;
using Pinwheel.Griffin.HelpTool;
using Pinwheel.Griffin.PaintTool;
using Pinwheel.Griffin.SplineTool;
using Pinwheel.Griffin.StampTool;
using Pinwheel.Griffin.TextureTool;
using Pinwheel.Griffin.ErosionTool;
using Pinwheel.Griffin.Physic;
using Pinwheel.Griffin.Wizard;
using System.IO;
using UnityEditor;
using UnityEngine;
namespace Pinwheel.Griffin
{
public static class GEditorMenus
{
[MenuItem("GameObject/3D Object/Polaris/Terrain Wizard", false, -10)]
public static void ShowCreateTerrainWizard(MenuCommand menuCmd)
{
GWizardWindow.ShowCreateLevelTab(menuCmd);
}
[MenuItem("GameObject/3D Object/Polaris/Tree Collider", false, -10)]
public static void CreateTreeCollider(MenuCommand menuCmd)
{
GameObject g = new GameObject("Tree Collider");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(g, menuCmd.context as GameObject);
g.transform.localPosition = Vector3.zero;
g.transform.localRotation = Quaternion.identity;
g.transform.localScale = Vector3.one;
GTreeCollider collider = g.AddComponent<GTreeCollider>();
if (g.transform.parent != null)
{
GStylizedTerrain terrain = g.transform.parent.GetComponent<GStylizedTerrain>();
collider.Terrain = terrain;
}
Undo.RegisterCreatedObjectUndo(g, "Creating Tree Collider");
Selection.activeGameObject = g;
}
[MenuItem("GameObject/3D Object/Polaris/Wind Zone", false, -10)]
public static GWindZone CreateWindZone(MenuCommand menuCmd)
{
GameObject root = null;
if (menuCmd != null && menuCmd.context != null)
{
root = menuCmd.context as GameObject;
}
GameObject windZoneGO = new GameObject("Wind Zone");
GWindZone windZone = windZoneGO.AddComponent<GWindZone>();
GameObjectUtility.SetParentAndAlign(windZoneGO, root);
return windZone;
}
[MenuItem("GameObject/3D Object/Polaris/Tools/Basic Tools", false, -10)]
public static void CreateTerrainTools(MenuCommand menuCmd)
{
GameObject g = new GameObject("Polaris Tools");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(g, menuCmd.context as GameObject);
g.transform.localPosition = Vector3.zero;
g.transform.localRotation = Quaternion.identity;
g.transform.localScale = Vector3.one;
g.transform.hideFlags = HideFlags.HideInInspector;
GTerrainTools tools = g.AddComponent<GTerrainTools>();
tools.hideFlags = HideFlags.HideInInspector;
GameObject terrainGroup = new GameObject("Terrain Group");
GUtilities.ResetTransform(terrainGroup.transform, g.transform);
terrainGroup.transform.hideFlags = HideFlags.HideInInspector;
GTerrainGroup group = terrainGroup.AddComponent<GTerrainGroup>();
group.GroupId = -1;
GameObject texturePainter = new GameObject("Geometry & Texture Painter");
GUtilities.ResetTransform(texturePainter.transform, g.transform);
texturePainter.transform.hideFlags = HideFlags.HideInInspector;
GTerrainTexturePainter texturePainterComponent = texturePainter.AddComponent<GTerrainTexturePainter>();
texturePainterComponent.GroupId = -1;
GameObject foliagePainter = new GameObject("Foliage Painter");
GUtilities.ResetTransform(foliagePainter.transform, g.transform);
foliagePainter.transform.hideFlags = HideFlags.HideInInspector;
GFoliagePainter foliagePainterComponent = foliagePainter.AddComponent<GFoliagePainter>();
foliagePainterComponent.GroupId = -1;
foliagePainterComponent.gameObject.AddComponent<GRotationRandomizeFilter>();
foliagePainterComponent.gameObject.AddComponent<GScaleRandomizeFilter>();
GameObject objectPainter = new GameObject("Object Painter");
GUtilities.ResetTransform(objectPainter.transform, g.transform);
objectPainter.transform.hideFlags = HideFlags.HideInInspector;
GObjectPainter objectPainterComponent = objectPainter.AddComponent<GObjectPainter>();
objectPainterComponent.GroupId = -1;
objectPainterComponent.gameObject.AddComponent<GRotationRandomizeFilter>();
objectPainterComponent.gameObject.AddComponent<GScaleRandomizeFilter>();
GameObject assetExplorer = new GameObject("Asset Explorer");
GUtilities.ResetTransform(assetExplorer.transform, g.transform);
assetExplorer.transform.hideFlags = HideFlags.HideInInspector;
assetExplorer.AddComponent<GAssetExplorer>();
GameObject helpTool = new GameObject("Help");
GUtilities.ResetTransform(helpTool.transform, g.transform);
helpTool.transform.hideFlags = HideFlags.HideInInspector;
helpTool.AddComponent<GHelpComponent>();
Selection.activeGameObject = terrainGroup;
Undo.RegisterCreatedObjectUndo(g, "Creating Terrain Tools");
}
[MenuItem("GameObject/3D Object/Polaris/Tools/Group", false, 10)]
public static void CreateGroupTool(MenuCommand menuCmd)
{
GameObject g = new GameObject("Terrain Group");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(g, menuCmd.context as GameObject);
g.transform.localPosition = Vector3.zero;
g.transform.hideFlags = HideFlags.HideInInspector;
GTerrainGroup group = g.AddComponent<GTerrainGroup>();
group.GroupId = -1;
Selection.activeGameObject = g;
Undo.RegisterCreatedObjectUndo(g, "Creating Terrain Group");
}
[MenuItem("GameObject/3D Object/Polaris/Tools/Geometry - Texture Painter", false, 10)]
public static void CreateTexturePainter(MenuCommand menuCmd)
{
GameObject g = new GameObject("Geometry & Texture Painter");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(g, menuCmd.context as GameObject);
g.transform.localPosition = Vector3.zero;
g.transform.hideFlags = HideFlags.HideInInspector;
GTerrainTexturePainter painter = g.AddComponent<GTerrainTexturePainter>();
painter.GroupId = -1;
Selection.activeGameObject = g;
Undo.RegisterCreatedObjectUndo(g, "Creating Texture Painter");
}
[MenuItem("GameObject/3D Object/Polaris/Tools/Foliage Painter", false, 10)]
public static void CreateFoliagePainter(MenuCommand menuCmd)
{
GameObject g = new GameObject("Foliage Painter");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(g, menuCmd.context as GameObject);
g.transform.localPosition = Vector3.zero;
g.transform.hideFlags = HideFlags.HideInInspector;
GFoliagePainter painter = g.AddComponent<GFoliagePainter>();
painter.GroupId = -1;
painter.gameObject.AddComponent<GRotationRandomizeFilter>();
painter.gameObject.AddComponent<GScaleRandomizeFilter>();
Selection.activeGameObject = g;
Undo.RegisterCreatedObjectUndo(g, "Creating Foliage Painter");
}
[MenuItem("GameObject/3D Object/Polaris/Tools/Object Painter", false, 10)]
public static void CreateObjectPainter(MenuCommand menuCmd)
{
GameObject g = new GameObject("Object Painter");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(g, menuCmd.context as GameObject);
g.transform.localPosition = Vector3.zero;
g.transform.hideFlags = HideFlags.HideInInspector;
GObjectPainter painter = g.AddComponent<GObjectPainter>();
painter.GroupId = -1;
painter.gameObject.AddComponent<GRotationRandomizeFilter>();
painter.gameObject.AddComponent<GScaleRandomizeFilter>();
Selection.activeGameObject = g;
Undo.RegisterCreatedObjectUndo(g, "Creating Object Painter");
}
[MenuItem("GameObject/3D Object/Polaris/Tools/Spline", false, 10)]
public static void CreateSpline(MenuCommand menuCmd)
{
GameObject g = new GameObject("Spline");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(g, menuCmd.context as GameObject);
g.transform.localPosition = Vector3.zero;
g.transform.hideFlags = HideFlags.HideInInspector;
GSplineCreator spline = g.AddComponent<GSplineCreator>();
spline.GroupId = -1;
Selection.activeGameObject = g;
Undo.RegisterCreatedObjectUndo(g, "Creating Terrain Painter");
}
[MenuItem("GameObject/3D Object/Polaris/Tools/Geometry Stamper", false, 10)]
public static void CreateGeometryStamper(MenuCommand menuCmd)
{
GameObject geometryStamperGO = new GameObject("Geometry Stamper");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(geometryStamperGO, menuCmd.context as GameObject);
geometryStamperGO.transform.localPosition = Vector3.zero;
geometryStamperGO.transform.hideFlags = HideFlags.HideInInspector;
GGeometryStamper geoStamper = geometryStamperGO.AddComponent<GGeometryStamper>();
geoStamper.GroupId = -1;
Selection.activeGameObject = geometryStamperGO;
Undo.RegisterCreatedObjectUndo(geometryStamperGO, "Creating Geometry Stamper");
}
[MenuItem("GameObject/3D Object/Polaris/Tools/Texture Stamper", false, 10)]
public static void CreateTextureStamper(MenuCommand menuCmd)
{
GameObject textureStamperGO = new GameObject("Texture Stamper");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(textureStamperGO, menuCmd.context as GameObject);
textureStamperGO.transform.localPosition = Vector3.zero;
textureStamperGO.transform.hideFlags = HideFlags.HideInInspector;
GTextureStamper texStamper = textureStamperGO.AddComponent<GTextureStamper>();
texStamper.GroupId = -1;
Selection.activeGameObject = textureStamperGO;
Undo.RegisterCreatedObjectUndo(textureStamperGO, "Creating Texture Stamper");
}
[MenuItem("GameObject/3D Object/Polaris/Tools/Foliage Stamper", false, 10)]
public static void CreateFoliageStamper(MenuCommand menuCmd)
{
GameObject foliageStamperGO = new GameObject("Foliage Stamper");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(foliageStamperGO, menuCmd.context as GameObject);
foliageStamperGO.transform.localPosition = Vector3.zero;
foliageStamperGO.transform.hideFlags = HideFlags.HideInInspector;
GFoliageStamper foliageStamper = foliageStamperGO.AddComponent<GFoliageStamper>();
foliageStamper.GroupId = -1;
Selection.activeGameObject = foliageStamperGO;
Undo.RegisterCreatedObjectUndo(foliageStamperGO, "Creating Foliage Stampers");
}
[MenuItem("GameObject/3D Object/Polaris/Tools/Object Stamper", false, 10)]
public static void CreateObjectStamper(MenuCommand menuCmd)
{
GameObject objectStamperGO = new GameObject("Object Stamper");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(objectStamperGO, menuCmd.context as GameObject);
objectStamperGO.transform.localPosition = Vector3.zero;
objectStamperGO.transform.hideFlags = HideFlags.HideInInspector;
GObjectStamper objectStamper = objectStamperGO.AddComponent<GObjectStamper>();
objectStamper.GroupId = -1;
Selection.activeGameObject = objectStamperGO;
Undo.RegisterCreatedObjectUndo(objectStamperGO, "Creating Object Stampers");
}
[MenuItem("GameObject/3D Object/Polaris/Tools/Erosion Simulator", false, 10)]
public static void CreateErosionSimulator(MenuCommand menuCmd)
{
GameObject simulatorGO = new GameObject("Erosion Simulator");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(simulatorGO, menuCmd.context as GameObject);
simulatorGO.transform.localPosition = Vector3.zero;
simulatorGO.transform.localRotation = Quaternion.identity;
simulatorGO.transform.localScale = Vector3.one * 100;
GErosionSimulator simulator = simulatorGO.AddComponent<GErosionSimulator>();
simulator.GroupId = -1;
Selection.activeGameObject = simulatorGO;
Undo.RegisterCreatedObjectUndo(simulatorGO, "Creating Erosion Simulator");
}
[MenuItem("GameObject/3D Object/Polaris/Tools/Navigation Helper", false, 10)]
public static void CreateNavigationHelper(MenuCommand menuCmd)
{
GameObject navHelperGO = new GameObject("Navigation Helper");
if (menuCmd != null)
GameObjectUtility.SetParentAndAlign(navHelperGO, menuCmd.context as GameObject);
navHelperGO.transform.localPosition = Vector3.zero;
navHelperGO.transform.hideFlags = HideFlags.HideInInspector;
GNavigationHelper nav = navHelperGO.AddComponent<GNavigationHelper>();
nav.GroupId = -1;
Selection.activeGameObject = navHelperGO;
Undo.RegisterCreatedObjectUndo(navHelperGO, "Creating Navigation Helper");
}
#if !VISTA
[MenuItem("GameObject/3D Object/Polaris/Tools/Vista - Procedural Terrain Generator", false, 10)]
public static void ShowVistaStorePage(MenuCommand menuCmd)
{
if (EditorUtility.DisplayDialog(
"About Vista",
"Vista is an advanced toolset for procedural terrain generation, which perfectly compatible with Polaris 2021\n" +
"Vista is now 50% OFF for Polaris 2021 user!",
"Show me more",
"Close"))
{
Application.OpenURL("https://assetstore.unity.com/packages/tools/terrain/vista-advanced-terrain-graph-editor-210496?aid=1100l3QbW&pubref=polaris-editor");
}
}
#endif
public static bool ValidateShowUnityTerrainConverter(MenuCommand menuCmd)
{
if (menuCmd == null)
return false;
GameObject go = menuCmd.context as GameObject;
if (go == null)
return false;
Terrain[] terrains = go.GetComponentsInChildren<Terrain>();
bool valid = false;
for (int i = 0; i < terrains.Length; ++i)
{
if (terrains[i].terrainData != null)
{
valid = true;
break;
}
}
return valid;
}
[MenuItem("GameObject/3D Object/Polaris/Convert From Unity Terrain", false, 11)]
public static void ShowUnityTerrainConverter(MenuCommand menuCmd)
{
bool valid = ValidateShowUnityTerrainConverter(menuCmd);
if (!valid)
{
Debug.Log("No Terrain with Terrain Data found. Select a game object with Terrain component.");
return;
}
GUnityTerrainGroupConverterWindow window = GUnityTerrainGroupConverterWindow.ShowWindow();
GameObject g = menuCmd.context as GameObject;
window.Root = g;
}
[MenuItem("Window/Polaris/Tools/Backup")]
public static void ShowBackupWindow()
{
GBackupEditor.ShowWindow();
}
[MenuItem("Assets/Create/Polaris/Billboard Asset")]
[MenuItem("Window/Polaris/Tools/Billboard Creator")]
public static void ShowBillboardEditor()
{
GBillboardEditor.ShowWindow();
}
[MenuItem("Window/Polaris/Tools/Texture Creator")]
public static void ShowTextureCreator()
{
GTextureEditorWindow.ShowWindow();
}
[MenuItem("Window/Polaris/Tools/Extensions", false, 1000000)]
public static void ShowExtensionWindow()
{
GWizardWindow.ShowExtensionTab();
}
[MenuItem("Window/Polaris/Project/Version Info")]
public static void ShowVersionInfo()
{
EditorUtility.DisplayDialog(
"Version Info",
GVersionInfo.ProductNameAndVersion,
"OK");
}
[MenuItem("Window/Polaris/Project/Update Dependencies")]
public static void UpdateDependencies()
{
GPackageInitializer.Init();
}
[MenuItem("Window/Polaris/Project/Editor Settings")]
public static void ShowEditorSettings()
{
Selection.activeObject = GEditorSettings.Instance;
}
[MenuItem("Window/Polaris/Project/Runtime Settings")]
public static void ShowRuntimeSettings()
{
Selection.activeObject = GRuntimeSettings.Instance;
}
[MenuItem("Window/Polaris/Learning Resources/Online Manual")]
public static void ShowOnlineUserGuide()
{
Application.OpenURL(GCommon.ONLINE_MANUAL);
}
[MenuItem("Window/Polaris/Learning Resources/Youtube Channel")]
public static void ShowYoutubeChannel()
{
Application.OpenURL(GCommon.YOUTUBE_CHANNEL);
}
[MenuItem("Window/Polaris/Learning Resources/Facebook Page")]
public static void ShowFacebookPage()
{
Application.OpenURL(GCommon.FACEBOOK_PAGE);
}
[MenuItem("Window/Polaris/Learning Resources/Help")]
public static void ShowHelpEditor()
{
GHelpEditor.ShowWindow();
}
[MenuItem("Window/Polaris/Explore/Featured Assets/Poseidon")]
public static void ShowPoseidonLink()
{
GAssetExplorer.ShowPoseidonLink();
}
[MenuItem("Window/Polaris/Explore/Featured Assets/Jupiter")]
public static void ShowJupiterLink()
{
GAssetExplorer.ShowJupiterLink();
}
[MenuItem("Window/Polaris/Explore/Featured Assets/CSharp Wizard")]
public static void ShowCSharpWizardLink()
{
GAssetExplorer.ShowCSharpWizardLink();
}
[MenuItem("Window/Polaris/Explore/Featured Assets/Mesh To File")]
public static void ShowMeshToFileLink()
{
GAssetExplorer.ShowMeshToFileLink();
}
[MenuItem("Window/Polaris/Explore/Collections/Assets From Pinwheel")]
public static void ShowAssetsFromPinwheel()
{
GAssetExplorer.ShowPinwheelAssets();
}
[MenuItem("Window/Polaris/Explore/Collections/Vegetation Assets")]
public static void ShowStylizedVegetationLink()
{
GAssetExplorer.ShowVegetationLink();
}
[MenuItem("Window/Polaris/Explore/Collections/Rock - Props Assets")]
public static void ShowStylizedRockPropsLink()
{
GAssetExplorer.ShowRockPropsLink();
}
[MenuItem("Window/Polaris/Explore/Collections/Character Assets")]
public static void ShowStylizedCharacterLink()
{
GAssetExplorer.ShowCharacterLink();
}
[MenuItem("Window/Polaris/Community/Discord")]
public static void ShowDiscord()
{
Application.OpenURL(GCommon.DISCORD);
}
[MenuItem("Window/Polaris/Contact/Support")]
public static void ShowSupportEmailEditor()
{
GEditorCommon.OpenEmailEditor(
GCommon.SUPPORT_EMAIL,
"[Polaris] SHORT_QUESTION_HERE",
"YOUR_QUESTION_IN_DETAIL");
}
[MenuItem("Window/Polaris/Contact/Business")]
public static void ShowBusinessEmailEditor()
{
GEditorCommon.OpenEmailEditor(
GCommon.BUSINESS_EMAIL,
"[Polaris] SHORT_MESSAGE_HERE",
"YOUR_MESSAGE_IN_DETAIL");
}
[MenuItem("Window/Polaris/Write a Review")]
public static void OpenStorePage()
{
Application.OpenURL("https://assetstore.unity.com/packages/slug/170400");
}
//[MenuItem("~Pinwheel Internal/Clear Progress Bar")]
//public static void ClearProgressBar()
//{
// EditorUtility.ClearProgressBar();
//}
}
}
#endif

View File

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

View File

@ -0,0 +1,231 @@
#if GRIFFIN
using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using UnityEditor;
namespace Pinwheel.Griffin
{
[CustomEditor(typeof(GEditorSettings))]
public class GEditorSettingsInspector : Editor
{
private GEditorSettings instance;
private void OnEnable()
{
instance = target as GEditorSettings;
}
public override void OnInspectorGUI()
{
DrawGeneralSettings();
DrawLivePreviewSettings();
DrawPaintToolsSettings();
DrawSplineToolsSettings();
DrawBillboardToolsSettings();
DrawStampToolsSettings();
DrawWizardToolsSettings();
DrawRenderPipelinesSettings();
DrawTopographicSettings();
DrawLayersSettings();
DrawDemoAssetSettings();
EditorUtility.SetDirty(instance);
}
private void DrawGeneralSettings()
{
string label = "General";
string id = "editor-settings-general";
GEditorCommon.Foldout(label, false, id, () =>
{
instance.general.enableAnalytics = EditorGUILayout.Toggle("Allow Anonymous Editor Analytic", instance.general.enableAnalytics);
instance.general.enableAffiliateLinks = EditorGUILayout.Toggle("Allow Affiliate Links", instance.general.enableAffiliateLinks);
instance.general.debugMode = EditorGUILayout.Toggle("Debug Mode", instance.general.debugMode);
EditorGUI.BeginChangeCheck();
instance.general.showGeometryChunkInHierarchy = EditorGUILayout.Toggle("Show Geometry Chunks In Hierarchy", instance.general.showGeometryChunkInHierarchy);
if (EditorGUI.EndChangeCheck())
{
IEnumerator<GStylizedTerrain> terrains = GStylizedTerrain.ActiveTerrains.GetEnumerator();
while (terrains.MoveNext())
{
GStylizedTerrain t = terrains.Current;
Transform chunkRoot = t.GetOrCreateChunkRoot();
chunkRoot.gameObject.hideFlags = instance.general.showGeometryChunkInHierarchy ? HideFlags.None : HideFlags.HideInHierarchy;
}
GUtilities.MarkCurrentSceneDirty();
}
});
}
private void DrawLivePreviewSettings()
{
string label = "Live Preview";
string id = "editor-settings-live-preview";
GEditorCommon.Foldout(label, false, id, () =>
{
int count = GCommon.MAX_MESH_RESOLUTION + 1;
GEditorCommon.Header("Triangle Meshes");
if (instance.livePreview.triangleMeshes == null || instance.livePreview.triangleMeshes.Length != count)
{
instance.livePreview.triangleMeshes = new Mesh[count];
}
for (int i = 0; i < count; ++i)
{
instance.livePreview.triangleMeshes[i] = EditorGUILayout.ObjectField("LOD " + i, instance.livePreview.triangleMeshes[i], typeof(Mesh), false) as Mesh;
}
GEditorCommon.Header("Wireframe Meshes");
if (instance.livePreview.wireframeMeshes == null || instance.livePreview.wireframeMeshes.Length != count)
{
instance.livePreview.wireframeMeshes = new Mesh[count];
}
for (int i = 0; i < count; ++i)
{
instance.livePreview.wireframeMeshes[i] = EditorGUILayout.ObjectField("LOD " + i, instance.livePreview.wireframeMeshes[i], typeof(Mesh), false) as Mesh;
}
});
}
public void DrawPaintToolsSettings()
{
string label = "Paint Tools";
string id = "editor-settings-paint-tools";
GEditorCommon.Foldout(label, false, id, () =>
{
instance.paintTools.useSimpleCursor = EditorGUILayout.Toggle("Simple Cursor", instance.paintTools.useSimpleCursor);
instance.paintTools.normalActionCursorColor = EditorGUILayout.ColorField("Normal Color", instance.paintTools.normalActionCursorColor);
instance.paintTools.negativeActionCursorColor = EditorGUILayout.ColorField("Negative Color", instance.paintTools.negativeActionCursorColor);
instance.paintTools.alternativeActionCursorColor = EditorGUILayout.ColorField("Alternative Color", instance.paintTools.alternativeActionCursorColor);
instance.paintTools.radiusStep = EditorGUILayout.FloatField("Radius Step", instance.paintTools.radiusStep);
instance.paintTools.rotationStep = EditorGUILayout.FloatField("Rotation Step", instance.paintTools.rotationStep);
instance.paintTools.opacityStep = EditorGUILayout.FloatField("Opacity Step", instance.paintTools.opacityStep);
instance.paintTools.densityStep = EditorGUILayout.IntField("Density Step", instance.paintTools.densityStep);
});
}
public void DrawSplineToolsSettings()
{
string label = "Spline Tools";
string id = "editor-settings-spline-tools";
GEditorCommon.Foldout(label, false, id, () =>
{
instance.splineTools.anchorColor = EditorGUILayout.ColorField("Anchor Color", instance.splineTools.anchorColor);
instance.splineTools.segmentColor = EditorGUILayout.ColorField("Segment Color", instance.splineTools.segmentColor);
instance.splineTools.meshColor = EditorGUILayout.ColorField("Mesh Color", instance.splineTools.meshColor);
instance.splineTools.selectedElementColor = EditorGUILayout.ColorField("Selected Color", instance.splineTools.selectedElementColor);
instance.splineTools.positiveHighlightColor = EditorGUILayout.ColorField("Positive Highlight Color", instance.splineTools.positiveHighlightColor);
instance.splineTools.negativeHighlightColor = EditorGUILayout.ColorField("Negative Highlight Color", instance.splineTools.negativeHighlightColor);
instance.splineTools.raycastLayers = GEditorCommon.LayerMaskField("Raycast Layers", instance.splineTools.raycastLayers);
instance.splineTools.showTransformGizmos = EditorGUILayout.Toggle("Show Transform Gizmos", instance.splineTools.showTransformGizmos);
instance.splineTools.autoTangent = EditorGUILayout.Toggle("Auto Tangent", instance.splineTools.autoTangent);
GEditorCommon.Header("Live Preview");
instance.splineTools.livePreview.foliageSpawner = EditorGUILayout.Toggle("Foliage Spawner", instance.splineTools.livePreview.foliageSpawner);
});
}
public void DrawBillboardToolsSettings()
{
string label = "Billboard Tools";
string id = "editor-settings-billboard-tools";
GEditorCommon.Foldout(label, false, id, () =>
{
instance.billboardTools.atlasMaterial = EditorGUILayout.ObjectField("Atlas Material", instance.billboardTools.atlasMaterial, typeof(Material), false) as Material;
instance.billboardTools.normalMaterial = EditorGUILayout.ObjectField("Normal Material", instance.billboardTools.normalMaterial, typeof(Material), false) as Material;
});
}
public void DrawStampToolsSettings()
{
string label = "Stamp Tools";
string id = "editor-settings-stamp-tools";
GEditorCommon.Foldout(label, false, id, () =>
{
instance.stampTools.visualizeColor = EditorGUILayout.ColorField("Visualize Color", instance.stampTools.visualizeColor);
instance.stampTools.minRotation = EditorGUILayout.FloatField("Default Min Rotation", instance.stampTools.minRotation);
instance.stampTools.maxRotation = EditorGUILayout.FloatField("Default Max Rotation", instance.stampTools.maxRotation);
instance.stampTools.minScale = GEditorCommon.InlineVector3Field("Default Min Scale", instance.stampTools.minScale);
instance.stampTools.maxScale = GEditorCommon.InlineVector3Field("Default Max Scale", instance.stampTools.maxScale);
});
}
public void DrawWizardToolsSettings()
{
string label = "Wizard Tools";
string id = "editor-settings-wizard-tools";
GEditorCommon.Foldout(label, false, id, () =>
{
GEditorSettings.Instance.wizardTools.lightingModel = (GLightingModel)EditorGUILayout.EnumPopup("Lighting Model", GEditorSettings.Instance.wizardTools.lightingModel);
GEditorSettings.Instance.wizardTools.texturingModel = (GTexturingModel)EditorGUILayout.EnumPopup("Texturing Model", GEditorSettings.Instance.wizardTools.texturingModel);
GEditorSettings.Instance.wizardTools.splatsModel = (GSplatsModel)EditorGUILayout.EnumPopup("Splats Model", GEditorSettings.Instance.wizardTools.splatsModel);
GEditorSettings.Instance.wizardTools.origin = GEditorCommon.InlineVector3Field("Origin", GEditorSettings.Instance.wizardTools.origin);
GEditorSettings.Instance.wizardTools.tileSize = GEditorCommon.InlineVector3Field("Tile Size", GEditorSettings.Instance.wizardTools.tileSize);
GEditorSettings.Instance.wizardTools.tileCountX = EditorGUILayout.IntField("Tile Count X", GEditorSettings.Instance.wizardTools.tileCountX);
GEditorSettings.Instance.wizardTools.tileCountZ = EditorGUILayout.IntField("Tile Count Z", GEditorSettings.Instance.wizardTools.tileCountZ);
GEditorSettings.Instance.wizardTools.groupId = EditorGUILayout.IntField("Group Id", GEditorSettings.Instance.wizardTools.groupId);
GEditorSettings.Instance.wizardTools.setShaderGroupId = EditorGUILayout.IntField("Set Shader Group Id", GEditorSettings.Instance.wizardTools.setShaderGroupId);
GEditorSettings.Instance.wizardTools.terrainNamePrefix = EditorGUILayout.TextField("Terrian Name Prefix", GEditorSettings.Instance.wizardTools.terrainNamePrefix);
GEditorSettings.Instance.wizardTools.dataDirectory = EditorGUILayout.TextField("Data Directory", GEditorSettings.Instance.wizardTools.dataDirectory);
});
}
public void DrawRenderPipelinesSettings()
{
string label = "Render Pipelines";
string id = "editor-settings-render-pipelines";
GEditorCommon.Foldout(label, false, id, () =>
{
instance.renderPipelines.universalRenderPipelinePackage = EditorGUILayout.ObjectField("Universal RP Package", instance.renderPipelines.universalRenderPipelinePackage, typeof(Object), false);
});
}
public void DrawTopographicSettings()
{
string label = "Topographic";
string id = "editor-settings-topographic";
GEditorCommon.Foldout(label, false, id, () =>
{
instance.topographic.enable = EditorGUILayout.Toggle("Enable", instance.topographic.enable);
instance.topographic.topographicMaterial = EditorGUILayout.ObjectField("Material", instance.topographic.topographicMaterial, typeof(Material), false) as Material;
});
}
public void DrawLayersSettings()
{
string label = "Layers";
string id = "editor-settings-layers";
GEditorCommon.Foldout(label, false, id, () =>
{
instance.layers.raycastLayerIndex = EditorGUILayout.IntSlider("Raycast Layer Index", instance.layers.raycastLayerIndex, 8, 31);
instance.layers.splineLayerIndex = EditorGUILayout.IntSlider("Spline Layer Index", instance.layers.splineLayerIndex, 8, 31);
});
}
public void DrawDemoAssetSettings()
{
string label = "Demo Assets";
string id = "editor-settings-demo-assets";
GEditorCommon.Foldout(label, false, id, () =>
{
SerializedProperty demoMaterialsProp = serializedObject.FindProperty(nameof(instance.demoAssets)).FindPropertyRelative(nameof(instance.demoAssets.demoMaterials));
EditorGUILayout.PropertyField(demoMaterialsProp, true);
serializedObject.ApplyModifiedProperties();
});
}
}
}
#endif

Some files were not shown because too many files have changed in this diff Show More