Added summer tree

This commit is contained in:
Bartosz Hejduk 2021-07-09 23:30:37 +02:00
parent 54577d086d
commit a12fb28d27
208 changed files with 213582 additions and 1167 deletions

View File

@ -72,6 +72,7 @@
<ItemGroup> <ItemGroup>
<None Include="Assets\Samples\Terrain Tools\0.1.0-preview\Terrain Assets\ThirdPartyNotices.txt" /> <None Include="Assets\Samples\Terrain Tools\0.1.0-preview\Terrain Assets\ThirdPartyNotices.txt" />
<None Include="Assets\LSystems\Tree2.txt" /> <None Include="Assets\LSystems\Tree2.txt" />
<None Include="Assets\LSystems\Tree3.txt" />
<None Include="Assets\LSystems\Tree.txt" /> <None Include="Assets\LSystems\Tree.txt" />
<Reference Include="UnityEngine"> <Reference Include="UnityEngine">
<HintPath>C:\Program Files\Unity\Hub\Editor\2021.1.7f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll</HintPath> <HintPath>C:\Program Files\Unity\Hub\Editor\2021.1.7f1\Editor\Data\Managed\UnityEngine\UnityEngine.dll</HintPath>

View File

@ -1,8 +1,10 @@
#axiom #axiom
I(2,1)
I(1,1) I(1,1)
S
#rules #rules
I(a,b) : a == 1; b <= 5 -> R(1)I(1, b + 1) I(a,b) : a == 3; b <= 5 -> R(1)I(1, b + 1)
I(a,b) : a == 2; b <= 2 -> R(1)I(1, b + 1) I(a,b) : a == 2; b <= 5 -> R(1)I(2, b + 1)
S -> Z\(90)[-S]S
R(a) : a < 5 -> R(a+0.15) R(a) : a < 5 -> R(a+0.15)
#end rules #end rules

View File

@ -0,0 +1,18 @@
#axiom
I(1,1)
#rules
I(a,b) : a == 1; b <= 5 -> R(0.7)I(1, b + 1)
I(a,b) : a == 1; b == 6 -> R(0.7)I(2, 0)
I(a,b) : a == 2; b == 0 -> B(0.5,1)I(2, b + 1)
B(a,b) : b < 10 -> N\(90)[-B(a,b+1)][L(0.2)\(90)L(0.2)]B(a,b+1)
R(a) : a < 1.5 -> R(a+0.14)
B(a,b) : a < 1 -> B(a+0.1, b)
B(a,b) : a >= 1; b < 50 -> B(a,50)A(0.2)
L(a) : a < 3 -> L(a + 0.4)
A(a) : a < 1.2 -> A(a + 0.2)
#end rules

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 4a2f3d9cda8a08248b77898d7921e2a8
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -60,7 +60,7 @@ MeshRenderer:
m_RenderingLayerMask: 1 m_RenderingLayerMask: 1
m_RendererPriority: 0 m_RendererPriority: 0
m_Materials: m_Materials:
- {fileID: 2100000, guid: 06e5ddcf533c38f47b7f764fdbb9a326, type: 2} - {fileID: 2100000, guid: 69238ed6ecd91024db9499cd1c40f136, type: 2}
m_StaticBatchInfo: m_StaticBatchInfo:
firstSubMesh: 0 firstSubMesh: 0
subMeshCount: 0 subMeshCount: 0

View File

@ -0,0 +1,63 @@
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!1001 &2846625840421192405
PrefabInstance:
m_ObjectHideFlags: 0
serializedVersion: 2
m_Modification:
m_TransformParent: {fileID: 0}
m_Modifications:
- target: {fileID: -8679921383154817045, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_RootOrder
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_LocalPosition.x
value: -0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_LocalPosition.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_LocalPosition.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_LocalRotation.w
value: 1
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_LocalRotation.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_LocalRotation.y
value: -0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_LocalRotation.z
value: -0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_LocalEulerAnglesHint.x
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_LocalEulerAnglesHint.y
value: 0
objectReference: {fileID: 0}
- target: {fileID: -8679921383154817045, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_LocalEulerAnglesHint.z
value: 0
objectReference: {fileID: 0}
- target: {fileID: -7511558181221131132, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_Materials.Array.data[0]
value:
objectReference: {fileID: 2100000, guid: 9a5d8dec59e668645ae5387a1a42e0e2, type: 2}
- target: {fileID: 919132149155446097, guid: b27a833ca95d884448b91f77d9475679, type: 3}
propertyPath: m_Name
value: Klon
objectReference: {fileID: 0}
m_RemovedComponents: []
m_SourcePrefab: {fileID: 100100000, guid: b27a833ca95d884448b91f77d9475679, type: 3}

View File

@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 805534cf86857dc4699084c74d9d40f0
PrefabImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -0,0 +1,78 @@
%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: Leaf
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _SMOOTHNESS_TEXTURE_ALBEDO_CHANNEL_A
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: 0.578
- _Glossiness: 0.692
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 1
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.27530718, g: 0.6792453, b: 0.1901032, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

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

View File

@ -0,0 +1,79 @@
%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: Red
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
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_Ints: []
m_Floats:
- _BumpScale: 1
- _Cutoff: 0.5
- _DetailNormalMapScale: 1
- _DstBlend: 0
- _GlossMapScale: 1
- _Glossiness: 0.5
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 0
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 1
m_Colors:
- _Color: {r: 0.8679245, g: 0.07778566, b: 0.39250866, a: 1}
- _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
m_BuildTextureStacks: []

View File

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

View File

@ -0,0 +1,78 @@
%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: leaf material
m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: 3000
stringTagMap:
RenderType: Transparent
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: 2800000, guid: 4cf885f6598282142af25712ee21ee4c, type: 3}
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: 10
- _GlossMapScale: 1
- _Glossiness: 0.426
- _GlossyReflections: 1
- _Metallic: 0
- _Mode: 3
- _OcclusionStrength: 1
- _Parallax: 0.02
- _SmoothnessTextureChannel: 0
- _SpecularHighlights: 1
- _SrcBlend: 1
- _UVSec: 0
- _ZWrite: 0
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: 40be7c60f27d0cf48818ffb9777dd7fb
NativeFormatImporter:
externalObjects: {}
mainObjectFileID: 0
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

After

Width:  |  Height:  |  Size: 414 KiB

View File

@ -0,0 +1,96 @@
fileFormatVersion: 2
guid: bfd4060bf8354d5488dc0be964f08f26
TextureImporter:
internalIDToNameTable: []
externalObjects: {}
serializedVersion: 11
mipmaps:
mipMapMode: 0
enableMipMap: 1
sRGBTexture: 1
linearTexture: 0
fadeOut: 0
borderMipMap: 0
mipMapsPreserveCoverage: 0
alphaTestReferenceValue: 0.5
mipMapFadeDistanceStart: 1
mipMapFadeDistanceEnd: 3
bumpmap:
convertToNormalMap: 0
externalNormalMap: 0
heightScale: 0.25
normalMapFilter: 0
isReadable: 0
streamingMipmaps: 0
streamingMipmapsPriority: 0
vTOnly: 0
grayScaleToAlpha: 0
generateCubemap: 6
cubemapConvolution: 0
seamlessCubemap: 0
textureFormat: 1
maxTextureSize: 2048
textureSettings:
serializedVersion: 2
filterMode: 1
aniso: 1
mipBias: 0
wrapU: 0
wrapV: 0
wrapW: 0
nPOTScale: 1
lightmap: 0
compressionQuality: 50
spriteMode: 0
spriteExtrude: 1
spriteMeshType: 1
alignment: 0
spritePivot: {x: 0.5, y: 0.5}
spritePixelsToUnits: 100
spriteBorder: {x: 0, y: 0, z: 0, w: 0}
spriteGenerateFallbackPhysicsShape: 1
alphaUsage: 1
alphaIsTransparency: 0
spriteTessellationDetail: -1
textureType: 0
textureShape: 1
singleChannelComponent: 0
flipbookRows: 1
flipbookColumns: 1
maxTextureSizeSet: 0
compressionQualitySet: 0
textureFormatSet: 0
ignorePngGamma: 0
applyGammaDecoding: 0
platformSettings:
- serializedVersion: 3
buildTarget: DefaultTexturePlatform
maxTextureSize: 2048
resizeAlgorithm: 0
textureFormat: -1
textureCompression: 1
compressionQuality: 50
crunchedCompression: 0
allowsAlphaSplitting: 0
overridden: 0
androidETC2FallbackOverride: 0
forceMaximumCompressionQuality_BC6H_BC7: 0
spriteSheet:
serializedVersion: 2
sprites: []
outline: []
physicsShape: []
bones: []
spriteID:
internalID: 0
vertices: []
indices:
edges: []
weights: []
secondaryTextures: []
spritePackingTag:
pSDRemoveMatte: 0
pSDShowRemoveMatteOption: 0
userData:
assetBundleName:
assetBundleVariant:

File diff suppressed because it is too large Load Diff

View File

@ -6,6 +6,8 @@ using T = System.Tuple<UnityEngine.GameObject, UnityEngine.Matrix4x4>;
public class TreeTurtle : TurtleLSystemEnvironment public class TreeTurtle : TurtleLSystemEnvironment
{ {
public GameObject branch; public GameObject branch;
public GameObject leaf;
public GameObject apple;
public float angle; public float angle;
private Matrix4x4 RootGrowth(float age) private Matrix4x4 RootGrowth(float age)
@ -13,12 +15,12 @@ public class TreeTurtle : TurtleLSystemEnvironment
return Matrix4x4.TRS( return Matrix4x4.TRS(
new Vector3( new Vector3(
0.0f, 0.0f,
0.3f, 0.2f,
0.0f), 0.0f),
Quaternion.identity, Quaternion.identity,
new Vector3( new Vector3(
0.02f + age * 0.1f, 0.02f + age * 0.1f,
0.02f + age * 0.1f, 0.015f + age * 0.1f,
0.02f + age * 0.1f)); 0.02f + age * 0.1f));
} }
@ -27,13 +29,41 @@ public class TreeTurtle : TurtleLSystemEnvironment
return Matrix4x4.TRS( return Matrix4x4.TRS(
new Vector3( new Vector3(
0.0f, 0.0f,
1.8f, 0.15f,
0.0f), 0.0f),
Quaternion.identity, Quaternion.identity,
new Vector3( new Vector3(
0.01f + age * 0.2f, 0.015f + age * 0.1f,
0.5f + age * 0.5f, 0.05f + age * 0.1f,
0.02f + age * 0.12f)); 0.015f + age * 0.1f));
}
private Matrix4x4 LeafGrowth(float age)
{
return Matrix4x4.TRS(
new Vector3(
0.02f,
0.0f,
0.0f),
Quaternion.identity,
new Vector3(
0.03f + age * 0.1f,
0.03f + age * 0.1f,
0.03f + age * 0.1f));
}
private Matrix4x4 AppleGrowth(float age)
{
return Matrix4x4.TRS(
new Vector3(
0.04f,
0.15f,
0.0f),
Quaternion.identity,
new Vector3(
0.03f + age * 0.1f,
0.03f + age * 0.1f,
0.03f + age * 0.1f));
} }
private Func<float[], Matrix4x4> Roation(Vector3 axis) private Func<float[], Matrix4x4> Roation(Vector3 axis)
@ -65,11 +95,15 @@ public class TreeTurtle : TurtleLSystemEnvironment
{ "^", (float[] args) => new T(null, Roation(Vector3.left)(args)) }, { "^", (float[] args) => new T(null, Roation(Vector3.left)(args)) },
{ "&", (float[] args) => new T(null, Roation(Vector3.right)(args)) }, { "&", (float[] args) => new T(null, Roation(Vector3.right)(args)) },
{ "f", (float[] args) => new T(null, Matrix4x4.Translate(Vector3.up * args[0])) }, { "f", (float[] args) => new T(null, Matrix4x4.Translate(Vector3.left * args[0])) },
{ "I", (float[] args) => new T(null, Matrix4x4.identity) }, { "I", (float[] args) => new T(null, Matrix4x4.identity) },
{ "S", (float[] args) => new T(null, Matrix4x4.identity) },
{ "R", (float[] args) => new T(branch, RootGrowth(args[0]))}, { "R", (float[] args) => new T(branch, RootGrowth(args[0]))},
{ "B", (float[] args) => new T(branch, BranchGrowth(args[0]))}, { "B", (float[] args) => new T(branch, BranchGrowth(args[0]))},
{ "N", (float[] args) => new T(branch, BranchGrowth(1))},
{ "A", (float[] args) => new T(apple, AppleGrowth(args[0]))},
{ "L", (float[] args) => new T(leaf, LeafGrowth(args[0]))},
//Wildcard how to represent any other symbol //Wildcard how to represent any other symbol
{ "*.*", (float[] args) => new T(branch, BranchGrowth(args[0]))} { "*.*", (float[] args) => new T(branch, BranchGrowth(args[0]))}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

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