├── .gitattributes
├── .gitignore
├── Assets
├── FishDemo.meta
└── FishDemo
│ ├── Materials.meta
│ ├── Materials
│ ├── FishNormal.mat
│ ├── FishNormal.mat.meta
│ ├── FoggedGlass.mat
│ ├── FoggedGlass.mat.meta
│ ├── Glass.mat
│ ├── Glass.mat.meta
│ ├── Kelp.mat
│ ├── Kelp.mat.meta
│ ├── LivingRoomSkybox.mat
│ ├── LivingRoomSkybox.mat.meta
│ ├── Rock.mat
│ ├── Rock.mat.meta
│ ├── Sand.mat
│ ├── Sand.mat.meta
│ ├── UnderwaterSkybox.mat
│ ├── UnderwaterSkybox.mat.meta
│ ├── Vines1.mat
│ ├── Vines1.mat.meta
│ ├── WaterSurface.mat
│ └── WaterSurface.mat.meta
│ ├── Meshes.meta
│ ├── Meshes
│ ├── Goldfish.obj
│ ├── Goldfish.obj.meta
│ ├── Kelp.obj
│ ├── Kelp.obj.meta
│ ├── PUSHILIN_stone.obj
│ ├── PUSHILIN_stone.obj.meta
│ ├── Vines.obj
│ └── Vines.obj.meta
│ ├── PostProcessing.meta
│ ├── PostProcessing
│ ├── FishPostProcessing.asset
│ └── FishPostProcessing.asset.meta
│ ├── Prefabs.meta
│ ├── Prefabs
│ ├── Goldfish.prefab
│ ├── Goldfish.prefab.meta
│ ├── Kelp.prefab
│ ├── Kelp.prefab.meta
│ ├── Vines.prefab
│ └── Vines.prefab.meta
│ ├── Scenes.meta
│ ├── Scenes
│ ├── SampleScene.meta
│ ├── SampleScene.unity
│ ├── SampleScene.unity.meta
│ └── SampleScene
│ │ ├── LightingData.asset
│ │ ├── LightingData.asset.meta
│ │ ├── Lightmap-0_comp_dir.png
│ │ ├── Lightmap-0_comp_dir.png.meta
│ │ ├── Lightmap-0_comp_light.exr
│ │ ├── Lightmap-0_comp_light.exr.meta
│ │ ├── Lightmap-0_comp_shadowmask.png
│ │ ├── Lightmap-0_comp_shadowmask.png.meta
│ │ ├── ReflectionProbe-0.exr
│ │ └── ReflectionProbe-0.exr.meta
│ ├── Scripts.meta
│ ├── Scripts
│ ├── Fish.cs
│ ├── Fish.cs.meta
│ ├── TargetCamera.cs
│ └── TargetCamera.cs.meta
│ ├── Tests.meta
│ ├── Tests
│ ├── NewTestScript.cs
│ ├── NewTestScript.cs.meta
│ ├── Tests.asmdef
│ └── Tests.asmdef.meta
│ ├── Textures.meta
│ └── Textures
│ ├── Kelp_BaseColor.png
│ ├── Kelp_BaseColor.png.meta
│ ├── PUSHILIN_stone.png
│ ├── PUSHILIN_stone.png.meta
│ ├── Sand.jpg
│ ├── Sand.jpg.meta
│ ├── Sand2.jpg
│ ├── Sand2.jpg.meta
│ ├── Sand3.png
│ ├── Sand3.png.meta
│ ├── Sand4.jpg
│ ├── Sand4.jpg.meta
│ ├── Vines_BaseColor.png
│ ├── Vines_BaseColor.png.meta
│ ├── coral-reef-underwater-360-vr-footage-073659035_prevstill.jpeg
│ ├── coral-reef-underwater-360-vr-footage-073659035_prevstill.jpeg.meta
│ ├── living room.jpeg
│ └── living room.jpeg.meta
├── Documentation
└── Images
│ ├── Debug_Aids.jpg
│ └── Unity_Fish_AI_Video_Thumb.jpg
├── LICENSE
├── Packages
└── manifest.json
├── ProjectSettings
├── AudioManager.asset
├── ClusterInputManager.asset
├── DynamicsManager.asset
├── EditorBuildSettings.asset
├── EditorSettings.asset
├── GraphicsSettings.asset
├── InputManager.asset
├── NavMeshAreas.asset
├── NetworkManager.asset
├── Physics2DSettings.asset
├── PresetManager.asset
├── ProjectSettings.asset
├── ProjectVersion.txt
├── QualitySettings.asset
├── TagManager.asset
├── TimeManager.asset
└── UnityConnectSettings.asset
└── README.md
/.gitattributes:
--------------------------------------------------------------------------------
1 | * text=auto
2 |
3 | # Unity files
4 | *.meta -text -merge=unityamlmerge
5 | *.unity -text -merge=unityamlmerge
6 | *.asset -text -merge=unityamlmerge
7 | *.prefab -text -merge=unityamlmerge
8 |
9 | # Image formats
10 | *.psd filter=lfs diff=lfs merge=lfs -text
11 | *.jpg filter=lfs diff=lfs merge=lfs -text
12 | *.png filter=lfs diff=lfs merge=lfs -text
13 | *.gif filter=lfs diff=lfs merge=lfs -text
14 | *.bmp filter=lfs diff=lfs merge=lfs -text
15 | *.tga filter=lfs diff=lfs merge=lfs -text
16 | *.tiff filter=lfs diff=lfs merge=lfs -text
17 | *.iff filter=lfs diff=lfs merge=lfs -text
18 | *.pict filter=lfs diff=lfs merge=lfs -text
19 | *.dds filter=lfs diff=lfs merge=lfs -text
20 |
21 | # Audio formats
22 | *.mp3 filter=lfs diff=lfs merge=lfs -text
23 | *.ogg filter=lfs diff=lfs merge=lfs -text
24 | *.wav filter=lfs diff=lfs merge=lfs -text
25 | *.aiff filter=lfs diff=lfs merge=lfs -text
26 | *.aif filter=lfs diff=lfs merge=lfs -text
27 | *.mod filter=lfs diff=lfs merge=lfs -text
28 | *.it filter=lfs diff=lfs merge=lfs -text
29 | *.s3m filter=lfs diff=lfs merge=lfs -text
30 | *.xm filter=lfs diff=lfs merge=lfs -text
31 |
32 | # Video formats
33 | *.mov filter=lfs diff=lfs merge=lfs -text
34 | *.avi filter=lfs diff=lfs merge=lfs -text
35 | *.asf filter=lfs diff=lfs merge=lfs -text
36 | *.mpg filter=lfs diff=lfs merge=lfs -text
37 | *.mpeg filter=lfs diff=lfs merge=lfs -text
38 | *.mp4 filter=lfs diff=lfs merge=lfs -text
39 |
40 | # 3D formats
41 | *.fbx filter=lfs diff=lfs merge=lfs -text
42 | *.obj filter=lfs diff=lfs merge=lfs -text
43 | *.max filter=lfs diff=lfs merge=lfs -text
44 | *.blend filter=lfs diff=lfs merge=lfs -text
45 | *.dae filter=lfs diff=lfs merge=lfs -text
46 | *.mb filter=lfs diff=lfs merge=lfs -text
47 | *.ma filter=lfs diff=lfs merge=lfs -text
48 | *.3ds filter=lfs diff=lfs merge=lfs -text
49 | *.dfx filter=lfs diff=lfs merge=lfs -text
50 | *.c4d filter=lfs diff=lfs merge=lfs -text
51 | *.lwo filter=lfs diff=lfs merge=lfs -text
52 | *.lwo2 filter=lfs diff=lfs merge=lfs -text
53 | *.abc filter=lfs diff=lfs merge=lfs -text
54 | *.3dm filter=lfs diff=lfs merge=lfs -text
55 |
56 | # Build
57 | *.dll filter=lfs diff=lfs merge=lfs -text
58 | *.pdb filter=lfs diff=lfs merge=lfs -text
59 | *.mdb filter=lfs diff=lfs merge=lfs -text
60 |
61 | # Packaging
62 | *.zip filter=lfs diff=lfs merge=lfs -text
63 | *.7z filter=lfs diff=lfs merge=lfs -text
64 | *.gz filter=lfs diff=lfs merge=lfs -text
65 | *.rar filter=lfs diff=lfs merge=lfs -text
66 | *.tar filter=lfs diff=lfs merge=lfs -text
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /[Ll]ibrary/
2 | /[Tt]emp/
3 | /[Oo]bj/
4 | /[Bb]uild/
5 | /[Bb]uilds/
6 |
7 | /Assets/AssetStoreTools*
8 |
9 | # Visual Studio 2015 cache directory
10 | /.vs/
11 |
12 | # Autogenerated VS/MD/Consulo solution and project files
13 | ExportedObj/
14 | .consulo/
15 | *.csproj
16 | *.unityproj
17 | *.sln
18 | *.suo
19 | *.tmp
20 | *.user
21 | *.userprefs
22 | *.pidb
23 | *.booproj
24 | *.svd
25 | *.pdb
26 |
27 |
28 | # Unity3D generated meta files
29 | *.pidb.meta
30 |
31 | # Unity3D Generated File On Crash Reports
32 | sysinfo.txt
33 |
34 | # Builds
35 | *.apk
36 | *.unitypackage
--------------------------------------------------------------------------------
/Assets/FishDemo.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 06c132c9a0a3e4f4db8b09c9b748da6f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7e409591823aa42198a486e7f422cc52
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/FishNormal.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: FishNormal
10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: -1
16 | stringTagMap: {}
17 | disabledShaderPasses: []
18 | m_SavedProperties:
19 | serializedVersion: 3
20 | m_TexEnvs:
21 | - _BumpMap:
22 | m_Texture: {fileID: 0}
23 | m_Scale: {x: 1, y: 1}
24 | m_Offset: {x: 0, y: 0}
25 | - _DetailAlbedoMap:
26 | m_Texture: {fileID: 0}
27 | m_Scale: {x: 1, y: 1}
28 | m_Offset: {x: 0, y: 0}
29 | - _DetailMask:
30 | m_Texture: {fileID: 0}
31 | m_Scale: {x: 1, y: 1}
32 | m_Offset: {x: 0, y: 0}
33 | - _DetailNormalMap:
34 | m_Texture: {fileID: 0}
35 | m_Scale: {x: 1, y: 1}
36 | m_Offset: {x: 0, y: 0}
37 | - _EmissionMap:
38 | m_Texture: {fileID: 0}
39 | m_Scale: {x: 1, y: 1}
40 | m_Offset: {x: 0, y: 0}
41 | - _MainTex:
42 | m_Texture: {fileID: 0}
43 | m_Scale: {x: 1, y: 1}
44 | m_Offset: {x: 0, y: 0}
45 | - _MetallicGlossMap:
46 | m_Texture: {fileID: 0}
47 | m_Scale: {x: 1, y: 1}
48 | m_Offset: {x: 0, y: 0}
49 | - _OcclusionMap:
50 | m_Texture: {fileID: 0}
51 | m_Scale: {x: 1, y: 1}
52 | m_Offset: {x: 0, y: 0}
53 | - _ParallaxMap:
54 | m_Texture: {fileID: 0}
55 | m_Scale: {x: 1, y: 1}
56 | m_Offset: {x: 0, y: 0}
57 | m_Floats:
58 | - _BumpScale: 1
59 | - _Cutoff: 0.5
60 | - _DetailNormalMapScale: 1
61 | - _DstBlend: 0
62 | - _GlossMapScale: 1
63 | - _Glossiness: 0.897
64 | - _GlossyReflections: 1
65 | - _Metallic: 0
66 | - _Mode: 0
67 | - _OcclusionStrength: 1
68 | - _Parallax: 0.02
69 | - _SmoothnessTextureChannel: 0
70 | - _SpecularHighlights: 1
71 | - _SrcBlend: 1
72 | - _UVSec: 0
73 | - _ZWrite: 1
74 | m_Colors:
75 | - _Color: {r: 0.9716981, g: 0.61992455, b: 0.19708972, a: 1}
76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
77 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/FishNormal.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 338882a146397462d9d844d38e7724da
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/FoggedGlass.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: FoggedGlass
10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: 3000
16 | stringTagMap:
17 | RenderType: Transparent
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 10
63 | - _GlossMapScale: 1
64 | - _Glossiness: 0.5
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 3
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 0
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 0
75 | m_Colors:
76 | - _Color: {r: 0, g: 0.6410653, b: 0.7169812, a: 0.8039216}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/FoggedGlass.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 20a7ffed249ea478abf3fb6380815548
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/Glass.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: Glass
10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords: _ALPHAPREMULTIPLY_ON
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: 3000
16 | stringTagMap:
17 | RenderType: Transparent
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 10
63 | - _GlossMapScale: 1
64 | - _Glossiness: 1
65 | - _GlossyReflections: 1
66 | - _Metallic: 0
67 | - _Mode: 3
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 0
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 1
73 | - _UVSec: 0
74 | - _ZWrite: 0
75 | m_Colors:
76 | - _Color: {r: 0.007843147, g: 0.63384724, b: 0.65882355, a: 0.16078432}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/Glass.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2b53719b360cf40a7945a92a74b09263
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/Kelp.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: Kelp
10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: -1
16 | stringTagMap: {}
17 | disabledShaderPasses: []
18 | m_SavedProperties:
19 | serializedVersion: 3
20 | m_TexEnvs:
21 | - _BumpMap:
22 | m_Texture: {fileID: 0}
23 | m_Scale: {x: 1, y: 1}
24 | m_Offset: {x: 0, y: 0}
25 | - _DetailAlbedoMap:
26 | m_Texture: {fileID: 0}
27 | m_Scale: {x: 1, y: 1}
28 | m_Offset: {x: 0, y: 0}
29 | - _DetailMask:
30 | m_Texture: {fileID: 0}
31 | m_Scale: {x: 1, y: 1}
32 | m_Offset: {x: 0, y: 0}
33 | - _DetailNormalMap:
34 | m_Texture: {fileID: 0}
35 | m_Scale: {x: 1, y: 1}
36 | m_Offset: {x: 0, y: 0}
37 | - _EmissionMap:
38 | m_Texture: {fileID: 0}
39 | m_Scale: {x: 1, y: 1}
40 | m_Offset: {x: 0, y: 0}
41 | - _MainTex:
42 | m_Texture: {fileID: 2800000, guid: 15c739245dc084ef7a89b7d40766d17e, type: 3}
43 | m_Scale: {x: 1, y: 1}
44 | m_Offset: {x: 0, y: 0}
45 | - _MetallicGlossMap:
46 | m_Texture: {fileID: 0}
47 | m_Scale: {x: 1, y: 1}
48 | m_Offset: {x: 0, y: 0}
49 | - _OcclusionMap:
50 | m_Texture: {fileID: 0}
51 | m_Scale: {x: 1, y: 1}
52 | m_Offset: {x: 0, y: 0}
53 | - _ParallaxMap:
54 | m_Texture: {fileID: 0}
55 | m_Scale: {x: 1, y: 1}
56 | m_Offset: {x: 0, y: 0}
57 | m_Floats:
58 | - _BumpScale: 1
59 | - _Cutoff: 0.5
60 | - _DetailNormalMapScale: 1
61 | - _DstBlend: 0
62 | - _GlossMapScale: 1
63 | - _Glossiness: 0.518
64 | - _GlossyReflections: 1
65 | - _Metallic: 0
66 | - _Mode: 0
67 | - _OcclusionStrength: 1
68 | - _Parallax: 0.02
69 | - _SmoothnessTextureChannel: 0
70 | - _SpecularHighlights: 1
71 | - _SrcBlend: 1
72 | - _UVSec: 0
73 | - _ZWrite: 1
74 | m_Colors:
75 | - _Color: {r: 1, g: 1, b: 1, a: 1}
76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
77 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/Kelp.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 63ca997d347a54455ae36f05c50f24bc
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/LivingRoomSkybox.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: LivingRoomSkybox
10 | m_Shader: {fileID: 103, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: -1
16 | stringTagMap: {}
17 | disabledShaderPasses: []
18 | m_SavedProperties:
19 | serializedVersion: 3
20 | m_TexEnvs:
21 | - _BumpMap:
22 | m_Texture: {fileID: 0}
23 | m_Scale: {x: 1, y: 1}
24 | m_Offset: {x: 0, y: 0}
25 | - _DetailAlbedoMap:
26 | m_Texture: {fileID: 0}
27 | m_Scale: {x: 1, y: 1}
28 | m_Offset: {x: 0, y: 0}
29 | - _DetailMask:
30 | m_Texture: {fileID: 0}
31 | m_Scale: {x: 1, y: 1}
32 | m_Offset: {x: 0, y: 0}
33 | - _DetailNormalMap:
34 | m_Texture: {fileID: 0}
35 | m_Scale: {x: 1, y: 1}
36 | m_Offset: {x: 0, y: 0}
37 | - _EmissionMap:
38 | m_Texture: {fileID: 0}
39 | m_Scale: {x: 1, y: 1}
40 | m_Offset: {x: 0, y: 0}
41 | - _MainTex:
42 | m_Texture: {fileID: 0}
43 | m_Scale: {x: 1, y: 1}
44 | m_Offset: {x: 0, y: 0}
45 | - _MetallicGlossMap:
46 | m_Texture: {fileID: 0}
47 | m_Scale: {x: 1, y: 1}
48 | m_Offset: {x: 0, y: 0}
49 | - _OcclusionMap:
50 | m_Texture: {fileID: 0}
51 | m_Scale: {x: 1, y: 1}
52 | m_Offset: {x: 0, y: 0}
53 | - _ParallaxMap:
54 | m_Texture: {fileID: 0}
55 | m_Scale: {x: 1, y: 1}
56 | m_Offset: {x: 0, y: 0}
57 | - _Tex:
58 | m_Texture: {fileID: 8900000, guid: 202ce571c98f6446b95ec3975b63ece6, type: 3}
59 | m_Scale: {x: 1, y: 1}
60 | m_Offset: {x: 0, y: 0}
61 | m_Floats:
62 | - _BumpScale: 1
63 | - _Cutoff: 0.5
64 | - _DetailNormalMapScale: 1
65 | - _DstBlend: 0
66 | - _Exposure: 1
67 | - _GlossMapScale: 1
68 | - _Glossiness: 0.5
69 | - _GlossyReflections: 1
70 | - _Metallic: 0
71 | - _Mode: 0
72 | - _OcclusionStrength: 1
73 | - _Parallax: 0.02
74 | - _Rotation: 0
75 | - _SmoothnessTextureChannel: 0
76 | - _SpecularHighlights: 1
77 | - _SrcBlend: 1
78 | - _UVSec: 0
79 | - _ZWrite: 1
80 | m_Colors:
81 | - _Color: {r: 1, g: 1, b: 1, a: 1}
82 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
83 | - _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
84 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/LivingRoomSkybox.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f399fd46c7a394c2a98e8deb85ec7b8e
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/Rock.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: Rock
10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: -1
16 | stringTagMap: {}
17 | disabledShaderPasses: []
18 | m_SavedProperties:
19 | serializedVersion: 3
20 | m_TexEnvs:
21 | - _BumpMap:
22 | m_Texture: {fileID: 0}
23 | m_Scale: {x: 1, y: 1}
24 | m_Offset: {x: 0, y: 0}
25 | - _DetailAlbedoMap:
26 | m_Texture: {fileID: 0}
27 | m_Scale: {x: 1, y: 1}
28 | m_Offset: {x: 0, y: 0}
29 | - _DetailMask:
30 | m_Texture: {fileID: 0}
31 | m_Scale: {x: 1, y: 1}
32 | m_Offset: {x: 0, y: 0}
33 | - _DetailNormalMap:
34 | m_Texture: {fileID: 0}
35 | m_Scale: {x: 1, y: 1}
36 | m_Offset: {x: 0, y: 0}
37 | - _EmissionMap:
38 | m_Texture: {fileID: 0}
39 | m_Scale: {x: 1, y: 1}
40 | m_Offset: {x: 0, y: 0}
41 | - _MainTex:
42 | m_Texture: {fileID: 0}
43 | m_Scale: {x: 1, y: 1}
44 | m_Offset: {x: 0, y: 0}
45 | - _MetallicGlossMap:
46 | m_Texture: {fileID: 0}
47 | m_Scale: {x: 1, y: 1}
48 | m_Offset: {x: 0, y: 0}
49 | - _OcclusionMap:
50 | m_Texture: {fileID: 0}
51 | m_Scale: {x: 1, y: 1}
52 | m_Offset: {x: 0, y: 0}
53 | - _ParallaxMap:
54 | m_Texture: {fileID: 0}
55 | m_Scale: {x: 1, y: 1}
56 | m_Offset: {x: 0, y: 0}
57 | m_Floats:
58 | - _BumpScale: 1
59 | - _Cutoff: 0.5
60 | - _DetailNormalMapScale: 1
61 | - _DstBlend: 0
62 | - _GlossMapScale: 1
63 | - _Glossiness: 0.166
64 | - _GlossyReflections: 1
65 | - _Metallic: 0
66 | - _Mode: 0
67 | - _OcclusionStrength: 1
68 | - _Parallax: 0.02
69 | - _SmoothnessTextureChannel: 0
70 | - _SpecularHighlights: 1
71 | - _SrcBlend: 1
72 | - _UVSec: 0
73 | - _ZWrite: 1
74 | m_Colors:
75 | - _Color: {r: 0.6415094, g: 0.6415094, b: 0.6415094, a: 1}
76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
77 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/Rock.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: aff9c7dbbc42d4c078628a60db097cc2
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/Sand.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: Sand
10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: -1
16 | stringTagMap: {}
17 | disabledShaderPasses: []
18 | m_SavedProperties:
19 | serializedVersion: 3
20 | m_TexEnvs:
21 | - _BumpMap:
22 | m_Texture: {fileID: 0}
23 | m_Scale: {x: 1, y: 1}
24 | m_Offset: {x: 0, y: 0}
25 | - _DetailAlbedoMap:
26 | m_Texture: {fileID: 0}
27 | m_Scale: {x: 1, y: 1}
28 | m_Offset: {x: 0, y: 0}
29 | - _DetailMask:
30 | m_Texture: {fileID: 0}
31 | m_Scale: {x: 1, y: 1}
32 | m_Offset: {x: 0, y: 0}
33 | - _DetailNormalMap:
34 | m_Texture: {fileID: 0}
35 | m_Scale: {x: 1, y: 1}
36 | m_Offset: {x: 0, y: 0}
37 | - _EmissionMap:
38 | m_Texture: {fileID: 0}
39 | m_Scale: {x: 6, y: 4}
40 | m_Offset: {x: 0, y: 0}
41 | - _MainTex:
42 | m_Texture: {fileID: 2800000, guid: 4628dd7cc7c7441bca0f8d172e4e25d5, type: 3}
43 | m_Scale: {x: 6, y: 4}
44 | m_Offset: {x: 0, y: 0}
45 | - _MetallicGlossMap:
46 | m_Texture: {fileID: 0}
47 | m_Scale: {x: 1, y: 1}
48 | m_Offset: {x: 0, y: 0}
49 | - _OcclusionMap:
50 | m_Texture: {fileID: 0}
51 | m_Scale: {x: 1, y: 1}
52 | m_Offset: {x: 0, y: 0}
53 | - _ParallaxMap:
54 | m_Texture: {fileID: 0}
55 | m_Scale: {x: 1, y: 1}
56 | m_Offset: {x: 0, y: 0}
57 | m_Floats:
58 | - _BumpScale: 1
59 | - _Cutoff: 0.5
60 | - _DetailNormalMapScale: 1
61 | - _DstBlend: 0
62 | - _GlossMapScale: 1
63 | - _Glossiness: 0
64 | - _GlossyReflections: 1
65 | - _Metallic: 0
66 | - _Mode: 0
67 | - _OcclusionStrength: 1
68 | - _Parallax: 0.02
69 | - _SmoothnessTextureChannel: 0
70 | - _SpecularHighlights: 1
71 | - _SrcBlend: 1
72 | - _UVSec: 0
73 | - _ZWrite: 1
74 | m_Colors:
75 | - _Color: {r: 1, g: 1, b: 1, a: 1}
76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
77 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/Sand.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 754d3dc1b250b4b06bf95265df16acd0
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/UnderwaterSkybox.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: UnderwaterSkybox
10 | m_Shader: {fileID: 103, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: -1
16 | stringTagMap: {}
17 | disabledShaderPasses: []
18 | m_SavedProperties:
19 | serializedVersion: 3
20 | m_TexEnvs:
21 | - _BumpMap:
22 | m_Texture: {fileID: 0}
23 | m_Scale: {x: 1, y: 1}
24 | m_Offset: {x: 0, y: 0}
25 | - _DetailAlbedoMap:
26 | m_Texture: {fileID: 0}
27 | m_Scale: {x: 1, y: 1}
28 | m_Offset: {x: 0, y: 0}
29 | - _DetailMask:
30 | m_Texture: {fileID: 0}
31 | m_Scale: {x: 1, y: 1}
32 | m_Offset: {x: 0, y: 0}
33 | - _DetailNormalMap:
34 | m_Texture: {fileID: 0}
35 | m_Scale: {x: 1, y: 1}
36 | m_Offset: {x: 0, y: 0}
37 | - _EmissionMap:
38 | m_Texture: {fileID: 0}
39 | m_Scale: {x: 1, y: 1}
40 | m_Offset: {x: 0, y: 0}
41 | - _MainTex:
42 | m_Texture: {fileID: 0}
43 | m_Scale: {x: 1, y: 1}
44 | m_Offset: {x: 0, y: 0}
45 | - _MetallicGlossMap:
46 | m_Texture: {fileID: 0}
47 | m_Scale: {x: 1, y: 1}
48 | m_Offset: {x: 0, y: 0}
49 | - _OcclusionMap:
50 | m_Texture: {fileID: 0}
51 | m_Scale: {x: 1, y: 1}
52 | m_Offset: {x: 0, y: 0}
53 | - _ParallaxMap:
54 | m_Texture: {fileID: 0}
55 | m_Scale: {x: 1, y: 1}
56 | m_Offset: {x: 0, y: 0}
57 | - _Tex:
58 | m_Texture: {fileID: 8900000, guid: b52337880cd964601ae867b13d8836cc, type: 3}
59 | m_Scale: {x: 1, y: 1}
60 | m_Offset: {x: 0, y: 0}
61 | m_Floats:
62 | - _BumpScale: 1
63 | - _Cutoff: 0.5
64 | - _DetailNormalMapScale: 1
65 | - _DstBlend: 0
66 | - _Exposure: 1
67 | - _GlossMapScale: 1
68 | - _Glossiness: 0.5
69 | - _GlossyReflections: 1
70 | - _Metallic: 0
71 | - _Mode: 0
72 | - _OcclusionStrength: 1
73 | - _Parallax: 0.02
74 | - _Rotation: 0
75 | - _SmoothnessTextureChannel: 0
76 | - _SpecularHighlights: 1
77 | - _SrcBlend: 1
78 | - _UVSec: 0
79 | - _ZWrite: 1
80 | m_Colors:
81 | - _Color: {r: 1, g: 1, b: 1, a: 1}
82 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
83 | - _Tint: {r: 0.5, g: 0.5, b: 0.5, a: 0.5}
84 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/UnderwaterSkybox.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: ae009bada86da47a5b09e7f74cc3931d
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/Vines1.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: Vines1
10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords:
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: -1
16 | stringTagMap: {}
17 | disabledShaderPasses: []
18 | m_SavedProperties:
19 | serializedVersion: 3
20 | m_TexEnvs:
21 | - _BumpMap:
22 | m_Texture: {fileID: 0}
23 | m_Scale: {x: 1, y: 1}
24 | m_Offset: {x: 0, y: 0}
25 | - _DetailAlbedoMap:
26 | m_Texture: {fileID: 0}
27 | m_Scale: {x: 1, y: 1}
28 | m_Offset: {x: 0, y: 0}
29 | - _DetailMask:
30 | m_Texture: {fileID: 0}
31 | m_Scale: {x: 1, y: 1}
32 | m_Offset: {x: 0, y: 0}
33 | - _DetailNormalMap:
34 | m_Texture: {fileID: 0}
35 | m_Scale: {x: 1, y: 1}
36 | m_Offset: {x: 0, y: 0}
37 | - _EmissionMap:
38 | m_Texture: {fileID: 0}
39 | m_Scale: {x: 1, y: 1}
40 | m_Offset: {x: 0, y: 0}
41 | - _MainTex:
42 | m_Texture: {fileID: 2800000, guid: 6ab22f6e344f84e7cabe219c64dde3be, type: 3}
43 | m_Scale: {x: 1, y: 1}
44 | m_Offset: {x: 0, y: 0}
45 | - _MetallicGlossMap:
46 | m_Texture: {fileID: 0}
47 | m_Scale: {x: 1, y: 1}
48 | m_Offset: {x: 0, y: 0}
49 | - _OcclusionMap:
50 | m_Texture: {fileID: 0}
51 | m_Scale: {x: 1, y: 1}
52 | m_Offset: {x: 0, y: 0}
53 | - _ParallaxMap:
54 | m_Texture: {fileID: 0}
55 | m_Scale: {x: 1, y: 1}
56 | m_Offset: {x: 0, y: 0}
57 | m_Floats:
58 | - _BumpScale: 1
59 | - _Cutoff: 0.5
60 | - _DetailNormalMapScale: 1
61 | - _DstBlend: 0
62 | - _GlossMapScale: 1
63 | - _Glossiness: 0.599
64 | - _GlossyReflections: 1
65 | - _Metallic: 0
66 | - _Mode: 0
67 | - _OcclusionStrength: 1
68 | - _Parallax: 0.02
69 | - _SmoothnessTextureChannel: 0
70 | - _SpecularHighlights: 1
71 | - _SrcBlend: 1
72 | - _UVSec: 0
73 | - _ZWrite: 1
74 | m_Colors:
75 | - _Color: {r: 1, g: 1, b: 1, a: 1}
76 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
77 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/Vines1.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 01467e9de2eb046639ea6c657ed85885
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/WaterSurface.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 6
6 | m_ObjectHideFlags: 0
7 | m_PrefabParentObject: {fileID: 0}
8 | m_PrefabInternal: {fileID: 0}
9 | m_Name: WaterSurface
10 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
11 | m_ShaderKeywords: _ALPHABLEND_ON
12 | m_LightmapFlags: 4
13 | m_EnableInstancingVariants: 0
14 | m_DoubleSidedGI: 0
15 | m_CustomRenderQueue: 3000
16 | stringTagMap:
17 | RenderType: Transparent
18 | disabledShaderPasses: []
19 | m_SavedProperties:
20 | serializedVersion: 3
21 | m_TexEnvs:
22 | - _BumpMap:
23 | m_Texture: {fileID: 0}
24 | m_Scale: {x: 1, y: 1}
25 | m_Offset: {x: 0, y: 0}
26 | - _DetailAlbedoMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailMask:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailNormalMap:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _EmissionMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _MainTex:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MetallicGlossMap:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _OcclusionMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _ParallaxMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | m_Floats:
59 | - _BumpScale: 1
60 | - _Cutoff: 0.5
61 | - _DetailNormalMapScale: 1
62 | - _DstBlend: 10
63 | - _GlossMapScale: 1
64 | - _Glossiness: 1
65 | - _GlossyReflections: 1
66 | - _Metallic: 0.477
67 | - _Mode: 2
68 | - _OcclusionStrength: 1
69 | - _Parallax: 0.02
70 | - _SmoothnessTextureChannel: 0
71 | - _SpecularHighlights: 1
72 | - _SrcBlend: 5
73 | - _UVSec: 0
74 | - _ZWrite: 0
75 | m_Colors:
76 | - _Color: {r: 0.007843147, g: 0.44968444, b: 0.65882355, a: 0.81960785}
77 | - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
78 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Materials/WaterSurface.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d8f53c347c9724eb38e05866f03f6c0f
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Meshes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 47bd468b49f6d471d97845029c13562c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Meshes/Goldfish.obj:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:735b4d111dae0b0ba397902c2d5730e664184c947793443ff1d785d0fbf3bb88
3 | size 256646
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Meshes/Goldfish.obj.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fee0172f88f6649c18ef2f338212fcdb
3 | ModelImporter:
4 | serializedVersion: 22
5 | fileIDToRecycleName:
6 | 100000: default
7 | 100002: //RootNode
8 | 400000: default
9 | 400002: //RootNode
10 | 2100000: defaultMat
11 | 2300000: default
12 | 3300000: default
13 | 4300000: default
14 | 2186277476908879412: ImportLogs
15 | externalObjects: {}
16 | materials:
17 | importMaterials: 1
18 | materialName: 0
19 | materialSearch: 1
20 | materialLocation: 1
21 | animations:
22 | legacyGenerateAnimations: 4
23 | bakeSimulation: 0
24 | resampleCurves: 1
25 | optimizeGameObjects: 0
26 | motionNodeName:
27 | rigImportErrors:
28 | rigImportWarnings:
29 | animationImportErrors:
30 | animationImportWarnings:
31 | animationRetargetingWarnings:
32 | animationDoRetargetingWarnings: 0
33 | importAnimatedCustomProperties: 0
34 | importConstraints: 0
35 | animationCompression: 1
36 | animationRotationError: 0.5
37 | animationPositionError: 0.5
38 | animationScaleError: 0.5
39 | animationWrapMode: 0
40 | extraExposedTransformPaths: []
41 | extraUserProperties: []
42 | clipAnimations: []
43 | isReadable: 1
44 | meshes:
45 | lODScreenPercentages: []
46 | globalScale: 0.001
47 | meshCompression: 0
48 | addColliders: 0
49 | importVisibility: 1
50 | importBlendShapes: 1
51 | importCameras: 0
52 | importLights: 0
53 | swapUVChannels: 0
54 | generateSecondaryUV: 1
55 | useFileUnits: 1
56 | optimizeMeshForGPU: 1
57 | keepQuads: 0
58 | weldVertices: 1
59 | preserveHierarchy: 0
60 | indexFormat: 0
61 | secondaryUVAngleDistortion: 8
62 | secondaryUVAreaDistortion: 15.000001
63 | secondaryUVHardAngle: 88
64 | secondaryUVPackMargin: 4
65 | useFileScale: 0
66 | tangentSpace:
67 | normalSmoothAngle: 60
68 | normalImportMode: 1
69 | tangentImportMode: 3
70 | normalCalculationMode: 4
71 | importAnimation: 1
72 | copyAvatar: 0
73 | humanDescription:
74 | serializedVersion: 2
75 | human: []
76 | skeleton: []
77 | armTwist: 0.5
78 | foreArmTwist: 0.5
79 | upperLegTwist: 0.5
80 | legTwist: 0.5
81 | armStretch: 0.05
82 | legStretch: 0.05
83 | feetSpacing: 0
84 | rootMotionBoneName:
85 | rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
86 | hasTranslationDoF: 0
87 | hasExtraRoot: 0
88 | skeletonHasParents: 1
89 | lastHumanDescriptionAvatarSource: {instanceID: 0}
90 | animationType: 0
91 | humanoidOversampling: 1
92 | additionalBone: 0
93 | userData:
94 | assetBundleName:
95 | assetBundleVariant:
96 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Meshes/Kelp.obj:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:b1a301f2685f25c8f7670196abde332788b218c5c5e7c151b18267cc260cb91c
3 | size 76668
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Meshes/Kelp.obj.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: add977a507d7649e2948b7e7b869c4f1
3 | ModelImporter:
4 | serializedVersion: 22
5 | fileIDToRecycleName:
6 | 100000: //RootNode
7 | 100002: Kelp_mesh
8 | 400000: //RootNode
9 | 400002: Kelp_mesh
10 | 2100000: Kelp_meshMat
11 | 2300000: Kelp_mesh
12 | 3300000: Kelp_mesh
13 | 4300000: Kelp_mesh
14 | externalObjects: {}
15 | materials:
16 | importMaterials: 1
17 | materialName: 0
18 | materialSearch: 1
19 | materialLocation: 1
20 | animations:
21 | legacyGenerateAnimations: 4
22 | bakeSimulation: 0
23 | resampleCurves: 1
24 | optimizeGameObjects: 0
25 | motionNodeName:
26 | rigImportErrors:
27 | rigImportWarnings:
28 | animationImportErrors:
29 | animationImportWarnings:
30 | animationRetargetingWarnings:
31 | animationDoRetargetingWarnings: 0
32 | importAnimatedCustomProperties: 0
33 | importConstraints: 0
34 | animationCompression: 1
35 | animationRotationError: 0.5
36 | animationPositionError: 0.5
37 | animationScaleError: 0.5
38 | animationWrapMode: 0
39 | extraExposedTransformPaths: []
40 | extraUserProperties: []
41 | clipAnimations: []
42 | isReadable: 1
43 | meshes:
44 | lODScreenPercentages: []
45 | globalScale: 0.1
46 | meshCompression: 0
47 | addColliders: 0
48 | importVisibility: 1
49 | importBlendShapes: 1
50 | importCameras: 1
51 | importLights: 1
52 | swapUVChannels: 0
53 | generateSecondaryUV: 0
54 | useFileUnits: 1
55 | optimizeMeshForGPU: 1
56 | keepQuads: 0
57 | weldVertices: 1
58 | preserveHierarchy: 0
59 | indexFormat: 0
60 | secondaryUVAngleDistortion: 8
61 | secondaryUVAreaDistortion: 15.000001
62 | secondaryUVHardAngle: 88
63 | secondaryUVPackMargin: 4
64 | useFileScale: 1
65 | tangentSpace:
66 | normalSmoothAngle: 60
67 | normalImportMode: 0
68 | tangentImportMode: 3
69 | normalCalculationMode: 4
70 | importAnimation: 1
71 | copyAvatar: 0
72 | humanDescription:
73 | serializedVersion: 2
74 | human: []
75 | skeleton: []
76 | armTwist: 0.5
77 | foreArmTwist: 0.5
78 | upperLegTwist: 0.5
79 | legTwist: 0.5
80 | armStretch: 0.05
81 | legStretch: 0.05
82 | feetSpacing: 0
83 | rootMotionBoneName:
84 | rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
85 | hasTranslationDoF: 0
86 | hasExtraRoot: 0
87 | skeletonHasParents: 1
88 | lastHumanDescriptionAvatarSource: {instanceID: 0}
89 | animationType: 0
90 | humanoidOversampling: 1
91 | additionalBone: 0
92 | userData:
93 | assetBundleName:
94 | assetBundleVariant:
95 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Meshes/PUSHILIN_stone.obj:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:fe12902208c7aebc23a1318935625aa6e40eb3ceafeb6660b296f3e14c2ddef7
3 | size 23408
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Meshes/PUSHILIN_stone.obj.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 9c2582b2ba03e476c9498247d38605bc
3 | ModelImporter:
4 | serializedVersion: 22
5 | fileIDToRecycleName:
6 | 100000: default
7 | 100002: //RootNode
8 | 400000: default
9 | 400002: //RootNode
10 | 2100000: defaultMat
11 | 2300000: default
12 | 3300000: default
13 | 4300000: default
14 | 6400000: default
15 | externalObjects: {}
16 | materials:
17 | importMaterials: 1
18 | materialName: 0
19 | materialSearch: 1
20 | materialLocation: 1
21 | animations:
22 | legacyGenerateAnimations: 4
23 | bakeSimulation: 0
24 | resampleCurves: 1
25 | optimizeGameObjects: 0
26 | motionNodeName:
27 | rigImportErrors:
28 | rigImportWarnings:
29 | animationImportErrors:
30 | animationImportWarnings:
31 | animationRetargetingWarnings:
32 | animationDoRetargetingWarnings: 0
33 | importAnimatedCustomProperties: 0
34 | importConstraints: 0
35 | animationCompression: 1
36 | animationRotationError: 0.5
37 | animationPositionError: 0.5
38 | animationScaleError: 0.5
39 | animationWrapMode: 0
40 | extraExposedTransformPaths: []
41 | extraUserProperties: []
42 | clipAnimations: []
43 | isReadable: 1
44 | meshes:
45 | lODScreenPercentages: []
46 | globalScale: 1
47 | meshCompression: 0
48 | addColliders: 1
49 | importVisibility: 1
50 | importBlendShapes: 1
51 | importCameras: 1
52 | importLights: 1
53 | swapUVChannels: 0
54 | generateSecondaryUV: 1
55 | useFileUnits: 1
56 | optimizeMeshForGPU: 1
57 | keepQuads: 0
58 | weldVertices: 1
59 | preserveHierarchy: 0
60 | indexFormat: 0
61 | secondaryUVAngleDistortion: 8
62 | secondaryUVAreaDistortion: 15.000001
63 | secondaryUVHardAngle: 88
64 | secondaryUVPackMargin: 4
65 | useFileScale: 1
66 | tangentSpace:
67 | normalSmoothAngle: 60
68 | normalImportMode: 0
69 | tangentImportMode: 3
70 | normalCalculationMode: 4
71 | importAnimation: 1
72 | copyAvatar: 0
73 | humanDescription:
74 | serializedVersion: 2
75 | human: []
76 | skeleton: []
77 | armTwist: 0.5
78 | foreArmTwist: 0.5
79 | upperLegTwist: 0.5
80 | legTwist: 0.5
81 | armStretch: 0.05
82 | legStretch: 0.05
83 | feetSpacing: 0
84 | rootMotionBoneName:
85 | rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
86 | hasTranslationDoF: 0
87 | hasExtraRoot: 0
88 | skeletonHasParents: 1
89 | lastHumanDescriptionAvatarSource: {instanceID: 0}
90 | animationType: 0
91 | humanoidOversampling: 1
92 | additionalBone: 0
93 | userData:
94 | assetBundleName:
95 | assetBundleVariant:
96 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Meshes/Vines.obj:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:6e11ddd449542d8de91b4aaf799499a6fe7939530e1a5483fff20c0fe0a88177
3 | size 180954
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Meshes/Vines.obj.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 7601b37e769134fadb1919b7a7bee739
3 | ModelImporter:
4 | serializedVersion: 22
5 | fileIDToRecycleName:
6 | 100000: //RootNode
7 | 100002: Vines_mesh
8 | 400000: //RootNode
9 | 400002: Vines_mesh
10 | 2100000: Vines_meshMat
11 | 2300000: Vines_mesh
12 | 3300000: Vines_mesh
13 | 4300000: Vines_mesh
14 | 6400000: Vines_mesh
15 | externalObjects: {}
16 | materials:
17 | importMaterials: 1
18 | materialName: 0
19 | materialSearch: 1
20 | materialLocation: 1
21 | animations:
22 | legacyGenerateAnimations: 4
23 | bakeSimulation: 0
24 | resampleCurves: 1
25 | optimizeGameObjects: 0
26 | motionNodeName:
27 | rigImportErrors:
28 | rigImportWarnings:
29 | animationImportErrors:
30 | animationImportWarnings:
31 | animationRetargetingWarnings:
32 | animationDoRetargetingWarnings: 0
33 | importAnimatedCustomProperties: 0
34 | importConstraints: 0
35 | animationCompression: 1
36 | animationRotationError: 0.5
37 | animationPositionError: 0.5
38 | animationScaleError: 0.5
39 | animationWrapMode: 0
40 | extraExposedTransformPaths: []
41 | extraUserProperties: []
42 | clipAnimations: []
43 | isReadable: 1
44 | meshes:
45 | lODScreenPercentages: []
46 | globalScale: 0.15
47 | meshCompression: 0
48 | addColliders: 1
49 | importVisibility: 1
50 | importBlendShapes: 1
51 | importCameras: 1
52 | importLights: 1
53 | swapUVChannels: 0
54 | generateSecondaryUV: 0
55 | useFileUnits: 1
56 | optimizeMeshForGPU: 1
57 | keepQuads: 0
58 | weldVertices: 1
59 | preserveHierarchy: 0
60 | indexFormat: 0
61 | secondaryUVAngleDistortion: 8
62 | secondaryUVAreaDistortion: 15.000001
63 | secondaryUVHardAngle: 88
64 | secondaryUVPackMargin: 4
65 | useFileScale: 0
66 | tangentSpace:
67 | normalSmoothAngle: 60
68 | normalImportMode: 0
69 | tangentImportMode: 3
70 | normalCalculationMode: 4
71 | importAnimation: 1
72 | copyAvatar: 0
73 | humanDescription:
74 | serializedVersion: 2
75 | human: []
76 | skeleton: []
77 | armTwist: 0.5
78 | foreArmTwist: 0.5
79 | upperLegTwist: 0.5
80 | legTwist: 0.5
81 | armStretch: 0.05
82 | legStretch: 0.05
83 | feetSpacing: 0
84 | rootMotionBoneName:
85 | rootMotionBoneRotation: {x: 0, y: 0, z: 0, w: 1}
86 | hasTranslationDoF: 0
87 | hasExtraRoot: 0
88 | skeletonHasParents: 1
89 | lastHumanDescriptionAvatarSource: {instanceID: 0}
90 | animationType: 0
91 | humanoidOversampling: 1
92 | additionalBone: 0
93 | userData:
94 | assetBundleName:
95 | assetBundleVariant:
96 |
--------------------------------------------------------------------------------
/Assets/FishDemo/PostProcessing.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e776551cd842c4eedabed863bea5ce39
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/PostProcessing/FishPostProcessing.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &11400000
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 0
6 | m_PrefabParentObject: {fileID: 0}
7 | m_PrefabInternal: {fileID: 0}
8 | m_GameObject: {fileID: 0}
9 | m_Enabled: 1
10 | m_EditorHideFlags: 0
11 | m_Script: {fileID: 11500000, guid: 8e6292b2c06870d4495f009f912b9600, type: 3}
12 | m_Name: FishPostProcessing
13 | m_EditorClassIdentifier:
14 | settings:
15 | - {fileID: 114067707058693686}
16 | --- !u!114 &114067707058693686
17 | MonoBehaviour:
18 | m_ObjectHideFlags: 3
19 | m_PrefabParentObject: {fileID: 0}
20 | m_PrefabInternal: {fileID: 0}
21 | m_GameObject: {fileID: 0}
22 | m_Enabled: 1
23 | m_EditorHideFlags: 0
24 | m_Script: {fileID: 11500000, guid: c1cb7e9e120078f43bce4f0b1be547a7, type: 3}
25 | m_Name: AmbientOcclusion
26 | m_EditorClassIdentifier:
27 | active: 1
28 | enabled:
29 | overrideState: 1
30 | value: 1
31 | mode:
32 | overrideState: 1
33 | value: 1
34 | intensity:
35 | overrideState: 1
36 | value: 0.43
37 | color:
38 | overrideState: 0
39 | value: {r: 0, g: 0, b: 0, a: 1}
40 | ambientOnly:
41 | overrideState: 0
42 | value: 1
43 | noiseFilterTolerance:
44 | overrideState: 0
45 | value: 0
46 | blurTolerance:
47 | overrideState: 0
48 | value: -4.6
49 | upsampleTolerance:
50 | overrideState: 0
51 | value: -12
52 | thicknessModifier:
53 | overrideState: 0
54 | value: 1
55 | directLightingStrength:
56 | overrideState: 0
57 | value: 0
58 | radius:
59 | overrideState: 0
60 | value: 0.25
61 | quality:
62 | overrideState: 0
63 | value: 2
64 |
--------------------------------------------------------------------------------
/Assets/FishDemo/PostProcessing/FishPostProcessing.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 01f7f1c090486480ba8885932e26bf97
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 11400000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Prefabs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2e8beb2e2b7ac4062a52c90feb8ba1be
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Prefabs/Goldfish.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_ParentPrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1521230651519688}
13 | m_IsPrefabParent: 1
14 | --- !u!1 &1371676585425910
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_PrefabParentObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 5
20 | m_Component:
21 | - component: {fileID: 4276309475007138}
22 | m_Layer: 0
23 | m_Name: Body
24 | m_TagString: Untagged
25 | m_Icon: {fileID: 0}
26 | m_NavMeshLayer: 0
27 | m_StaticEditorFlags: 0
28 | m_IsActive: 1
29 | --- !u!1 &1521230651519688
30 | GameObject:
31 | m_ObjectHideFlags: 0
32 | m_PrefabParentObject: {fileID: 0}
33 | m_PrefabInternal: {fileID: 100100000}
34 | serializedVersion: 5
35 | m_Component:
36 | - component: {fileID: 4530324601741082}
37 | - component: {fileID: 114041299681315768}
38 | - component: {fileID: 65650010279094822}
39 | m_Layer: 0
40 | m_Name: Goldfish
41 | m_TagString: Untagged
42 | m_Icon: {fileID: 0}
43 | m_NavMeshLayer: 0
44 | m_StaticEditorFlags: 0
45 | m_IsActive: 1
46 | --- !u!1 &1977064184338606
47 | GameObject:
48 | m_ObjectHideFlags: 1
49 | m_PrefabParentObject: {fileID: 0}
50 | m_PrefabInternal: {fileID: 100100000}
51 | serializedVersion: 5
52 | m_Component:
53 | - component: {fileID: 4584503931806580}
54 | - component: {fileID: 33493752057874584}
55 | - component: {fileID: 23275318342073810}
56 | m_Layer: 0
57 | m_Name: BodyMesh
58 | m_TagString: Untagged
59 | m_Icon: {fileID: 0}
60 | m_NavMeshLayer: 0
61 | m_StaticEditorFlags: 0
62 | m_IsActive: 1
63 | --- !u!4 &4276309475007138
64 | Transform:
65 | m_ObjectHideFlags: 1
66 | m_PrefabParentObject: {fileID: 0}
67 | m_PrefabInternal: {fileID: 100100000}
68 | m_GameObject: {fileID: 1371676585425910}
69 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
70 | m_LocalPosition: {x: 0, y: 0, z: 0}
71 | m_LocalScale: {x: 1, y: 1, z: 1}
72 | m_Children:
73 | - {fileID: 4584503931806580}
74 | m_Father: {fileID: 4530324601741082}
75 | m_RootOrder: 0
76 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
77 | --- !u!4 &4530324601741082
78 | Transform:
79 | m_ObjectHideFlags: 1
80 | m_PrefabParentObject: {fileID: 0}
81 | m_PrefabInternal: {fileID: 100100000}
82 | m_GameObject: {fileID: 1521230651519688}
83 | m_LocalRotation: {x: -0.0057142875, y: -0.77015907, z: -0.020457378, w: 0.63749814}
84 | m_LocalPosition: {x: 1.03, y: 1.087, z: -1.114}
85 | m_LocalScale: {x: 1, y: 1, z: 1}
86 | m_Children:
87 | - {fileID: 4276309475007138}
88 | m_Father: {fileID: 0}
89 | m_RootOrder: 0
90 | m_LocalEulerAnglesHint: {x: -2.223, y: -100.748, z: -0.99100006}
91 | --- !u!4 &4584503931806580
92 | Transform:
93 | m_ObjectHideFlags: 1
94 | m_PrefabParentObject: {fileID: 0}
95 | m_PrefabInternal: {fileID: 100100000}
96 | m_GameObject: {fileID: 1977064184338606}
97 | m_LocalRotation: {x: 0.0000000018626451, y: 0.7071068, z: 0.0000000037252903, w: 0.7071068}
98 | m_LocalPosition: {x: -0.0060000047, y: -0.09200005, z: -0.08299999}
99 | m_LocalScale: {x: 1, y: 1, z: 1}
100 | m_Children: []
101 | m_Father: {fileID: 4276309475007138}
102 | m_RootOrder: 0
103 | m_LocalEulerAnglesHint: {x: 0, y: 90, z: 0}
104 | --- !u!23 &23275318342073810
105 | MeshRenderer:
106 | m_ObjectHideFlags: 1
107 | m_PrefabParentObject: {fileID: 0}
108 | m_PrefabInternal: {fileID: 100100000}
109 | m_GameObject: {fileID: 1977064184338606}
110 | m_Enabled: 1
111 | m_CastShadows: 1
112 | m_ReceiveShadows: 1
113 | m_DynamicOccludee: 1
114 | m_MotionVectors: 1
115 | m_LightProbeUsage: 1
116 | m_ReflectionProbeUsage: 1
117 | m_RenderingLayerMask: 4294967295
118 | m_Materials:
119 | - {fileID: 2100000, guid: 338882a146397462d9d844d38e7724da, type: 2}
120 | m_StaticBatchInfo:
121 | firstSubMesh: 0
122 | subMeshCount: 0
123 | m_StaticBatchRoot: {fileID: 0}
124 | m_ProbeAnchor: {fileID: 0}
125 | m_LightProbeVolumeOverride: {fileID: 0}
126 | m_ScaleInLightmap: 1
127 | m_PreserveUVs: 0
128 | m_IgnoreNormalsForChartDetection: 0
129 | m_ImportantGI: 0
130 | m_StitchLightmapSeams: 0
131 | m_SelectedEditorRenderState: 3
132 | m_MinimumChartSize: 4
133 | m_AutoUVMaxDistance: 0.5
134 | m_AutoUVMaxAngle: 89
135 | m_LightmapParameters: {fileID: 0}
136 | m_SortingLayerID: 0
137 | m_SortingLayer: 0
138 | m_SortingOrder: 0
139 | --- !u!33 &33493752057874584
140 | MeshFilter:
141 | m_ObjectHideFlags: 1
142 | m_PrefabParentObject: {fileID: 0}
143 | m_PrefabInternal: {fileID: 100100000}
144 | m_GameObject: {fileID: 1977064184338606}
145 | m_Mesh: {fileID: 4300000, guid: fee0172f88f6649c18ef2f338212fcdb, type: 3}
146 | --- !u!65 &65650010279094822
147 | BoxCollider:
148 | m_ObjectHideFlags: 1
149 | m_PrefabParentObject: {fileID: 0}
150 | m_PrefabInternal: {fileID: 100100000}
151 | m_GameObject: {fileID: 1521230651519688}
152 | m_Material: {fileID: 0}
153 | m_IsTrigger: 0
154 | m_Enabled: 1
155 | serializedVersion: 2
156 | m_Size: {x: 0.1, y: 0.2, z: 0.3}
157 | m_Center: {x: 0, y: 0, z: -0.08}
158 | --- !u!114 &114041299681315768
159 | MonoBehaviour:
160 | m_ObjectHideFlags: 1
161 | m_PrefabParentObject: {fileID: 0}
162 | m_PrefabInternal: {fileID: 100100000}
163 | m_GameObject: {fileID: 1521230651519688}
164 | m_Enabled: 1
165 | m_EditorHideFlags: 0
166 | m_Script: {fileID: 11500000, guid: fb060075b18c5488fabc5f6e6613f514, type: 3}
167 | m_Name:
168 | m_EditorClassIdentifier:
169 | tankCenterGoal: {fileID: 0}
170 | swimSpeedMax: 1
171 | swimSpeed: 0.1
172 | yawVariance: 45
173 | obstacleSensitivity: 2
174 | maxTurnRateY: 5
175 | wanderProbability: 0.5
176 | minWanderDuration: 1
177 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Prefabs/Goldfish.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d8f501f4fa83744f5b46ff5e4ea3c12f
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 100100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Prefabs/Kelp.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_ParentPrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1162038426815556}
13 | m_IsPrefabParent: 1
14 | --- !u!1 &1040921977647890
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_PrefabParentObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 5
20 | m_Component:
21 | - component: {fileID: 4461569231205956}
22 | - component: {fileID: 65609568318427530}
23 | m_Layer: 0
24 | m_Name: Bounds
25 | m_TagString: Untagged
26 | m_Icon: {fileID: 0}
27 | m_NavMeshLayer: 0
28 | m_StaticEditorFlags: 0
29 | m_IsActive: 1
30 | --- !u!1 &1162038426815556
31 | GameObject:
32 | m_ObjectHideFlags: 0
33 | m_PrefabParentObject: {fileID: 0}
34 | m_PrefabInternal: {fileID: 100100000}
35 | serializedVersion: 5
36 | m_Component:
37 | - component: {fileID: 4580658434473862}
38 | m_Layer: 0
39 | m_Name: Kelp
40 | m_TagString: Untagged
41 | m_Icon: {fileID: 0}
42 | m_NavMeshLayer: 0
43 | m_StaticEditorFlags: 0
44 | m_IsActive: 1
45 | --- !u!1 &1694652712615288
46 | GameObject:
47 | m_ObjectHideFlags: 0
48 | m_PrefabParentObject: {fileID: 0}
49 | m_PrefabInternal: {fileID: 100100000}
50 | serializedVersion: 5
51 | m_Component:
52 | - component: {fileID: 4978242402745564}
53 | - component: {fileID: 33812050863870868}
54 | - component: {fileID: 23885200399521724}
55 | m_Layer: 0
56 | m_Name: Kelp_mesh
57 | m_TagString: Untagged
58 | m_Icon: {fileID: 0}
59 | m_NavMeshLayer: 0
60 | m_StaticEditorFlags: 0
61 | m_IsActive: 1
62 | --- !u!4 &4461569231205956
63 | Transform:
64 | m_ObjectHideFlags: 1
65 | m_PrefabParentObject: {fileID: 0}
66 | m_PrefabInternal: {fileID: 100100000}
67 | m_GameObject: {fileID: 1040921977647890}
68 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
69 | m_LocalPosition: {x: 0.001, y: 0.909, z: 0}
70 | m_LocalScale: {x: 0.49002993, y: 1.8327905, z: 0.13808513}
71 | m_Children: []
72 | m_Father: {fileID: 4580658434473862}
73 | m_RootOrder: 1
74 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
75 | --- !u!4 &4580658434473862
76 | Transform:
77 | m_ObjectHideFlags: 1
78 | m_PrefabParentObject: {fileID: 0}
79 | m_PrefabInternal: {fileID: 100100000}
80 | m_GameObject: {fileID: 1162038426815556}
81 | m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
82 | m_LocalPosition: {x: 2.23, y: 0, z: -0.5391512}
83 | m_LocalScale: {x: 1, y: 1, z: 1}
84 | m_Children:
85 | - {fileID: 4978242402745564}
86 | - {fileID: 4461569231205956}
87 | m_Father: {fileID: 0}
88 | m_RootOrder: 0
89 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
90 | --- !u!4 &4978242402745564
91 | Transform:
92 | m_ObjectHideFlags: 1
93 | m_PrefabParentObject: {fileID: 0}
94 | m_PrefabInternal: {fileID: 100100000}
95 | m_GameObject: {fileID: 1694652712615288}
96 | m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
97 | m_LocalPosition: {x: -0, y: 0, z: 0}
98 | m_LocalScale: {x: 1, y: 1, z: 1}
99 | m_Children: []
100 | m_Father: {fileID: 4580658434473862}
101 | m_RootOrder: 0
102 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
103 | --- !u!23 &23885200399521724
104 | MeshRenderer:
105 | m_ObjectHideFlags: 1
106 | m_PrefabParentObject: {fileID: 0}
107 | m_PrefabInternal: {fileID: 100100000}
108 | m_GameObject: {fileID: 1694652712615288}
109 | m_Enabled: 1
110 | m_CastShadows: 1
111 | m_ReceiveShadows: 1
112 | m_DynamicOccludee: 1
113 | m_MotionVectors: 1
114 | m_LightProbeUsage: 1
115 | m_ReflectionProbeUsage: 1
116 | m_RenderingLayerMask: 4294967295
117 | m_Materials:
118 | - {fileID: 2100000, guid: 63ca997d347a54455ae36f05c50f24bc, type: 2}
119 | m_StaticBatchInfo:
120 | firstSubMesh: 0
121 | subMeshCount: 0
122 | m_StaticBatchRoot: {fileID: 0}
123 | m_ProbeAnchor: {fileID: 0}
124 | m_LightProbeVolumeOverride: {fileID: 0}
125 | m_ScaleInLightmap: 1
126 | m_PreserveUVs: 0
127 | m_IgnoreNormalsForChartDetection: 0
128 | m_ImportantGI: 0
129 | m_StitchLightmapSeams: 0
130 | m_SelectedEditorRenderState: 3
131 | m_MinimumChartSize: 4
132 | m_AutoUVMaxDistance: 0.5
133 | m_AutoUVMaxAngle: 89
134 | m_LightmapParameters: {fileID: 0}
135 | m_SortingLayerID: 0
136 | m_SortingLayer: 0
137 | m_SortingOrder: 0
138 | --- !u!33 &33812050863870868
139 | MeshFilter:
140 | m_ObjectHideFlags: 1
141 | m_PrefabParentObject: {fileID: 0}
142 | m_PrefabInternal: {fileID: 100100000}
143 | m_GameObject: {fileID: 1694652712615288}
144 | m_Mesh: {fileID: 4300000, guid: add977a507d7649e2948b7e7b869c4f1, type: 3}
145 | --- !u!65 &65609568318427530
146 | BoxCollider:
147 | m_ObjectHideFlags: 1
148 | m_PrefabParentObject: {fileID: 0}
149 | m_PrefabInternal: {fileID: 100100000}
150 | m_GameObject: {fileID: 1040921977647890}
151 | m_Material: {fileID: 0}
152 | m_IsTrigger: 0
153 | m_Enabled: 1
154 | serializedVersion: 2
155 | m_Size: {x: 1, y: 1, z: 1}
156 | m_Center: {x: 0, y: 0, z: 0}
157 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Prefabs/Kelp.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ca2ffceb18bc4ea092f91d68ca0fa7c
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 100100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Prefabs/Vines.prefab:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1001 &100100000
4 | Prefab:
5 | m_ObjectHideFlags: 1
6 | serializedVersion: 2
7 | m_Modification:
8 | m_TransformParent: {fileID: 0}
9 | m_Modifications: []
10 | m_RemovedComponents: []
11 | m_ParentPrefab: {fileID: 0}
12 | m_RootGameObject: {fileID: 1734749612573188}
13 | m_IsPrefabParent: 1
14 | --- !u!1 &1456779934582930
15 | GameObject:
16 | m_ObjectHideFlags: 0
17 | m_PrefabParentObject: {fileID: 0}
18 | m_PrefabInternal: {fileID: 100100000}
19 | serializedVersion: 5
20 | m_Component:
21 | - component: {fileID: 4255238016296698}
22 | - component: {fileID: 33206015030752860}
23 | - component: {fileID: 23052641850356460}
24 | m_Layer: 0
25 | m_Name: Vines_mesh
26 | m_TagString: Untagged
27 | m_Icon: {fileID: 0}
28 | m_NavMeshLayer: 0
29 | m_StaticEditorFlags: 0
30 | m_IsActive: 1
31 | --- !u!1 &1734749612573188
32 | GameObject:
33 | m_ObjectHideFlags: 0
34 | m_PrefabParentObject: {fileID: 0}
35 | m_PrefabInternal: {fileID: 100100000}
36 | serializedVersion: 5
37 | m_Component:
38 | - component: {fileID: 4990154249832048}
39 | m_Layer: 0
40 | m_Name: Vines
41 | m_TagString: Untagged
42 | m_Icon: {fileID: 0}
43 | m_NavMeshLayer: 0
44 | m_StaticEditorFlags: 0
45 | m_IsActive: 1
46 | --- !u!1 &1845500737502066
47 | GameObject:
48 | m_ObjectHideFlags: 0
49 | m_PrefabParentObject: {fileID: 0}
50 | m_PrefabInternal: {fileID: 100100000}
51 | serializedVersion: 5
52 | m_Component:
53 | - component: {fileID: 4688823893803660}
54 | - component: {fileID: 65400609576539524}
55 | m_Layer: 0
56 | m_Name: Bounds1
57 | m_TagString: Untagged
58 | m_Icon: {fileID: 0}
59 | m_NavMeshLayer: 0
60 | m_StaticEditorFlags: 0
61 | m_IsActive: 1
62 | --- !u!1 &1928166792921862
63 | GameObject:
64 | m_ObjectHideFlags: 0
65 | m_PrefabParentObject: {fileID: 0}
66 | m_PrefabInternal: {fileID: 100100000}
67 | serializedVersion: 5
68 | m_Component:
69 | - component: {fileID: 4487629927053398}
70 | - component: {fileID: 65080318702000962}
71 | m_Layer: 0
72 | m_Name: Bounds2
73 | m_TagString: Untagged
74 | m_Icon: {fileID: 0}
75 | m_NavMeshLayer: 0
76 | m_StaticEditorFlags: 0
77 | m_IsActive: 1
78 | --- !u!4 &4255238016296698
79 | Transform:
80 | m_ObjectHideFlags: 1
81 | m_PrefabParentObject: {fileID: 0}
82 | m_PrefabInternal: {fileID: 100100000}
83 | m_GameObject: {fileID: 1456779934582930}
84 | m_LocalRotation: {x: 0, y: -0, z: -0, w: 1}
85 | m_LocalPosition: {x: -0, y: 0, z: 0}
86 | m_LocalScale: {x: 1, y: 1, z: 1}
87 | m_Children: []
88 | m_Father: {fileID: 4990154249832048}
89 | m_RootOrder: 0
90 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
91 | --- !u!4 &4487629927053398
92 | Transform:
93 | m_ObjectHideFlags: 1
94 | m_PrefabParentObject: {fileID: 0}
95 | m_PrefabInternal: {fileID: 100100000}
96 | m_GameObject: {fileID: 1928166792921862}
97 | m_LocalRotation: {x: -0, y: -0, z: -0, w: 1}
98 | m_LocalPosition: {x: -0.57, y: 0.222, z: 0.151}
99 | m_LocalScale: {x: 0.9489406, y: 0.50984704, z: 0.40029496}
100 | m_Children: []
101 | m_Father: {fileID: 4990154249832048}
102 | m_RootOrder: 2
103 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
104 | --- !u!4 &4688823893803660
105 | Transform:
106 | m_ObjectHideFlags: 1
107 | m_PrefabParentObject: {fileID: 0}
108 | m_PrefabInternal: {fileID: 100100000}
109 | m_GameObject: {fileID: 1845500737502066}
110 | m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
111 | m_LocalPosition: {x: 0.309, y: 0.448, z: -0.061}
112 | m_LocalScale: {x: 0.9489414, y: 0.9095691, z: 0.5617558}
113 | m_Children: []
114 | m_Father: {fileID: 4990154249832048}
115 | m_RootOrder: 1
116 | m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
117 | --- !u!4 &4990154249832048
118 | Transform:
119 | m_ObjectHideFlags: 1
120 | m_PrefabParentObject: {fileID: 0}
121 | m_PrefabInternal: {fileID: 100100000}
122 | m_GameObject: {fileID: 1734749612573188}
123 | m_LocalRotation: {x: -0, y: 0.99528164, z: -0, w: 0.09702839}
124 | m_LocalPosition: {x: 1.052, y: 0, z: 1.342}
125 | m_LocalScale: {x: 1, y: 1, z: 1}
126 | m_Children:
127 | - {fileID: 4255238016296698}
128 | - {fileID: 4688823893803660}
129 | - {fileID: 4487629927053398}
130 | m_Father: {fileID: 0}
131 | m_RootOrder: 0
132 | m_LocalEulerAnglesHint: {x: 0, y: 168.86401, z: 0}
133 | --- !u!23 &23052641850356460
134 | MeshRenderer:
135 | m_ObjectHideFlags: 1
136 | m_PrefabParentObject: {fileID: 0}
137 | m_PrefabInternal: {fileID: 100100000}
138 | m_GameObject: {fileID: 1456779934582930}
139 | m_Enabled: 1
140 | m_CastShadows: 1
141 | m_ReceiveShadows: 1
142 | m_DynamicOccludee: 1
143 | m_MotionVectors: 1
144 | m_LightProbeUsage: 1
145 | m_ReflectionProbeUsage: 1
146 | m_RenderingLayerMask: 4294967295
147 | m_Materials:
148 | - {fileID: 2100000, guid: 01467e9de2eb046639ea6c657ed85885, type: 2}
149 | m_StaticBatchInfo:
150 | firstSubMesh: 0
151 | subMeshCount: 0
152 | m_StaticBatchRoot: {fileID: 0}
153 | m_ProbeAnchor: {fileID: 0}
154 | m_LightProbeVolumeOverride: {fileID: 0}
155 | m_ScaleInLightmap: 1
156 | m_PreserveUVs: 0
157 | m_IgnoreNormalsForChartDetection: 0
158 | m_ImportantGI: 0
159 | m_StitchLightmapSeams: 0
160 | m_SelectedEditorRenderState: 3
161 | m_MinimumChartSize: 4
162 | m_AutoUVMaxDistance: 0.5
163 | m_AutoUVMaxAngle: 89
164 | m_LightmapParameters: {fileID: 0}
165 | m_SortingLayerID: 0
166 | m_SortingLayer: 0
167 | m_SortingOrder: 0
168 | --- !u!33 &33206015030752860
169 | MeshFilter:
170 | m_ObjectHideFlags: 1
171 | m_PrefabParentObject: {fileID: 0}
172 | m_PrefabInternal: {fileID: 100100000}
173 | m_GameObject: {fileID: 1456779934582930}
174 | m_Mesh: {fileID: 4300000, guid: 7601b37e769134fadb1919b7a7bee739, type: 3}
175 | --- !u!65 &65080318702000962
176 | BoxCollider:
177 | m_ObjectHideFlags: 1
178 | m_PrefabParentObject: {fileID: 0}
179 | m_PrefabInternal: {fileID: 100100000}
180 | m_GameObject: {fileID: 1928166792921862}
181 | m_Material: {fileID: 0}
182 | m_IsTrigger: 0
183 | m_Enabled: 1
184 | serializedVersion: 2
185 | m_Size: {x: 1, y: 1, z: 1}
186 | m_Center: {x: 0, y: 0, z: 0}
187 | --- !u!65 &65400609576539524
188 | BoxCollider:
189 | m_ObjectHideFlags: 1
190 | m_PrefabParentObject: {fileID: 0}
191 | m_PrefabInternal: {fileID: 100100000}
192 | m_GameObject: {fileID: 1845500737502066}
193 | m_Material: {fileID: 0}
194 | m_IsTrigger: 0
195 | m_Enabled: 1
196 | serializedVersion: 2
197 | m_Size: {x: 1, y: 1, z: 1}
198 | m_Center: {x: 0, y: 0, z: 0}
199 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Prefabs/Vines.prefab.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: cdce5ea3d1afa47d29eb2e3bd376b83b
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 100100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4f704ae4b4f98ae41a0bce26658850c1
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes/SampleScene.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 96900c8115d624610bde4fa90353f32c
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes/SampleScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 99c9720ab356a0642a771bea13969a05
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes/SampleScene/LightingData.asset:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Krxtopher/unity-fish-ai/fafe93df6f3a8243f59436d474376cd8326c7ed8/Assets/FishDemo/Scenes/SampleScene/LightingData.asset
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes/SampleScene/LightingData.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c804214842a5943e39f3a56d2b162e52
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 25800000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes/SampleScene/Lightmap-0_comp_dir.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:dc5ac37c7f1deff5e3eb8665aa1eca1f7a655b8e351b44bb4527ec6ee0b281fb
3 | size 3522
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes/SampleScene/Lightmap-0_comp_dir.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f60176d5743f14071a08dbdba298b00a
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 0
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: 1
33 | aniso: 3
34 | mipBias: 0
35 | wrapU: 1
36 | wrapV: 1
37 | wrapW: 1
38 | nPOTScale: 1
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 0
51 | spriteTessellationDetail: -1
52 | textureType: 0
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 2048
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 2
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes/SampleScene/Lightmap-0_comp_light.exr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Krxtopher/unity-fish-ai/fafe93df6f3a8243f59436d474376cd8326c7ed8/Assets/FishDemo/Scenes/SampleScene/Lightmap-0_comp_light.exr
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes/SampleScene/Lightmap-0_comp_light.exr.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 927fd7914a5464ffb89a280ef206a879
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: 1
33 | aniso: 3
34 | mipBias: 0
35 | wrapU: 1
36 | wrapV: 1
37 | wrapW: 1
38 | nPOTScale: 1
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 0
50 | alphaIsTransparency: 0
51 | spriteTessellationDetail: -1
52 | textureType: 6
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 2048
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 2
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes/SampleScene/Lightmap-0_comp_shadowmask.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:174cb44cd24dc64ae3e9aabba6e475d4180fc5146d4322740edad1dd10742853
3 | size 1445
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes/SampleScene/Lightmap-0_comp_shadowmask.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 511e7c6500d2b48c396cd9ee9a5a2936
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 0
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: 1
33 | aniso: 3
34 | mipBias: 0
35 | wrapU: 1
36 | wrapV: 1
37 | wrapW: 1
38 | nPOTScale: 1
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 0
51 | spriteTessellationDetail: -1
52 | textureType: 0
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 2048
62 | resizeAlgorithm: 0
63 | textureFormat: 2
64 | textureCompression: 0
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes/SampleScene/ReflectionProbe-0.exr:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Krxtopher/unity-fish-ai/fafe93df6f3a8243f59436d474376cd8326c7ed8/Assets/FishDemo/Scenes/SampleScene/ReflectionProbe-0.exr
--------------------------------------------------------------------------------
/Assets/FishDemo/Scenes/SampleScene/ReflectionProbe-0.exr.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 547fbec90f9494fdeb5897db9df14881
3 | TextureImporter:
4 | fileIDToRecycleName:
5 | 8900000: generatedCubemap
6 | externalObjects: {}
7 | serializedVersion: 5
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 1
11 | sRGBTexture: 1
12 | linearTexture: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapsPreserveCoverage: 0
16 | alphaTestReferenceValue: 0.5
17 | mipMapFadeDistanceStart: 1
18 | mipMapFadeDistanceEnd: 3
19 | bumpmap:
20 | convertToNormalMap: 0
21 | externalNormalMap: 0
22 | heightScale: 0.25
23 | normalMapFilter: 0
24 | isReadable: 0
25 | grayScaleToAlpha: 0
26 | generateCubemap: 6
27 | cubemapConvolution: 1
28 | seamlessCubemap: 1
29 | textureFormat: 1
30 | maxTextureSize: 2048
31 | textureSettings:
32 | serializedVersion: 2
33 | filterMode: 2
34 | aniso: 0
35 | mipBias: 0
36 | wrapU: 1
37 | wrapV: 1
38 | wrapW: 1
39 | nPOTScale: 1
40 | lightmap: 0
41 | compressionQuality: 50
42 | spriteMode: 0
43 | spriteExtrude: 1
44 | spriteMeshType: 1
45 | alignment: 0
46 | spritePivot: {x: 0.5, y: 0.5}
47 | spritePixelsToUnits: 100
48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
49 | spriteGenerateFallbackPhysicsShape: 1
50 | alphaUsage: 1
51 | alphaIsTransparency: 0
52 | spriteTessellationDetail: -1
53 | textureType: 0
54 | textureShape: 2
55 | singleChannelComponent: 0
56 | maxTextureSizeSet: 0
57 | compressionQualitySet: 0
58 | textureFormatSet: 0
59 | platformSettings:
60 | - serializedVersion: 2
61 | buildTarget: DefaultTexturePlatform
62 | maxTextureSize: 2048
63 | resizeAlgorithm: 0
64 | textureFormat: -1
65 | textureCompression: 1
66 | compressionQuality: 100
67 | crunchedCompression: 0
68 | allowsAlphaSplitting: 0
69 | overridden: 0
70 | androidETC2FallbackOverride: 0
71 | spriteSheet:
72 | serializedVersion: 2
73 | sprites: []
74 | outline: []
75 | physicsShape: []
76 | bones: []
77 | spriteID:
78 | vertices: []
79 | indices:
80 | edges: []
81 | weights: []
82 | spritePackingTag:
83 | userData:
84 | assetBundleName:
85 | assetBundleVariant:
86 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scripts.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: d447edf941e894624bc09a3a357f2400
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scripts/Fish.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 | using UnityEngine.Assertions;
5 |
6 | ///
7 | /// Provides fish behavior including swimming animation, obstacle avoidance, and
8 | /// wandering behavior.
9 | ///
10 | public class Fish : MonoBehaviour
11 | {
12 |
13 | ///
14 | /// A location inside the tank that will be used as a reference point when
15 | /// calculating turns to avoid obstacles.
16 | ///
17 | public Transform tankCenterGoal;
18 |
19 | ///
20 | /// Indicates how close an obstacle must be (in meters) before the fish
21 | /// begins to take evasive action.
22 | ///
23 | public float obstacleSensingDistance = 0.8f;
24 |
25 | ///
26 | /// The minimum speed this fish should move in meters/second.
27 | ///
28 | public float swimSpeedMin = 0.2f;
29 |
30 | ///
31 | /// The maximum speed this fish should move in meters/second.
32 | ///
33 | public float swimSpeedMax = 0.6f;
34 |
35 | ///
36 | /// Controls how quickly the fish can turn.
37 | ///
38 | public float maxTurnRateY = 5f;
39 |
40 | ///
41 | /// When the fish randomly changes direction while wondering, this value
42 | /// controls the maximum allowed change in direction.
43 | ///
44 | public float maxWanderAngle = 45f;
45 |
46 | ///
47 | /// Sets the duration of each wander period (in seconds). At the start of
48 | /// each wander period the fish is given an opportunity to change direction.
49 | /// The likelihood of changing direction at each period is controlled by
50 | /// wanderProbability.
51 | ///
52 | public float wanderPeriodDuration = 0.8f;
53 |
54 | ///
55 | /// Indicates how likely the fish is to turn while wondering. A value from
56 | /// 0 through 1.
57 | ///
58 | public float wanderProbability = 0.15f;
59 |
60 |
61 | // The current speed of the fish in meters/second.
62 | [HideInInspector]
63 | public float swimSpeed;
64 |
65 | // The fish's current direction of movement.
66 | private Vector3 swimDirection
67 | {
68 | get { return transform.TransformDirection(Vector3.forward); }
69 | }
70 |
71 | // Flag to track whether an obstacle has been detected.
72 | private bool obstacleDetected = false;
73 |
74 | // The timestamp indicating when the current wander period started.
75 | private float wanderPeriodStartTime;
76 |
77 | // The orientation goal that the fish is rotating toward over time.
78 | private Quaternion goalLookRotation;
79 |
80 | // Cached reference to the fish body's transform.
81 | private Transform bodyTransform;
82 |
83 | // A random value set dynamically so that each fish's behavior is slightly
84 | // different.
85 | private float randomOffset;
86 |
87 | // Location variables used to draw debug aids.
88 | private Vector3 hitPoint;
89 | private Vector3 goalPoint;
90 |
91 |
92 | /* ----- MonoBehaviour Methods ----- */
93 |
94 |
95 | void Start()
96 | {
97 | // Warn the developer loudly if they haven't set tankCenterGoal.
98 | if (tankCenterGoal == null)
99 | {
100 | Debug.LogError("[" + name + "] The tankCenterGoal parameter is required but is null.");
101 | UnityEditor.EditorApplication.isPlaying = false;
102 | }
103 |
104 | bodyTransform = transform.Find("Body");
105 | randomOffset = Random.value;
106 | }
107 |
108 |
109 | private void Update()
110 | {
111 | Wiggle();
112 | Wander();
113 | AvoidObstacles();
114 |
115 | DrawDebugAids();
116 | UpdatePosition();
117 | }
118 |
119 |
120 | private void OnDrawGizmos()
121 | {
122 | DrawDebugAids();
123 | }
124 |
125 |
126 | /* ----- Fish Methods ----- */
127 |
128 |
129 | ///
130 | /// Updates the fish's wiggle animation.
131 | ///
132 | void Wiggle()
133 | {
134 | // Calculate a wiggle speed (wiggle cycles per second) based on the
135 | // fish's forward speed.
136 | float speedPercent = swimSpeed / swimSpeedMax;
137 | float minWiggleSpeed = 12f;
138 | float maxWiggleSpeed = minWiggleSpeed + 1f;
139 | float wiggleSpeed = Mathf.Lerp(minWiggleSpeed, maxWiggleSpeed, speedPercent);
140 |
141 | // Use sine and game time to animate the wiggle rotation of the fish.
142 | float angle = Mathf.Sin(Time.time * wiggleSpeed) * 5f;
143 | var wiggleRotation = Quaternion.AngleAxis(angle, Vector3.up);
144 | bodyTransform.localRotation = wiggleRotation;
145 | }
146 |
147 |
148 | ///
149 | /// Defines the fish's wander behavior.
150 | ///
151 | void Wander()
152 | {
153 | // User Perlin noise to change the fish's speed over time in a random
154 | // but smooth fashion.
155 | float noiseScale = .5f;
156 | float speedPercent = Mathf.PerlinNoise(Time.time * noiseScale + randomOffset, randomOffset);
157 | speedPercent = Mathf.Pow(speedPercent, 2);
158 | swimSpeed = Mathf.Lerp(swimSpeedMin, swimSpeedMax, speedPercent);
159 |
160 | if (obstacleDetected) return;
161 |
162 | if (Time.time > wanderPeriodStartTime + wanderPeriodDuration)
163 | {
164 | // Start a new wander period.
165 | wanderPeriodStartTime = Time.time;
166 |
167 | if (Random.value < wanderProbability)
168 | {
169 | // Pick new wander direction.
170 | var randomAngle = Random.Range(-maxWanderAngle, maxWanderAngle);
171 | var relativeWanderRotation = Quaternion.AngleAxis(randomAngle, Vector3.up);
172 | goalLookRotation = transform.rotation * relativeWanderRotation;
173 | }
174 | }
175 |
176 | // Turn toward the fish's goal rotation.
177 | transform.rotation = Quaternion.Slerp(transform.rotation, goalLookRotation, Time.deltaTime / 2f);
178 | }
179 |
180 |
181 | ///
182 | /// Defines the fish's obstacle avoidance behavior.
183 | ///
184 | void AvoidObstacles()
185 | {
186 | // Look ahead to see if an obstacle is within range.
187 | RaycastHit hit;
188 | obstacleDetected = Physics.Raycast(transform.position, swimDirection, out hit, obstacleSensingDistance);
189 |
190 | if (obstacleDetected)
191 | {
192 | hitPoint = hit.point;
193 |
194 | // Calculate a point (which we're calling "reflectedPoint") indicating
195 | // where the fish would end up if it bounced off of the obstacle and
196 | // continued travelling. This will be one of our points of reference
197 | // for determining a new safe goal point.
198 | Vector3 reflectionVector = Vector3.Reflect(swimDirection, hit.normal);
199 | float goalPointMinDistanceFromHit = 1f;
200 | Vector3 reflectedPoint = hit.point + reflectionVector * Mathf.Max(hit.distance, goalPointMinDistanceFromHit);
201 |
202 | // Set the goal point to halfway between the reflected point above
203 | // and the tank center goal.
204 | goalPoint = (reflectedPoint + tankCenterGoal.position) / 2f;
205 |
206 | // Set the rotation we eventually want to achieve.
207 | Vector3 goalDirection = goalPoint - transform.position;
208 | goalLookRotation = Quaternion.LookRotation(goalDirection);
209 |
210 | // Determine a danger level using a exponential scale so that danger
211 | // ramps up more quickly as the fish gets nearer obstacle.
212 | float dangerLevel = Mathf.Pow(1 - (hit.distance / obstacleSensingDistance), 4f);
213 |
214 | // Clamp minimum danger level to 0.01.
215 | dangerLevel = Mathf.Max(0.01f, dangerLevel);
216 |
217 | // Use dangerLevel to influence how quickly the fish turns toward
218 | // its goal direction.
219 | float turnRate = maxTurnRateY * dangerLevel;
220 |
221 | // Rotate the fish toward its goal direction.
222 | Quaternion rotation = Quaternion.Slerp(transform.rotation, goalLookRotation, Time.deltaTime * turnRate);
223 | transform.rotation = rotation;
224 | }
225 | }
226 |
227 |
228 | ///
229 | /// Draws visual debug aids that can be seen in the editor viewport.
230 | ///
231 | void DrawDebugAids()
232 | {
233 | // Draw lines from the fish illustrating what it "sees" and what
234 | // evasive action it may be taking.
235 |
236 | Color rayColor = obstacleDetected ? Color.red : Color.cyan;
237 | Debug.DrawRay(transform.position, swimDirection * obstacleSensingDistance, rayColor);
238 |
239 | if (obstacleDetected)
240 | {
241 | Debug.DrawLine(hitPoint, goalPoint, Color.green);
242 | }
243 |
244 | }
245 |
246 |
247 | ///
248 | /// Updates the fish's position as it swims.
249 | ///
250 | private void UpdatePosition()
251 | {
252 | Vector3 position = transform.position + swimDirection * swimSpeed * Time.fixedDeltaTime;
253 | transform.position = position;
254 | }
255 | }
256 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scripts/Fish.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: fb060075b18c5488fabc5f6e6613f514
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Scripts/TargetCamera.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 |
5 | ///
6 | /// Camera behavior which tracks the position of a target object.
7 | ///
8 | public class TargetCamera : MonoBehaviour
9 | {
10 | ///
11 | /// The object the camera should follow.
12 | ///
13 | public Transform targetObject;
14 |
15 | ///
16 | /// The number of seconds it should take for the camer to catch up to the
17 | /// target when not pointed directy at it.
18 | ///
19 | public float followSpeed = 1.0f;
20 |
21 |
22 | void Update()
23 | {
24 | var goalDirection = targetObject.position - transform.position;
25 | var goalRotation = Quaternion.LookRotation(goalDirection, Vector3.up);
26 | var interimRotation = Quaternion.Slerp(transform.rotation, goalRotation, Time.deltaTime / followSpeed);
27 |
28 | transform.rotation = interimRotation;
29 | }
30 |
31 | }
--------------------------------------------------------------------------------
/Assets/FishDemo/Scripts/TargetCamera.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f4842fbf000544dd4a42b1bacaf3147e
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Tests.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e191d0aa69bd5404f9d6bddd2f814951
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Tests/NewTestScript.cs:
--------------------------------------------------------------------------------
1 | using UnityEngine;
2 | using UnityEngine.TestTools;
3 | using NUnit.Framework;
4 | using System.Collections;
5 |
6 | public class NewTestScript
7 | {
8 |
9 | [Test]
10 | public void NewTestScriptSimplePasses()
11 | {
12 | Vector3 direction = new Vector3(1f, 0f, -1f).normalized;
13 | Vector3 normal = new Vector3(0f, 0, 1f).normalized;
14 | float result = Vector3.Dot(direction, normal);
15 | Debug.Log("result: " + result);
16 | }
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Tests/NewTestScript.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e7fd379d628ef45f8991d461a3229859
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Tests/Tests.asmdef:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Tests",
3 | "optionalUnityReferences": [
4 | "TestAssemblies"
5 | ],
6 | "includePlatforms": [
7 | "Editor"
8 | ]
9 | }
--------------------------------------------------------------------------------
/Assets/FishDemo/Tests/Tests.asmdef.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: c95b1c62674b04e7c8fe3f1473920213
3 | AssemblyDefinitionImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6a55e9e5cf6534f48a10492ea5b711c7
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/Kelp_BaseColor.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:c253e03a8d5160d0a0d6941f0850e89e9d9549fa5b1a8e28d4f5125033eb774c
3 | size 2006094
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/Kelp_BaseColor.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 15c739245dc084ef7a89b7d40766d17e
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: -1
33 | aniso: -1
34 | mipBias: -1
35 | wrapU: -1
36 | wrapV: -1
37 | wrapW: -1
38 | nPOTScale: 1
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 0
51 | spriteTessellationDetail: -1
52 | textureType: 0
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 2048
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 1
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/PUSHILIN_stone.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:b596f04b68e22d02e880aa680eaf4de7167e2a0e3be130b3933f972362f903e3
3 | size 177061
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/PUSHILIN_stone.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f55a98d0ac4e749b3ae00951565f1c37
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: -1
33 | aniso: -1
34 | mipBias: -1
35 | wrapU: -1
36 | wrapV: -1
37 | wrapW: -1
38 | nPOTScale: 1
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 0
51 | spriteTessellationDetail: -1
52 | textureType: 0
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 2048
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 1
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/Sand.jpg:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:552be74e085e90269aa465ccddbe69d9c1c530168adb7ad886dd9a6c426cd910
3 | size 226720
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/Sand.jpg.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 2333011bbe16e4c758ce7b61d7da1e7a
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: -1
33 | aniso: -1
34 | mipBias: -1
35 | wrapU: -1
36 | wrapV: -1
37 | wrapW: -1
38 | nPOTScale: 1
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 0
51 | spriteTessellationDetail: -1
52 | textureType: 0
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 2048
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 1
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/Sand2.jpg:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:4ea389338afe8bc22f704ea77f6e2ffab0e7fcd231edca2e007cd5b7eea34587
3 | size 3660
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/Sand2.jpg.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: e2df9032b8a1b4f418d07c8f58ad9b66
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: -1
33 | aniso: -1
34 | mipBias: -1
35 | wrapU: -1
36 | wrapV: -1
37 | wrapW: -1
38 | nPOTScale: 1
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 0
51 | spriteTessellationDetail: -1
52 | textureType: 0
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 2048
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 1
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/Sand3.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:a0f6a1780d050ea58d35cbd4e5aeb7270468a69e22ef54caa56bd4fe26dd8386
3 | size 63325
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/Sand3.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 01a183a698c644dd09b5c494581ef126
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: -1
33 | aniso: -1
34 | mipBias: -1
35 | wrapU: -1
36 | wrapV: -1
37 | wrapW: -1
38 | nPOTScale: 1
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 0
51 | spriteTessellationDetail: -1
52 | textureType: 0
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 2048
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 1
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/Sand4.jpg:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:08feeac0b8cc561c258a3361e3d1fd2619c643d79391df732e2ec3d9c7b0c3ef
3 | size 150396
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/Sand4.jpg.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 4628dd7cc7c7441bca0f8d172e4e25d5
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: -1
33 | aniso: -1
34 | mipBias: -1
35 | wrapU: -1
36 | wrapV: -1
37 | wrapW: -1
38 | nPOTScale: 1
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 0
51 | spriteTessellationDetail: -1
52 | textureType: 0
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 2048
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 1
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/Vines_BaseColor.png:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:cafb65a37c65c21e49b56b75b4cc4c363cae3cdf2bebbbae56a877fe4d265879
3 | size 3855754
4 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/Vines_BaseColor.png.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6ab22f6e344f84e7cabe219c64dde3be
3 | TextureImporter:
4 | fileIDToRecycleName: {}
5 | externalObjects: {}
6 | serializedVersion: 5
7 | mipmaps:
8 | mipMapMode: 0
9 | enableMipMap: 1
10 | sRGBTexture: 1
11 | linearTexture: 0
12 | fadeOut: 0
13 | borderMipMap: 0
14 | mipMapsPreserveCoverage: 0
15 | alphaTestReferenceValue: 0.5
16 | mipMapFadeDistanceStart: 1
17 | mipMapFadeDistanceEnd: 3
18 | bumpmap:
19 | convertToNormalMap: 0
20 | externalNormalMap: 0
21 | heightScale: 0.25
22 | normalMapFilter: 0
23 | isReadable: 0
24 | grayScaleToAlpha: 0
25 | generateCubemap: 6
26 | cubemapConvolution: 0
27 | seamlessCubemap: 0
28 | textureFormat: 1
29 | maxTextureSize: 2048
30 | textureSettings:
31 | serializedVersion: 2
32 | filterMode: -1
33 | aniso: -1
34 | mipBias: -1
35 | wrapU: -1
36 | wrapV: -1
37 | wrapW: -1
38 | nPOTScale: 1
39 | lightmap: 0
40 | compressionQuality: 50
41 | spriteMode: 0
42 | spriteExtrude: 1
43 | spriteMeshType: 1
44 | alignment: 0
45 | spritePivot: {x: 0.5, y: 0.5}
46 | spritePixelsToUnits: 100
47 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
48 | spriteGenerateFallbackPhysicsShape: 1
49 | alphaUsage: 1
50 | alphaIsTransparency: 0
51 | spriteTessellationDetail: -1
52 | textureType: 0
53 | textureShape: 1
54 | singleChannelComponent: 0
55 | maxTextureSizeSet: 0
56 | compressionQualitySet: 0
57 | textureFormatSet: 0
58 | platformSettings:
59 | - serializedVersion: 2
60 | buildTarget: DefaultTexturePlatform
61 | maxTextureSize: 2048
62 | resizeAlgorithm: 0
63 | textureFormat: -1
64 | textureCompression: 1
65 | compressionQuality: 50
66 | crunchedCompression: 0
67 | allowsAlphaSplitting: 0
68 | overridden: 0
69 | androidETC2FallbackOverride: 0
70 | spriteSheet:
71 | serializedVersion: 2
72 | sprites: []
73 | outline: []
74 | physicsShape: []
75 | bones: []
76 | spriteID:
77 | vertices: []
78 | indices:
79 | edges: []
80 | weights: []
81 | spritePackingTag:
82 | userData:
83 | assetBundleName:
84 | assetBundleVariant:
85 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/coral-reef-underwater-360-vr-footage-073659035_prevstill.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Krxtopher/unity-fish-ai/fafe93df6f3a8243f59436d474376cd8326c7ed8/Assets/FishDemo/Textures/coral-reef-underwater-360-vr-footage-073659035_prevstill.jpeg
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/coral-reef-underwater-360-vr-footage-073659035_prevstill.jpeg.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: b52337880cd964601ae867b13d8836cc
3 | TextureImporter:
4 | fileIDToRecycleName:
5 | 8900000: generatedCubemap
6 | externalObjects: {}
7 | serializedVersion: 5
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 1
11 | sRGBTexture: 1
12 | linearTexture: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapsPreserveCoverage: 0
16 | alphaTestReferenceValue: 0.5
17 | mipMapFadeDistanceStart: 1
18 | mipMapFadeDistanceEnd: 3
19 | bumpmap:
20 | convertToNormalMap: 0
21 | externalNormalMap: 0
22 | heightScale: 0.25
23 | normalMapFilter: 0
24 | isReadable: 0
25 | grayScaleToAlpha: 0
26 | generateCubemap: 6
27 | cubemapConvolution: 1
28 | seamlessCubemap: 0
29 | textureFormat: 1
30 | maxTextureSize: 2048
31 | textureSettings:
32 | serializedVersion: 2
33 | filterMode: -1
34 | aniso: -1
35 | mipBias: -1
36 | wrapU: -1
37 | wrapV: -1
38 | wrapW: -1
39 | nPOTScale: 1
40 | lightmap: 0
41 | compressionQuality: 50
42 | spriteMode: 0
43 | spriteExtrude: 1
44 | spriteMeshType: 1
45 | alignment: 0
46 | spritePivot: {x: 0.5, y: 0.5}
47 | spritePixelsToUnits: 100
48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
49 | spriteGenerateFallbackPhysicsShape: 1
50 | alphaUsage: 1
51 | alphaIsTransparency: 0
52 | spriteTessellationDetail: -1
53 | textureType: 0
54 | textureShape: 2
55 | singleChannelComponent: 0
56 | maxTextureSizeSet: 0
57 | compressionQualitySet: 0
58 | textureFormatSet: 0
59 | platformSettings:
60 | - serializedVersion: 2
61 | buildTarget: DefaultTexturePlatform
62 | maxTextureSize: 2048
63 | resizeAlgorithm: 0
64 | textureFormat: -1
65 | textureCompression: 1
66 | compressionQuality: 50
67 | crunchedCompression: 0
68 | allowsAlphaSplitting: 0
69 | overridden: 0
70 | androidETC2FallbackOverride: 0
71 | - serializedVersion: 2
72 | buildTarget: Standalone
73 | maxTextureSize: 2048
74 | resizeAlgorithm: 0
75 | textureFormat: -1
76 | textureCompression: 1
77 | compressionQuality: 50
78 | crunchedCompression: 0
79 | allowsAlphaSplitting: 0
80 | overridden: 0
81 | androidETC2FallbackOverride: 0
82 | - serializedVersion: 2
83 | buildTarget: iPhone
84 | maxTextureSize: 2048
85 | resizeAlgorithm: 0
86 | textureFormat: -1
87 | textureCompression: 1
88 | compressionQuality: 50
89 | crunchedCompression: 0
90 | allowsAlphaSplitting: 0
91 | overridden: 0
92 | androidETC2FallbackOverride: 0
93 | - serializedVersion: 2
94 | buildTarget: Android
95 | maxTextureSize: 2048
96 | resizeAlgorithm: 0
97 | textureFormat: -1
98 | textureCompression: 1
99 | compressionQuality: 50
100 | crunchedCompression: 0
101 | allowsAlphaSplitting: 0
102 | overridden: 0
103 | androidETC2FallbackOverride: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID:
111 | vertices: []
112 | indices:
113 | edges: []
114 | weights: []
115 | spritePackingTag:
116 | userData:
117 | assetBundleName:
118 | assetBundleVariant:
119 |
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/living room.jpeg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Krxtopher/unity-fish-ai/fafe93df6f3a8243f59436d474376cd8326c7ed8/Assets/FishDemo/Textures/living room.jpeg
--------------------------------------------------------------------------------
/Assets/FishDemo/Textures/living room.jpeg.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 202ce571c98f6446b95ec3975b63ece6
3 | TextureImporter:
4 | fileIDToRecycleName:
5 | 8900000: generatedCubemap
6 | externalObjects: {}
7 | serializedVersion: 5
8 | mipmaps:
9 | mipMapMode: 0
10 | enableMipMap: 1
11 | sRGBTexture: 1
12 | linearTexture: 0
13 | fadeOut: 0
14 | borderMipMap: 0
15 | mipMapsPreserveCoverage: 0
16 | alphaTestReferenceValue: 0.5
17 | mipMapFadeDistanceStart: 1
18 | mipMapFadeDistanceEnd: 3
19 | bumpmap:
20 | convertToNormalMap: 0
21 | externalNormalMap: 0
22 | heightScale: 0.25
23 | normalMapFilter: 0
24 | isReadable: 0
25 | grayScaleToAlpha: 0
26 | generateCubemap: 6
27 | cubemapConvolution: 1
28 | seamlessCubemap: 0
29 | textureFormat: 1
30 | maxTextureSize: 2048
31 | textureSettings:
32 | serializedVersion: 2
33 | filterMode: -1
34 | aniso: -1
35 | mipBias: -1
36 | wrapU: -1
37 | wrapV: -1
38 | wrapW: -1
39 | nPOTScale: 1
40 | lightmap: 0
41 | compressionQuality: 50
42 | spriteMode: 0
43 | spriteExtrude: 1
44 | spriteMeshType: 1
45 | alignment: 0
46 | spritePivot: {x: 0.5, y: 0.5}
47 | spritePixelsToUnits: 100
48 | spriteBorder: {x: 0, y: 0, z: 0, w: 0}
49 | spriteGenerateFallbackPhysicsShape: 1
50 | alphaUsage: 1
51 | alphaIsTransparency: 0
52 | spriteTessellationDetail: -1
53 | textureType: 0
54 | textureShape: 2
55 | singleChannelComponent: 0
56 | maxTextureSizeSet: 0
57 | compressionQualitySet: 0
58 | textureFormatSet: 0
59 | platformSettings:
60 | - serializedVersion: 2
61 | buildTarget: DefaultTexturePlatform
62 | maxTextureSize: 1024
63 | resizeAlgorithm: 0
64 | textureFormat: -1
65 | textureCompression: 1
66 | compressionQuality: 50
67 | crunchedCompression: 0
68 | allowsAlphaSplitting: 0
69 | overridden: 0
70 | androidETC2FallbackOverride: 0
71 | - serializedVersion: 2
72 | buildTarget: Standalone
73 | maxTextureSize: 1024
74 | resizeAlgorithm: 0
75 | textureFormat: -1
76 | textureCompression: 1
77 | compressionQuality: 50
78 | crunchedCompression: 0
79 | allowsAlphaSplitting: 0
80 | overridden: 0
81 | androidETC2FallbackOverride: 0
82 | - serializedVersion: 2
83 | buildTarget: iPhone
84 | maxTextureSize: 1024
85 | resizeAlgorithm: 0
86 | textureFormat: -1
87 | textureCompression: 1
88 | compressionQuality: 50
89 | crunchedCompression: 0
90 | allowsAlphaSplitting: 0
91 | overridden: 0
92 | androidETC2FallbackOverride: 0
93 | - serializedVersion: 2
94 | buildTarget: Android
95 | maxTextureSize: 1024
96 | resizeAlgorithm: 0
97 | textureFormat: -1
98 | textureCompression: 1
99 | compressionQuality: 50
100 | crunchedCompression: 0
101 | allowsAlphaSplitting: 0
102 | overridden: 0
103 | androidETC2FallbackOverride: 0
104 | spriteSheet:
105 | serializedVersion: 2
106 | sprites: []
107 | outline: []
108 | physicsShape: []
109 | bones: []
110 | spriteID:
111 | vertices: []
112 | indices:
113 | edges: []
114 | weights: []
115 | spritePackingTag:
116 | userData:
117 | assetBundleName:
118 | assetBundleVariant:
119 |
--------------------------------------------------------------------------------
/Documentation/Images/Debug_Aids.jpg:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:de906645e132f7ecc0a17c97f608dbea599cd5e9a1842c073fd63db000431956
3 | size 125735
4 |
--------------------------------------------------------------------------------
/Documentation/Images/Unity_Fish_AI_Video_Thumb.jpg:
--------------------------------------------------------------------------------
1 | version https://git-lfs.github.com/spec/v1
2 | oid sha256:08cf4039a081751b6a7c21f2de8da6f1379eff06591236a3e5fe49de283c7a04
3 | size 604061
4 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2018 Kris Schultz
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.unity.postprocessing": "2.0.7-preview"
4 | }
5 | }
6 |
--------------------------------------------------------------------------------
/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | m_Volume: 1
7 | Rolloff Scale: 1
8 | Doppler Factor: 1
9 | Default Speaker Mode: 2
10 | m_SampleRate: 0
11 | m_DSPBufferSize: 1024
12 | m_VirtualVoiceCount: 512
13 | m_RealVoiceCount: 32
14 | m_SpatializerPlugin:
15 | m_AmbisonicDecoderPlugin:
16 | m_DisableAudio: 0
17 | m_VirtualizeEffects: 1
18 |
--------------------------------------------------------------------------------
/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 7
7 | m_Gravity: {x: 0, y: -9.81, z: 0}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_BounceThreshold: 2
10 | m_SleepThreshold: 0.005
11 | m_DefaultContactOffset: 0.01
12 | m_DefaultSolverIterations: 6
13 | m_DefaultSolverVelocityIterations: 1
14 | m_QueriesHitBackfaces: 0
15 | m_QueriesHitTriggers: 1
16 | m_EnableAdaptiveForce: 0
17 | m_ClothInterCollisionDistance: 0
18 | m_ClothInterCollisionStiffness: 0
19 | m_ContactsGeneration: 1
20 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
21 | m_AutoSimulation: 1
22 | m_AutoSyncTransforms: 1
23 | m_ClothInterCollisionSettingsToggle: 0
24 | m_ContactPairsMode: 0
25 | m_BroadphaseType: 0
26 | m_WorldBounds:
27 | m_Center: {x: 0, y: 0, z: 0}
28 | m_Extent: {x: 250, y: 250, z: 250}
29 | m_WorldSubdivisions: 8
30 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes:
8 | - enabled: 1
9 | path: Assets/Scenes/SampleScene.unity
10 | guid: 99c9720ab356a0642a771bea13969a05
11 | m_configObjects: {}
12 |
--------------------------------------------------------------------------------
/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 7
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_LineEndingsForNewScripts: 2
10 | m_DefaultBehaviorMode: 0
11 | m_SpritePackerMode: 0
12 | m_SpritePackerPaddingPower: 1
13 | m_EtcTextureCompressorBehavior: 1
14 | m_EtcTextureFastCompressor: 1
15 | m_EtcTextureNormalCompressor: 2
16 | m_EtcTextureBestCompressor: 4
17 | m_ProjectGenerationIncludedExtensions: txt;xml;fnt;cd
18 | m_ProjectGenerationRootNamespace:
19 | m_UserGeneratedProjectSuffix:
20 | m_CollabEditorSettings:
21 | inProgressEnabled: 1
22 |
--------------------------------------------------------------------------------
/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 12
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_AlwaysIncludedShaders:
32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 10753, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
38 | m_PreloadedShaders: []
39 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
40 | type: 0}
41 | m_CustomRenderPipeline: {fileID: 0}
42 | m_TransparencySortMode: 0
43 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
44 | m_DefaultRenderingPath: 1
45 | m_DefaultMobileRenderingPath: 1
46 | m_TierSettings: []
47 | m_LightmapStripping: 0
48 | m_FogStripping: 0
49 | m_InstancingStripping: 0
50 | m_LightmapKeepPlain: 1
51 | m_LightmapKeepDirCombined: 1
52 | m_LightmapKeepDynamicPlain: 1
53 | m_LightmapKeepDynamicDirCombined: 1
54 | m_LightmapKeepShadowMask: 1
55 | m_LightmapKeepSubtractive: 1
56 | m_FogKeepLinear: 1
57 | m_FogKeepExp: 1
58 | m_FogKeepExp2: 1
59 | m_AlbedoSwatchInfos: []
60 | m_LightsUseLinearIntensity: 0
61 | m_LightsUseColorTemperature: 0
62 |
--------------------------------------------------------------------------------
/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Axes:
8 | - serializedVersion: 3
9 | m_Name: Horizontal
10 | descriptiveName:
11 | descriptiveNegativeName:
12 | negativeButton: left
13 | positiveButton: right
14 | altNegativeButton: a
15 | altPositiveButton: d
16 | gravity: 3
17 | dead: 0.001
18 | sensitivity: 3
19 | snap: 1
20 | invert: 0
21 | type: 0
22 | axis: 0
23 | joyNum: 0
24 | - serializedVersion: 3
25 | m_Name: Vertical
26 | descriptiveName:
27 | descriptiveNegativeName:
28 | negativeButton: down
29 | positiveButton: up
30 | altNegativeButton: s
31 | altPositiveButton: w
32 | gravity: 3
33 | dead: 0.001
34 | sensitivity: 3
35 | snap: 1
36 | invert: 0
37 | type: 0
38 | axis: 0
39 | joyNum: 0
40 | - serializedVersion: 3
41 | m_Name: Fire1
42 | descriptiveName:
43 | descriptiveNegativeName:
44 | negativeButton:
45 | positiveButton: left ctrl
46 | altNegativeButton:
47 | altPositiveButton: mouse 0
48 | gravity: 1000
49 | dead: 0.001
50 | sensitivity: 1000
51 | snap: 0
52 | invert: 0
53 | type: 0
54 | axis: 0
55 | joyNum: 0
56 | - serializedVersion: 3
57 | m_Name: Fire2
58 | descriptiveName:
59 | descriptiveNegativeName:
60 | negativeButton:
61 | positiveButton: left alt
62 | altNegativeButton:
63 | altPositiveButton: mouse 1
64 | gravity: 1000
65 | dead: 0.001
66 | sensitivity: 1000
67 | snap: 0
68 | invert: 0
69 | type: 0
70 | axis: 0
71 | joyNum: 0
72 | - serializedVersion: 3
73 | m_Name: Fire3
74 | descriptiveName:
75 | descriptiveNegativeName:
76 | negativeButton:
77 | positiveButton: left shift
78 | altNegativeButton:
79 | altPositiveButton: mouse 2
80 | gravity: 1000
81 | dead: 0.001
82 | sensitivity: 1000
83 | snap: 0
84 | invert: 0
85 | type: 0
86 | axis: 0
87 | joyNum: 0
88 | - serializedVersion: 3
89 | m_Name: Jump
90 | descriptiveName:
91 | descriptiveNegativeName:
92 | negativeButton:
93 | positiveButton: space
94 | altNegativeButton:
95 | altPositiveButton:
96 | gravity: 1000
97 | dead: 0.001
98 | sensitivity: 1000
99 | snap: 0
100 | invert: 0
101 | type: 0
102 | axis: 0
103 | joyNum: 0
104 | - serializedVersion: 3
105 | m_Name: Mouse X
106 | descriptiveName:
107 | descriptiveNegativeName:
108 | negativeButton:
109 | positiveButton:
110 | altNegativeButton:
111 | altPositiveButton:
112 | gravity: 0
113 | dead: 0
114 | sensitivity: 0.1
115 | snap: 0
116 | invert: 0
117 | type: 1
118 | axis: 0
119 | joyNum: 0
120 | - serializedVersion: 3
121 | m_Name: Mouse Y
122 | descriptiveName:
123 | descriptiveNegativeName:
124 | negativeButton:
125 | positiveButton:
126 | altNegativeButton:
127 | altPositiveButton:
128 | gravity: 0
129 | dead: 0
130 | sensitivity: 0.1
131 | snap: 0
132 | invert: 0
133 | type: 1
134 | axis: 1
135 | joyNum: 0
136 | - serializedVersion: 3
137 | m_Name: Mouse ScrollWheel
138 | descriptiveName:
139 | descriptiveNegativeName:
140 | negativeButton:
141 | positiveButton:
142 | altNegativeButton:
143 | altPositiveButton:
144 | gravity: 0
145 | dead: 0
146 | sensitivity: 0.1
147 | snap: 0
148 | invert: 0
149 | type: 1
150 | axis: 2
151 | joyNum: 0
152 | - serializedVersion: 3
153 | m_Name: Horizontal
154 | descriptiveName:
155 | descriptiveNegativeName:
156 | negativeButton:
157 | positiveButton:
158 | altNegativeButton:
159 | altPositiveButton:
160 | gravity: 0
161 | dead: 0.19
162 | sensitivity: 1
163 | snap: 0
164 | invert: 0
165 | type: 2
166 | axis: 0
167 | joyNum: 0
168 | - serializedVersion: 3
169 | m_Name: Vertical
170 | descriptiveName:
171 | descriptiveNegativeName:
172 | negativeButton:
173 | positiveButton:
174 | altNegativeButton:
175 | altPositiveButton:
176 | gravity: 0
177 | dead: 0.19
178 | sensitivity: 1
179 | snap: 0
180 | invert: 1
181 | type: 2
182 | axis: 1
183 | joyNum: 0
184 | - serializedVersion: 3
185 | m_Name: Fire1
186 | descriptiveName:
187 | descriptiveNegativeName:
188 | negativeButton:
189 | positiveButton: joystick button 0
190 | altNegativeButton:
191 | altPositiveButton:
192 | gravity: 1000
193 | dead: 0.001
194 | sensitivity: 1000
195 | snap: 0
196 | invert: 0
197 | type: 0
198 | axis: 0
199 | joyNum: 0
200 | - serializedVersion: 3
201 | m_Name: Fire2
202 | descriptiveName:
203 | descriptiveNegativeName:
204 | negativeButton:
205 | positiveButton: joystick button 1
206 | altNegativeButton:
207 | altPositiveButton:
208 | gravity: 1000
209 | dead: 0.001
210 | sensitivity: 1000
211 | snap: 0
212 | invert: 0
213 | type: 0
214 | axis: 0
215 | joyNum: 0
216 | - serializedVersion: 3
217 | m_Name: Fire3
218 | descriptiveName:
219 | descriptiveNegativeName:
220 | negativeButton:
221 | positiveButton: joystick button 2
222 | altNegativeButton:
223 | altPositiveButton:
224 | gravity: 1000
225 | dead: 0.001
226 | sensitivity: 1000
227 | snap: 0
228 | invert: 0
229 | type: 0
230 | axis: 0
231 | joyNum: 0
232 | - serializedVersion: 3
233 | m_Name: Jump
234 | descriptiveName:
235 | descriptiveNegativeName:
236 | negativeButton:
237 | positiveButton: joystick button 3
238 | altNegativeButton:
239 | altPositiveButton:
240 | gravity: 1000
241 | dead: 0.001
242 | sensitivity: 1000
243 | snap: 0
244 | invert: 0
245 | type: 0
246 | axis: 0
247 | joyNum: 0
248 | - serializedVersion: 3
249 | m_Name: Submit
250 | descriptiveName:
251 | descriptiveNegativeName:
252 | negativeButton:
253 | positiveButton: return
254 | altNegativeButton:
255 | altPositiveButton: joystick button 0
256 | gravity: 1000
257 | dead: 0.001
258 | sensitivity: 1000
259 | snap: 0
260 | invert: 0
261 | type: 0
262 | axis: 0
263 | joyNum: 0
264 | - serializedVersion: 3
265 | m_Name: Submit
266 | descriptiveName:
267 | descriptiveNegativeName:
268 | negativeButton:
269 | positiveButton: enter
270 | altNegativeButton:
271 | altPositiveButton: space
272 | gravity: 1000
273 | dead: 0.001
274 | sensitivity: 1000
275 | snap: 0
276 | invert: 0
277 | type: 0
278 | axis: 0
279 | joyNum: 0
280 | - serializedVersion: 3
281 | m_Name: Cancel
282 | descriptiveName:
283 | descriptiveNegativeName:
284 | negativeButton:
285 | positiveButton: escape
286 | altNegativeButton:
287 | altPositiveButton: joystick button 1
288 | gravity: 1000
289 | dead: 0.001
290 | sensitivity: 1000
291 | snap: 0
292 | invert: 0
293 | type: 0
294 | axis: 0
295 | joyNum: 0
296 |
--------------------------------------------------------------------------------
/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshProjectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 | m_LastAgentTypeID: -887442657
73 | m_Settings:
74 | - serializedVersion: 2
75 | agentTypeID: 0
76 | agentRadius: 0.5
77 | agentHeight: 2
78 | agentSlope: 45
79 | agentClimb: 0.75
80 | ledgeDropHeight: 0
81 | maxJumpAcrossDistance: 0
82 | minRegionArea: 2
83 | manualCellSize: 0
84 | cellSize: 0.16666667
85 | manualTileSize: 0
86 | tileSize: 256
87 | accuratePlacement: 0
88 | debug:
89 | m_Flags: 0
90 | m_SettingNames:
91 | - Humanoid
92 |
--------------------------------------------------------------------------------
/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!149 &1
4 | NetworkManager:
5 | m_ObjectHideFlags: 0
6 | m_DebugLevel: 0
7 | m_Sendrate: 15
8 | m_AssetToPrefab: {}
9 |
--------------------------------------------------------------------------------
/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 3
7 | m_Gravity: {x: 0, y: -9.81}
8 | m_DefaultMaterial: {fileID: 0}
9 | m_VelocityIterations: 8
10 | m_PositionIterations: 3
11 | m_VelocityThreshold: 1
12 | m_MaxLinearCorrection: 0.2
13 | m_MaxAngularCorrection: 8
14 | m_MaxTranslationSpeed: 100
15 | m_MaxRotationSpeed: 360
16 | m_BaumgarteScale: 0.2
17 | m_BaumgarteTimeOfImpactScale: 0.75
18 | m_TimeToSleep: 0.5
19 | m_LinearSleepTolerance: 0.01
20 | m_AngularSleepTolerance: 2
21 | m_DefaultContactOffset: 0.01
22 | m_AutoSimulation: 1
23 | m_QueriesHitTriggers: 1
24 | m_QueriesStartInColliders: 1
25 | m_ChangeStopsCallbacks: 0
26 | m_CallbacksOnDisable: 1
27 | m_AutoSyncTransforms: 1
28 | m_AlwaysShowColliders: 0
29 | m_ShowColliderSleep: 1
30 | m_ShowColliderContacts: 0
31 | m_ShowColliderAABB: 0
32 | m_ContactArrowScale: 0.2
33 | m_ColliderAwakeColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.7529412}
34 | m_ColliderAsleepColor: {r: 0.5686275, g: 0.95686275, b: 0.54509807, a: 0.36078432}
35 | m_ColliderContactColor: {r: 1, g: 0, b: 1, a: 0.6862745}
36 | m_ColliderAABBColor: {r: 1, g: 1, b: 0, a: 0.2509804}
37 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
38 |
--------------------------------------------------------------------------------
/ProjectSettings/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | m_DefaultList:
7 | - type:
8 | m_NativeTypeID: 108
9 | m_ManagedTypePPtr: {fileID: 0}
10 | m_ManagedTypeFallback:
11 | defaultPresets:
12 | - m_Preset: {fileID: 2655988077585873504, guid: c1cf8506f04ef2c4a88b64b6c4202eea,
13 | type: 2}
14 | - type:
15 | m_NativeTypeID: 1020
16 | m_ManagedTypePPtr: {fileID: 0}
17 | m_ManagedTypeFallback:
18 | defaultPresets:
19 | - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6,
20 | type: 2}
21 | - type:
22 | m_NativeTypeID: 1006
23 | m_ManagedTypePPtr: {fileID: 0}
24 | m_ManagedTypeFallback:
25 | defaultPresets:
26 | - m_Preset: {fileID: 2655988077585873504, guid: 7a99f8aa944efe94cb9bd74562b7d5f9,
27 | type: 2}
28 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!129 &1
4 | PlayerSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 15
7 | productGUID: bac681ab9a84848ef959c1b1835ecb20
8 | AndroidProfiler: 0
9 | AndroidFilterTouchesWhenObscured: 0
10 | AndroidEnableSustainedPerformanceMode: 0
11 | defaultScreenOrientation: 4
12 | targetDevice: 2
13 | useOnDemandResources: 0
14 | accelerometerFrequency: 60
15 | companyName: DefaultCompany
16 | productName: UnityFish
17 | defaultCursor: {fileID: 0}
18 | cursorHotspot: {x: 0, y: 0}
19 | m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}
20 | m_ShowUnitySplashScreen: 1
21 | m_ShowUnitySplashLogo: 1
22 | m_SplashScreenOverlayOpacity: 1
23 | m_SplashScreenAnimation: 1
24 | m_SplashScreenLogoStyle: 1
25 | m_SplashScreenDrawMode: 0
26 | m_SplashScreenBackgroundAnimationZoom: 1
27 | m_SplashScreenLogoAnimationZoom: 1
28 | m_SplashScreenBackgroundLandscapeAspect: 1
29 | m_SplashScreenBackgroundPortraitAspect: 1
30 | m_SplashScreenBackgroundLandscapeUvs:
31 | serializedVersion: 2
32 | x: 0
33 | y: 0
34 | width: 1
35 | height: 1
36 | m_SplashScreenBackgroundPortraitUvs:
37 | serializedVersion: 2
38 | x: 0
39 | y: 0
40 | width: 1
41 | height: 1
42 | m_SplashScreenLogos: []
43 | m_VirtualRealitySplashScreen: {fileID: 0}
44 | m_HolographicTrackingLossScreen: {fileID: 0}
45 | defaultScreenWidth: 1024
46 | defaultScreenHeight: 768
47 | defaultScreenWidthWeb: 960
48 | defaultScreenHeightWeb: 600
49 | m_StereoRenderingPath: 0
50 | m_ActiveColorSpace: 1
51 | m_MTRendering: 1
52 | m_StackTraceTypes: 010000000100000001000000010000000100000001000000
53 | iosShowActivityIndicatorOnLoading: -1
54 | androidShowActivityIndicatorOnLoading: -1
55 | tizenShowActivityIndicatorOnLoading: -1
56 | iosAppInBackgroundBehavior: 0
57 | displayResolutionDialog: 1
58 | iosAllowHTTPDownload: 1
59 | allowedAutorotateToPortrait: 1
60 | allowedAutorotateToPortraitUpsideDown: 1
61 | allowedAutorotateToLandscapeRight: 1
62 | allowedAutorotateToLandscapeLeft: 1
63 | useOSAutorotation: 1
64 | use32BitDisplayBuffer: 1
65 | preserveFramebufferAlpha: 0
66 | disableDepthAndStencilBuffers: 0
67 | androidBlitType: 0
68 | defaultIsNativeResolution: 1
69 | macRetinaSupport: 1
70 | runInBackground: 1
71 | captureSingleScreen: 0
72 | muteOtherAudioSources: 0
73 | Prepare IOS For Recording: 0
74 | Force IOS Speakers When Recording: 0
75 | deferSystemGesturesMode: 0
76 | hideHomeButton: 0
77 | submitAnalytics: 1
78 | usePlayerLog: 1
79 | bakeCollisionMeshes: 0
80 | forceSingleInstance: 0
81 | resizableWindow: 0
82 | useMacAppStoreValidation: 0
83 | macAppStoreCategory: public.app-category.games
84 | gpuSkinning: 1
85 | graphicsJobs: 0
86 | xboxPIXTextureCapture: 0
87 | xboxEnableAvatar: 0
88 | xboxEnableKinect: 0
89 | xboxEnableKinectAutoTracking: 0
90 | xboxEnableFitness: 0
91 | visibleInBackground: 1
92 | allowFullscreenSwitch: 1
93 | graphicsJobMode: 0
94 | fullscreenMode: 1
95 | xboxSpeechDB: 0
96 | xboxEnableHeadOrientation: 0
97 | xboxEnableGuest: 0
98 | xboxEnablePIXSampling: 0
99 | metalFramebufferOnly: 0
100 | n3dsDisableStereoscopicView: 0
101 | n3dsEnableSharedListOpt: 1
102 | n3dsEnableVSync: 0
103 | xboxOneResolution: 0
104 | xboxOneSResolution: 0
105 | xboxOneXResolution: 3
106 | xboxOneMonoLoggingLevel: 0
107 | xboxOneLoggingLevel: 1
108 | xboxOneDisableEsram: 0
109 | xboxOnePresentImmediateThreshold: 0
110 | switchQueueCommandMemory: 0
111 | videoMemoryForVertexBuffers: 0
112 | psp2PowerMode: 0
113 | psp2AcquireBGM: 1
114 | m_SupportedAspectRatios:
115 | 4:3: 1
116 | 5:4: 1
117 | 16:10: 1
118 | 16:9: 1
119 | Others: 1
120 | bundleVersion: 0.1
121 | preloadedAssets: []
122 | metroInputSource: 0
123 | wsaTransparentSwapchain: 0
124 | m_HolographicPauseOnTrackingLoss: 1
125 | xboxOneDisableKinectGpuReservation: 0
126 | xboxOneEnable7thCore: 0
127 | vrSettings:
128 | cardboard:
129 | depthFormat: 0
130 | enableTransitionView: 0
131 | daydream:
132 | depthFormat: 0
133 | useSustainedPerformanceMode: 0
134 | enableVideoLayer: 0
135 | useProtectedVideoMemory: 0
136 | minimumSupportedHeadTracking: 0
137 | maximumSupportedHeadTracking: 1
138 | hololens:
139 | depthFormat: 1
140 | depthBufferSharingEnabled: 0
141 | enable360StereoCapture: 0
142 | oculus:
143 | sharedDepthBuffer: 0
144 | dashSupport: 0
145 | protectGraphicsMemory: 0
146 | useHDRDisplay: 0
147 | m_ColorGamuts: 00000000
148 | targetPixelDensity: 30
149 | resolutionScalingMode: 0
150 | androidSupportedAspectRatio: 1
151 | androidMaxAspectRatio: 2.1
152 | applicationIdentifier: {}
153 | buildNumber: {}
154 | AndroidBundleVersionCode: 1
155 | AndroidMinSdkVersion: 16
156 | AndroidTargetSdkVersion: 0
157 | AndroidPreferredInstallLocation: 1
158 | aotOptions:
159 | stripEngineCode: 1
160 | iPhoneStrippingLevel: 0
161 | iPhoneScriptCallOptimization: 0
162 | ForceInternetPermission: 0
163 | ForceSDCardPermission: 0
164 | CreateWallpaper: 0
165 | APKExpansionFiles: 0
166 | keepLoadedShadersAlive: 0
167 | StripUnusedMeshComponents: 1
168 | VertexChannelCompressionMask: 4054
169 | iPhoneSdkVersion: 988
170 | iOSTargetOSVersionString: 8.0
171 | tvOSSdkVersion: 0
172 | tvOSRequireExtendedGameController: 0
173 | tvOSTargetOSVersionString: 9.0
174 | uIPrerenderedIcon: 0
175 | uIRequiresPersistentWiFi: 0
176 | uIRequiresFullScreen: 1
177 | uIStatusBarHidden: 1
178 | uIExitOnSuspend: 0
179 | uIStatusBarStyle: 0
180 | iPhoneSplashScreen: {fileID: 0}
181 | iPhoneHighResSplashScreen: {fileID: 0}
182 | iPhoneTallHighResSplashScreen: {fileID: 0}
183 | iPhone47inSplashScreen: {fileID: 0}
184 | iPhone55inPortraitSplashScreen: {fileID: 0}
185 | iPhone55inLandscapeSplashScreen: {fileID: 0}
186 | iPhone58inPortraitSplashScreen: {fileID: 0}
187 | iPhone58inLandscapeSplashScreen: {fileID: 0}
188 | iPadPortraitSplashScreen: {fileID: 0}
189 | iPadHighResPortraitSplashScreen: {fileID: 0}
190 | iPadLandscapeSplashScreen: {fileID: 0}
191 | iPadHighResLandscapeSplashScreen: {fileID: 0}
192 | appleTVSplashScreen: {fileID: 0}
193 | appleTVSplashScreen2x: {fileID: 0}
194 | tvOSSmallIconLayers: []
195 | tvOSSmallIconLayers2x: []
196 | tvOSLargeIconLayers: []
197 | tvOSLargeIconLayers2x: []
198 | tvOSTopShelfImageLayers: []
199 | tvOSTopShelfImageLayers2x: []
200 | tvOSTopShelfImageWideLayers: []
201 | tvOSTopShelfImageWideLayers2x: []
202 | iOSLaunchScreenType: 0
203 | iOSLaunchScreenPortrait: {fileID: 0}
204 | iOSLaunchScreenLandscape: {fileID: 0}
205 | iOSLaunchScreenBackgroundColor:
206 | serializedVersion: 2
207 | rgba: 0
208 | iOSLaunchScreenFillPct: 100
209 | iOSLaunchScreenSize: 100
210 | iOSLaunchScreenCustomXibPath:
211 | iOSLaunchScreeniPadType: 0
212 | iOSLaunchScreeniPadImage: {fileID: 0}
213 | iOSLaunchScreeniPadBackgroundColor:
214 | serializedVersion: 2
215 | rgba: 0
216 | iOSLaunchScreeniPadFillPct: 100
217 | iOSLaunchScreeniPadSize: 100
218 | iOSLaunchScreeniPadCustomXibPath:
219 | iOSUseLaunchScreenStoryboard: 0
220 | iOSLaunchScreenCustomStoryboardPath:
221 | iOSDeviceRequirements: []
222 | iOSURLSchemes: []
223 | iOSBackgroundModes: 0
224 | iOSMetalForceHardShadows: 0
225 | metalEditorSupport: 1
226 | metalAPIValidation: 1
227 | iOSRenderExtraFrameOnPause: 0
228 | appleDeveloperTeamID:
229 | iOSManualSigningProvisioningProfileID:
230 | tvOSManualSigningProvisioningProfileID:
231 | iOSManualSigningProvisioningProfileType: 0
232 | tvOSManualSigningProvisioningProfileType: 0
233 | appleEnableAutomaticSigning: 0
234 | iOSRequireARKit: 0
235 | appleEnableProMotion: 0
236 | clonedFromGUID: 56e7a2d3a00f33d44bdd161b773c35b5
237 | templatePackageId: com.unity.template.3d@1.0.0
238 | templateDefaultScene: Assets/Scenes/SampleScene.unity
239 | AndroidTargetArchitectures: 5
240 | AndroidSplashScreenScale: 0
241 | androidSplashScreen: {fileID: 0}
242 | AndroidKeystoreName:
243 | AndroidKeyaliasName:
244 | AndroidTVCompatibility: 1
245 | AndroidIsGame: 1
246 | AndroidEnableTango: 0
247 | androidEnableBanner: 1
248 | androidUseLowAccuracyLocation: 0
249 | m_AndroidBanners:
250 | - width: 320
251 | height: 180
252 | banner: {fileID: 0}
253 | androidGamepadSupportLevel: 0
254 | resolutionDialogBanner: {fileID: 0}
255 | m_BuildTargetIcons: []
256 | m_BuildTargetPlatformIcons: []
257 | m_BuildTargetBatching:
258 | - m_BuildTarget: Standalone
259 | m_StaticBatching: 1
260 | m_DynamicBatching: 0
261 | - m_BuildTarget: tvOS
262 | m_StaticBatching: 1
263 | m_DynamicBatching: 0
264 | - m_BuildTarget: Android
265 | m_StaticBatching: 1
266 | m_DynamicBatching: 0
267 | - m_BuildTarget: iPhone
268 | m_StaticBatching: 1
269 | m_DynamicBatching: 0
270 | - m_BuildTarget: WebGL
271 | m_StaticBatching: 0
272 | m_DynamicBatching: 0
273 | m_BuildTargetGraphicsAPIs:
274 | - m_BuildTarget: AndroidPlayer
275 | m_APIs: 0b00000015000000
276 | m_Automatic: 1
277 | - m_BuildTarget: iOSSupport
278 | m_APIs: 10000000
279 | m_Automatic: 1
280 | - m_BuildTarget: AppleTVSupport
281 | m_APIs: 10000000
282 | m_Automatic: 0
283 | - m_BuildTarget: WebGLSupport
284 | m_APIs: 0b000000
285 | m_Automatic: 1
286 | m_BuildTargetVRSettings:
287 | - m_BuildTarget: Standalone
288 | m_Enabled: 0
289 | m_Devices:
290 | - Oculus
291 | - OpenVR
292 | m_BuildTargetEnableVuforiaSettings: []
293 | openGLRequireES31: 0
294 | openGLRequireES31AEP: 0
295 | m_TemplateCustomTags: {}
296 | mobileMTRendering:
297 | Android: 1
298 | iPhone: 1
299 | tvOS: 1
300 | m_BuildTargetGroupLightmapEncodingQuality: []
301 | playModeTestRunnerEnabled: 0
302 | runPlayModeTestAsEditModeTest: 0
303 | actionOnDotNetUnhandledException: 1
304 | enableInternalProfiler: 0
305 | logObjCUncaughtExceptions: 1
306 | enableCrashReportAPI: 0
307 | cameraUsageDescription:
308 | locationUsageDescription:
309 | microphoneUsageDescription:
310 | switchNetLibKey:
311 | switchSocketMemoryPoolSize: 6144
312 | switchSocketAllocatorPoolSize: 128
313 | switchSocketConcurrencyLimit: 14
314 | switchScreenResolutionBehavior: 2
315 | switchUseCPUProfiler: 0
316 | switchApplicationID: 0x01004b9000490000
317 | switchNSODependencies:
318 | switchTitleNames_0:
319 | switchTitleNames_1:
320 | switchTitleNames_2:
321 | switchTitleNames_3:
322 | switchTitleNames_4:
323 | switchTitleNames_5:
324 | switchTitleNames_6:
325 | switchTitleNames_7:
326 | switchTitleNames_8:
327 | switchTitleNames_9:
328 | switchTitleNames_10:
329 | switchTitleNames_11:
330 | switchTitleNames_12:
331 | switchTitleNames_13:
332 | switchTitleNames_14:
333 | switchPublisherNames_0:
334 | switchPublisherNames_1:
335 | switchPublisherNames_2:
336 | switchPublisherNames_3:
337 | switchPublisherNames_4:
338 | switchPublisherNames_5:
339 | switchPublisherNames_6:
340 | switchPublisherNames_7:
341 | switchPublisherNames_8:
342 | switchPublisherNames_9:
343 | switchPublisherNames_10:
344 | switchPublisherNames_11:
345 | switchPublisherNames_12:
346 | switchPublisherNames_13:
347 | switchPublisherNames_14:
348 | switchIcons_0: {fileID: 0}
349 | switchIcons_1: {fileID: 0}
350 | switchIcons_2: {fileID: 0}
351 | switchIcons_3: {fileID: 0}
352 | switchIcons_4: {fileID: 0}
353 | switchIcons_5: {fileID: 0}
354 | switchIcons_6: {fileID: 0}
355 | switchIcons_7: {fileID: 0}
356 | switchIcons_8: {fileID: 0}
357 | switchIcons_9: {fileID: 0}
358 | switchIcons_10: {fileID: 0}
359 | switchIcons_11: {fileID: 0}
360 | switchIcons_12: {fileID: 0}
361 | switchIcons_13: {fileID: 0}
362 | switchIcons_14: {fileID: 0}
363 | switchSmallIcons_0: {fileID: 0}
364 | switchSmallIcons_1: {fileID: 0}
365 | switchSmallIcons_2: {fileID: 0}
366 | switchSmallIcons_3: {fileID: 0}
367 | switchSmallIcons_4: {fileID: 0}
368 | switchSmallIcons_5: {fileID: 0}
369 | switchSmallIcons_6: {fileID: 0}
370 | switchSmallIcons_7: {fileID: 0}
371 | switchSmallIcons_8: {fileID: 0}
372 | switchSmallIcons_9: {fileID: 0}
373 | switchSmallIcons_10: {fileID: 0}
374 | switchSmallIcons_11: {fileID: 0}
375 | switchSmallIcons_12: {fileID: 0}
376 | switchSmallIcons_13: {fileID: 0}
377 | switchSmallIcons_14: {fileID: 0}
378 | switchManualHTML:
379 | switchAccessibleURLs:
380 | switchLegalInformation:
381 | switchMainThreadStackSize: 1048576
382 | switchPresenceGroupId:
383 | switchLogoHandling: 0
384 | switchReleaseVersion: 0
385 | switchDisplayVersion: 1.0.0
386 | switchStartupUserAccount: 0
387 | switchTouchScreenUsage: 0
388 | switchSupportedLanguagesMask: 0
389 | switchLogoType: 0
390 | switchApplicationErrorCodeCategory:
391 | switchUserAccountSaveDataSize: 0
392 | switchUserAccountSaveDataJournalSize: 0
393 | switchApplicationAttribute: 0
394 | switchCardSpecSize: -1
395 | switchCardSpecClock: -1
396 | switchRatingsMask: 0
397 | switchRatingsInt_0: 0
398 | switchRatingsInt_1: 0
399 | switchRatingsInt_2: 0
400 | switchRatingsInt_3: 0
401 | switchRatingsInt_4: 0
402 | switchRatingsInt_5: 0
403 | switchRatingsInt_6: 0
404 | switchRatingsInt_7: 0
405 | switchRatingsInt_8: 0
406 | switchRatingsInt_9: 0
407 | switchRatingsInt_10: 0
408 | switchRatingsInt_11: 0
409 | switchLocalCommunicationIds_0:
410 | switchLocalCommunicationIds_1:
411 | switchLocalCommunicationIds_2:
412 | switchLocalCommunicationIds_3:
413 | switchLocalCommunicationIds_4:
414 | switchLocalCommunicationIds_5:
415 | switchLocalCommunicationIds_6:
416 | switchLocalCommunicationIds_7:
417 | switchParentalControl: 0
418 | switchAllowsScreenshot: 1
419 | switchAllowsVideoCapturing: 1
420 | switchAllowsRuntimeAddOnContentInstall: 0
421 | switchDataLossConfirmation: 0
422 | switchSupportedNpadStyles: 3
423 | switchNativeFsCacheSize: 32
424 | switchSocketConfigEnabled: 0
425 | switchTcpInitialSendBufferSize: 32
426 | switchTcpInitialReceiveBufferSize: 64
427 | switchTcpAutoSendBufferSizeMax: 256
428 | switchTcpAutoReceiveBufferSizeMax: 256
429 | switchUdpSendBufferSize: 9
430 | switchUdpReceiveBufferSize: 42
431 | switchSocketBufferEfficiency: 4
432 | switchSocketInitializeEnabled: 1
433 | switchNetworkInterfaceManagerInitializeEnabled: 1
434 | switchPlayerConnectionEnabled: 1
435 | ps4NPAgeRating: 12
436 | ps4NPTitleSecret:
437 | ps4NPTrophyPackPath:
438 | ps4ParentalLevel: 11
439 | ps4ContentID: ED1633-NPXX51362_00-0000000000000000
440 | ps4Category: 0
441 | ps4MasterVersion: 01.00
442 | ps4AppVersion: 01.00
443 | ps4AppType: 0
444 | ps4ParamSfxPath:
445 | ps4VideoOutPixelFormat: 0
446 | ps4VideoOutInitialWidth: 1920
447 | ps4VideoOutBaseModeInitialWidth: 1920
448 | ps4VideoOutReprojectionRate: 60
449 | ps4PronunciationXMLPath:
450 | ps4PronunciationSIGPath:
451 | ps4BackgroundImagePath:
452 | ps4StartupImagePath:
453 | ps4StartupImagesFolder:
454 | ps4IconImagesFolder:
455 | ps4SaveDataImagePath:
456 | ps4SdkOverride:
457 | ps4BGMPath:
458 | ps4ShareFilePath:
459 | ps4ShareOverlayImagePath:
460 | ps4PrivacyGuardImagePath:
461 | ps4NPtitleDatPath:
462 | ps4RemotePlayKeyAssignment: -1
463 | ps4RemotePlayKeyMappingDir:
464 | ps4PlayTogetherPlayerCount: 0
465 | ps4EnterButtonAssignment: 1
466 | ps4ApplicationParam1: 0
467 | ps4ApplicationParam2: 0
468 | ps4ApplicationParam3: 0
469 | ps4ApplicationParam4: 0
470 | ps4DownloadDataSize: 0
471 | ps4GarlicHeapSize: 2048
472 | ps4ProGarlicHeapSize: 2560
473 | ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ
474 | ps4pnSessions: 1
475 | ps4pnPresence: 1
476 | ps4pnFriends: 1
477 | ps4pnGameCustomData: 1
478 | playerPrefsSupport: 0
479 | enableApplicationExit: 0
480 | restrictedAudioUsageRights: 0
481 | ps4UseResolutionFallback: 0
482 | ps4ReprojectionSupport: 0
483 | ps4UseAudio3dBackend: 0
484 | ps4SocialScreenEnabled: 0
485 | ps4ScriptOptimizationLevel: 0
486 | ps4Audio3dVirtualSpeakerCount: 14
487 | ps4attribCpuUsage: 0
488 | ps4PatchPkgPath:
489 | ps4PatchLatestPkgPath:
490 | ps4PatchChangeinfoPath:
491 | ps4PatchDayOne: 0
492 | ps4attribUserManagement: 0
493 | ps4attribMoveSupport: 0
494 | ps4attrib3DSupport: 0
495 | ps4attribShareSupport: 0
496 | ps4attribExclusiveVR: 0
497 | ps4disableAutoHideSplash: 0
498 | ps4videoRecordingFeaturesUsed: 0
499 | ps4contentSearchFeaturesUsed: 0
500 | ps4attribEyeToEyeDistanceSettingVR: 0
501 | ps4IncludedModules: []
502 | monoEnv:
503 | psp2Splashimage: {fileID: 0}
504 | psp2NPTrophyPackPath:
505 | psp2NPSupportGBMorGJP: 0
506 | psp2NPAgeRating: 12
507 | psp2NPTitleDatPath:
508 | psp2NPCommsID:
509 | psp2NPCommunicationsID:
510 | psp2NPCommsPassphrase:
511 | psp2NPCommsSig:
512 | psp2ParamSfxPath:
513 | psp2ManualPath:
514 | psp2LiveAreaGatePath:
515 | psp2LiveAreaBackroundPath:
516 | psp2LiveAreaPath:
517 | psp2LiveAreaTrialPath:
518 | psp2PatchChangeInfoPath:
519 | psp2PatchOriginalPackage:
520 | psp2PackagePassword: F69AzBlax3CF3EDNhm3soLBPh71Yexui
521 | psp2KeystoneFile:
522 | psp2MemoryExpansionMode: 0
523 | psp2DRMType: 0
524 | psp2StorageType: 0
525 | psp2MediaCapacity: 0
526 | psp2DLCConfigPath:
527 | psp2ThumbnailPath:
528 | psp2BackgroundPath:
529 | psp2SoundPath:
530 | psp2TrophyCommId:
531 | psp2TrophyPackagePath:
532 | psp2PackagedResourcesPath:
533 | psp2SaveDataQuota: 10240
534 | psp2ParentalLevel: 1
535 | psp2ShortTitle: Not Set
536 | psp2ContentID: IV0000-ABCD12345_00-0123456789ABCDEF
537 | psp2Category: 0
538 | psp2MasterVersion: 01.00
539 | psp2AppVersion: 01.00
540 | psp2TVBootMode: 0
541 | psp2EnterButtonAssignment: 2
542 | psp2TVDisableEmu: 0
543 | psp2AllowTwitterDialog: 1
544 | psp2Upgradable: 0
545 | psp2HealthWarning: 0
546 | psp2UseLibLocation: 0
547 | psp2InfoBarOnStartup: 0
548 | psp2InfoBarColor: 0
549 | psp2ScriptOptimizationLevel: 0
550 | splashScreenBackgroundSourceLandscape: {fileID: 0}
551 | splashScreenBackgroundSourcePortrait: {fileID: 0}
552 | spritePackerPolicy:
553 | webGLMemorySize: 256
554 | webGLExceptionSupport: 1
555 | webGLNameFilesAsHashes: 0
556 | webGLDataCaching: 0
557 | webGLDebugSymbols: 0
558 | webGLEmscriptenArgs:
559 | webGLModulesDirectory:
560 | webGLTemplate: APPLICATION:Default
561 | webGLAnalyzeBuildSize: 0
562 | webGLUseEmbeddedResources: 0
563 | webGLCompressionFormat: 1
564 | webGLLinkerTarget: 0
565 | scriptingDefineSymbols:
566 | 1: UNITY_POST_PROCESSING_STACK_V2
567 | 4: UNITY_POST_PROCESSING_STACK_V2
568 | 7: UNITY_POST_PROCESSING_STACK_V2
569 | 13: UNITY_POST_PROCESSING_STACK_V2
570 | 17: UNITY_POST_PROCESSING_STACK_V2
571 | 18: UNITY_POST_PROCESSING_STACK_V2
572 | 19: UNITY_POST_PROCESSING_STACK_V2
573 | 21: UNITY_POST_PROCESSING_STACK_V2
574 | 23: UNITY_POST_PROCESSING_STACK_V2
575 | 24: UNITY_POST_PROCESSING_STACK_V2
576 | 25: UNITY_POST_PROCESSING_STACK_V2
577 | 26: UNITY_POST_PROCESSING_STACK_V2
578 | 27: UNITY_POST_PROCESSING_STACK_V2
579 | platformArchitecture: {}
580 | scriptingBackend: {}
581 | il2cppCompilerConfiguration: {}
582 | incrementalIl2cppBuild: {}
583 | allowUnsafeCode: 0
584 | additionalIl2CppArgs:
585 | scriptingRuntimeVersion: 0
586 | apiCompatibilityLevelPerPlatform: {}
587 | m_RenderingPath: 1
588 | m_MobileRenderingPath: 1
589 | metroPackageName: Template_3D
590 | metroPackageVersion:
591 | metroCertificatePath:
592 | metroCertificatePassword:
593 | metroCertificateSubject:
594 | metroCertificateIssuer:
595 | metroCertificateNotAfter: 0000000000000000
596 | metroApplicationDescription: Template_3D
597 | wsaImages: {}
598 | metroTileShortName:
599 | metroCommandLineArgsFile:
600 | metroTileShowName: 0
601 | metroMediumTileShowName: 0
602 | metroLargeTileShowName: 0
603 | metroWideTileShowName: 0
604 | metroDefaultTileSize: 1
605 | metroTileForegroundText: 2
606 | metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0}
607 | metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628,
608 | a: 1}
609 | metroSplashScreenUseBackgroundColor: 0
610 | platformCapabilities: {}
611 | metroFTAName:
612 | metroFTAFileTypes: []
613 | metroProtocolName:
614 | metroCompilationOverrides: 1
615 | tizenProductDescription:
616 | tizenProductURL:
617 | tizenSigningProfileName:
618 | tizenGPSPermissions: 0
619 | tizenMicrophonePermissions: 0
620 | tizenDeploymentTarget:
621 | tizenDeploymentTargetType: -1
622 | tizenMinOSVersion: 1
623 | n3dsUseExtSaveData: 0
624 | n3dsCompressStaticMem: 1
625 | n3dsExtSaveDataNumber: 0x12345
626 | n3dsStackSize: 131072
627 | n3dsTargetPlatform: 2
628 | n3dsRegion: 7
629 | n3dsMediaSize: 0
630 | n3dsLogoStyle: 3
631 | n3dsTitle: GameName
632 | n3dsProductCode:
633 | n3dsApplicationId: 0xFF3FF
634 | XboxOneProductId:
635 | XboxOneUpdateKey:
636 | XboxOneSandboxId:
637 | XboxOneContentId:
638 | XboxOneTitleId:
639 | XboxOneSCId:
640 | XboxOneGameOsOverridePath:
641 | XboxOnePackagingOverridePath:
642 | XboxOneAppManifestOverridePath:
643 | XboxOnePackageEncryption: 0
644 | XboxOnePackageUpdateGranularity: 2
645 | XboxOneDescription:
646 | XboxOneLanguage:
647 | - enus
648 | XboxOneCapability: []
649 | XboxOneGameRating: {}
650 | XboxOneIsContentPackage: 0
651 | XboxOneEnableGPUVariability: 0
652 | XboxOneSockets: {}
653 | XboxOneSplashScreen: {fileID: 0}
654 | XboxOneAllowedProductIds: []
655 | XboxOnePersistentLocalStorageSize: 0
656 | XboxOneXTitleMemory: 8
657 | xboxOneScriptCompiler: 0
658 | vrEditorSettings:
659 | daydream:
660 | daydreamIconForeground: {fileID: 0}
661 | daydreamIconBackground: {fileID: 0}
662 | cloudServicesEnabled:
663 | UNet: 1
664 | facebookSdkVersion: 7.9.4
665 | apiCompatibilityLevel: 2
666 | cloudProjectId:
667 | projectName: Template_3D
668 | organizationId:
669 | cloudEnabled: 0
670 | enableNativePlatformBackendsForNewInputSystem: 0
671 | disableOldInputManagerSupport: 0
672 |
--------------------------------------------------------------------------------
/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 2018.1.5f1
2 |
--------------------------------------------------------------------------------
/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 4
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Very Low
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | blendWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | particleRaycastBudget: 4
33 | asyncUploadTimeSlice: 2
34 | asyncUploadBufferSize: 4
35 | resolutionScalingFixedDPIFactor: 1
36 | excludedTargetPlatforms: []
37 | - serializedVersion: 2
38 | name: Low
39 | pixelLightCount: 0
40 | shadows: 0
41 | shadowResolution: 0
42 | shadowProjection: 1
43 | shadowCascades: 1
44 | shadowDistance: 20
45 | shadowNearPlaneOffset: 3
46 | shadowCascade2Split: 0.33333334
47 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
48 | shadowmaskMode: 0
49 | blendWeights: 2
50 | textureQuality: 0
51 | anisotropicTextures: 0
52 | antiAliasing: 0
53 | softParticles: 0
54 | softVegetation: 0
55 | realtimeReflectionProbes: 0
56 | billboardsFaceCameraPosition: 0
57 | vSyncCount: 0
58 | lodBias: 0.4
59 | maximumLODLevel: 0
60 | particleRaycastBudget: 16
61 | asyncUploadTimeSlice: 2
62 | asyncUploadBufferSize: 4
63 | resolutionScalingFixedDPIFactor: 1
64 | excludedTargetPlatforms: []
65 | - serializedVersion: 2
66 | name: Medium
67 | pixelLightCount: 1
68 | shadows: 1
69 | shadowResolution: 0
70 | shadowProjection: 1
71 | shadowCascades: 1
72 | shadowDistance: 20
73 | shadowNearPlaneOffset: 3
74 | shadowCascade2Split: 0.33333334
75 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
76 | shadowmaskMode: 0
77 | blendWeights: 2
78 | textureQuality: 0
79 | anisotropicTextures: 1
80 | antiAliasing: 0
81 | softParticles: 0
82 | softVegetation: 0
83 | realtimeReflectionProbes: 0
84 | billboardsFaceCameraPosition: 0
85 | vSyncCount: 1
86 | lodBias: 0.7
87 | maximumLODLevel: 0
88 | particleRaycastBudget: 64
89 | asyncUploadTimeSlice: 2
90 | asyncUploadBufferSize: 4
91 | resolutionScalingFixedDPIFactor: 1
92 | excludedTargetPlatforms: []
93 | - serializedVersion: 2
94 | name: High
95 | pixelLightCount: 2
96 | shadows: 2
97 | shadowResolution: 1
98 | shadowProjection: 1
99 | shadowCascades: 2
100 | shadowDistance: 40
101 | shadowNearPlaneOffset: 3
102 | shadowCascade2Split: 0.33333334
103 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
104 | shadowmaskMode: 1
105 | blendWeights: 2
106 | textureQuality: 0
107 | anisotropicTextures: 1
108 | antiAliasing: 2
109 | softParticles: 0
110 | softVegetation: 1
111 | realtimeReflectionProbes: 1
112 | billboardsFaceCameraPosition: 1
113 | vSyncCount: 1
114 | lodBias: 1
115 | maximumLODLevel: 0
116 | particleRaycastBudget: 256
117 | asyncUploadTimeSlice: 2
118 | asyncUploadBufferSize: 4
119 | resolutionScalingFixedDPIFactor: 1
120 | excludedTargetPlatforms: []
121 | - serializedVersion: 2
122 | name: Very High
123 | pixelLightCount: 3
124 | shadows: 2
125 | shadowResolution: 2
126 | shadowProjection: 1
127 | shadowCascades: 2
128 | shadowDistance: 40
129 | shadowNearPlaneOffset: 3
130 | shadowCascade2Split: 0.33333334
131 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
132 | shadowmaskMode: 1
133 | blendWeights: 4
134 | textureQuality: 0
135 | anisotropicTextures: 1
136 | antiAliasing: 4
137 | softParticles: 1
138 | softVegetation: 1
139 | realtimeReflectionProbes: 1
140 | billboardsFaceCameraPosition: 1
141 | vSyncCount: 1
142 | lodBias: 1.5
143 | maximumLODLevel: 0
144 | particleRaycastBudget: 1024
145 | asyncUploadTimeSlice: 2
146 | asyncUploadBufferSize: 4
147 | resolutionScalingFixedDPIFactor: 1
148 | excludedTargetPlatforms: []
149 | - serializedVersion: 2
150 | name: Ultra
151 | pixelLightCount: 4
152 | shadows: 2
153 | shadowResolution: 2
154 | shadowProjection: 1
155 | shadowCascades: 4
156 | shadowDistance: 150
157 | shadowNearPlaneOffset: 3
158 | shadowCascade2Split: 0.33333334
159 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
160 | shadowmaskMode: 1
161 | blendWeights: 4
162 | textureQuality: 0
163 | anisotropicTextures: 1
164 | antiAliasing: 4
165 | softParticles: 1
166 | softVegetation: 1
167 | realtimeReflectionProbes: 1
168 | billboardsFaceCameraPosition: 1
169 | vSyncCount: 1
170 | lodBias: 2
171 | maximumLODLevel: 0
172 | particleRaycastBudget: 4096
173 | asyncUploadTimeSlice: 2
174 | asyncUploadBufferSize: 4
175 | resolutionScalingFixedDPIFactor: 1
176 | excludedTargetPlatforms: []
177 | m_PerPlatformDefaultQuality:
178 | Android: 2
179 | Nintendo 3DS: 5
180 | Nintendo Switch: 5
181 | PS4: 5
182 | PSP2: 2
183 | Standalone: 5
184 | Tizen: 2
185 | WebGL: 3
186 | WiiU: 5
187 | Windows Store Apps: 5
188 | XboxOne: 5
189 | iPhone: 2
190 | tvOS: 2
191 |
--------------------------------------------------------------------------------
/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | - PostProcessing
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: 0.0167
7 | Maximum Allowed Timestep: 0.1
8 | m_TimeScale: 1
9 | Maximum Particle Timestep: 0.03
10 |
--------------------------------------------------------------------------------
/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | m_Enabled: 0
7 | m_TestMode: 0
8 | m_TestEventUrl:
9 | m_TestConfigUrl:
10 | m_TestInitMode: 0
11 | CrashReportingSettings:
12 | m_EventUrl: https://perf-events.cloud.unity3d.com/api/events/crashes
13 | m_NativeEventUrl: https://perf-events.cloud.unity3d.com/symbolicate
14 | m_Enabled: 0
15 | m_CaptureEditorExceptions: 1
16 | UnityPurchasingSettings:
17 | m_Enabled: 0
18 | m_TestMode: 0
19 | UnityAnalyticsSettings:
20 | m_Enabled: 1
21 | m_InitializeOnStartup: 1
22 | m_TestMode: 0
23 | m_TestEventUrl:
24 | m_TestConfigUrl:
25 | UnityAdsSettings:
26 | m_Enabled: 0
27 | m_InitializeOnStartup: 1
28 | m_TestMode: 0
29 | m_IosGameId:
30 | m_AndroidGameId:
31 | m_GameIds: {}
32 | m_GameId:
33 | PerformanceReportingSettings:
34 | m_Enabled: 0
35 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Unity Fish AI Experiment
2 |
3 | A Unity experiment in programming AI for fish in a tank.
4 |
5 | [](https://vimeo.com/280649279)
6 |
7 |
8 |
9 | ## Dev Requirements
10 |
11 | - Unity 2018.1.5
12 | - Git LFS (most Git clients will install this automatically when you clone this repo)
13 |
14 |
15 |
16 | ## Notes
17 |
18 | After openning the Unity project, open the following scene to try it out: `FishDemo/Scenes/SampleScene`
19 |
20 | The fish behavior is all defined in the file [`FishDemo/Scripts/Fish.cs`](Assets/FishDemo/Scripts/Fish.cs)
21 |
22 | While the app is running, be sure to take a look at the editor viewport. It will show some debugging aids in the form of colored lines that communicate what each fish is "seeing", when it detects an obstacle, and how it plans to avoid the obstacle.
23 |
24 | 
25 |
26 | *Debug aids as seen in the editor viewport during play.*
27 |
28 |
--------------------------------------------------------------------------------