diff --git a/README.md b/README.md index afe77b5d196648ceea60330424120638cd468425..a26734a596a38e30948de3e8f47c51554dc0548e 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,33 @@ -# Flocking Simulator +# **Flocking Simulator** -## Description +## **Contacts** + +* Étudiant : [Antoine NOLLET](mailto:antoine.nollet.etu@univ-lille.fr) +* Encadrant : [Jean-Christophe ROUTIER](mailto:jean-christophe.routier@univ-lille.fr) +* Responsable : [Cédric DUMOULIN](mailto:cedric.dumoulin@univ-lille.fr) + +## **Résumé** + +Il s'agit ici du dépôt [Gitlab](https://gitlab.univ-lille.fr/) du Projet Individuel d'[Antoine NOLLET](mailto:antoine.nollet.etu@univ-lille.fr) encadré par [Jean-Christophe ROUTIER](mailto:jean-christophe.routier@univ-lille.fr). + +Le Projet Individuel est effectué dans le cadre de l'Unité d'Enseignement Projet Individuel (UE PJI) du [Master 1 Sciences et Technologies mention Informatique](https://portail.fil.univ-lille1.fr/portail/index.php?dipl=MInfo&label=Pr%C3%A9sentation) (M1 INFO) de l'Université de Lille. Le responsable de cette UE PJI est [Cédric DUMOULIN](mailto:cedric.dumoulin@univ-lille.fr). + +L'étudiant [Antoine NOLLET](mailto:antoine.nollet.etu@univ-lille.fr) est ainsi inscrit au [M1 INFO parcours Réalité Virtuelle et Augmentée](https://portail.fil.univ-lille1.fr/portail/index.php?dipl=MInfo&sem=RVA&ue=ACCUEIL&label=Pr%C3%A9sentation) durant l'année 2021-2022. + +L'objectif du projet est d'accompagner un mémoire qui étudie le modèle de flocking des BOIDS initialement défini par [C. Reynolds](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.480.9232&rep=rep1&type=pdf). Après avoir reproduit ce modèle à travers une simulation 2D et 3D, il s'agira de vérifier l'extension de ce modèle présenté dans un [article scientifique](http://diposit.ub.edu/dspace/bitstream/2445/34511/1/577311.pdf) en vérifiant expérimentalement les résultats qui sont présentés. + +## **Contenu** + +* [**./src**](./src/) : dossier contenant le code du projet +* [**./comptes-rendus**](./comptes-rendus/) : dossier contenant les comptes-rendus du projet +* [**README.md**](README.md) : le document que vous lisez + +## **Journal de Bord** + +Vous pouvez consulter le journal de bord en cliquant [ici](./comptes-rendus/journal-de-bord/menu.md). + +## **Documentation Technique** + +Vous pouvez consulter la documentation technique du projet en cliquant [ici](./comptes-rendus/documentation-technique/doc.md). diff --git a/comptes-rendus/documentation-technique/doc.md b/comptes-rendus/documentation-technique/doc.md new file mode 100755 index 0000000000000000000000000000000000000000..39ce662ad3e460a1b74fad18092be77b0f3fd1c2 --- /dev/null +++ b/comptes-rendus/documentation-technique/doc.md @@ -0,0 +1,3 @@ +# Documentation Technique : Flocking Simulator + +[**↩️ Retour à l'accueil**](../../README.md) \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/final/lundi.md b/comptes-rendus/journal-de-bord/final/lundi.md new file mode 100755 index 0000000000000000000000000000000000000000..25ad51ff7b051e66e92bcd89b7ffabe0c4fc864a --- /dev/null +++ b/comptes-rendus/journal-de-bord/final/lundi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 21 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 13/06/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/final/mardi.md b/comptes-rendus/journal-de-bord/final/mardi.md new file mode 100755 index 0000000000000000000000000000000000000000..05cd4af8fa7f9aec9ef174427cefc38d2598b5da --- /dev/null +++ b/comptes-rendus/journal-de-bord/final/mardi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 22 - Jour Final + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 14/06/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/final/menu.md b/comptes-rendus/journal-de-bord/final/menu.md new file mode 100755 index 0000000000000000000000000000000000000000..51c59181c290c0abb3b6bc10c1fe67390c70d380 --- /dev/null +++ b/comptes-rendus/journal-de-bord/final/menu.md @@ -0,0 +1,11 @@ +# Journal de Bord - Semaine Fin + +[↩️ Retour au Journal de Bord](../menu.md) + +La fin du Projet a eu lieu du 13/06/2022 au 14/06/2022. + +Vous pouvez ici accéder aux comptes rendus de chaque jour. + +* [Lundi 13 Juin 2022](lundi.md) +* [Mardi 14 Juin 2022](mardi.md) + diff --git a/comptes-rendus/journal-de-bord/menu.md b/comptes-rendus/journal-de-bord/menu.md new file mode 100755 index 0000000000000000000000000000000000000000..9dcfad4b01624e1fdd348119370940ad754e4289 --- /dev/null +++ b/comptes-rendus/journal-de-bord/menu.md @@ -0,0 +1,13 @@ +# Journal de Bord + +[↩️ Retour à l'accueil](../../README.md) + +Le PJI a eu lieu du 16/05/2022 au 14/06/2022. + +Vous pouvez ici accéder aux comptes rendus de chaque semaine. + +* [Semaine 1](./semaine1/menu.md) : du 16/05/2022 au 20/05/2022 +* [Semaine 2](./semaine2/menu.md) : du 23/05/2022 au 27/05/2022 +* [Semaine 3](./semaine3/menu.md) : du 30/05/2022 au 03/06/2022 +* [Semaine 4](./semaine4/menu.md) : du 06/06/2022 au 10/06/2022 +* [Fin du Projet](./final/menu.md) : du 13/06/2022 au 14/06/2022 \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine1/jeudi.md b/comptes-rendus/journal-de-bord/semaine1/jeudi.md new file mode 100755 index 0000000000000000000000000000000000000000..732997bb94ddf21d65c6b5b25eff9bed86355f34 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine1/jeudi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 4 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 19/05/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine1/lundi.md b/comptes-rendus/journal-de-bord/semaine1/lundi.md new file mode 100755 index 0000000000000000000000000000000000000000..3427f570b3ae47bf715647968a9f85a1bd09ad5e --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine1/lundi.md @@ -0,0 +1,23 @@ +# Journal de Bord - Jour 1 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 16/05/2022. + +## De 8h30 à 10h + +* Relecture de l'[article scientifique](../../../media/paper.pdf) qu'on voudra tester + +## de 10h à 12h + +* Écriture résumé de l'[article scientifique](../../../media/paper.pdf) +* Organisation de la structure du dépôt Git du projet (création des .md) + +## de 14h à 16h + +* Lecture des particularités du langage c# pour faire de l'orienté objet +* Écriture du code (voir la v0 de la scène) + +## de 16h à 18h + +* Écriture du code \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine1/mardi.md b/comptes-rendus/journal-de-bord/semaine1/mardi.md new file mode 100755 index 0000000000000000000000000000000000000000..5614fe18c2b670d9b8e2d813a3fbb5a620168285 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine1/mardi.md @@ -0,0 +1,17 @@ +# Journal de Bord - Jour 2 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 17/05/2022. + +## De 8h30 à 10h + +* Écriture du code, compréhension des particularités unity-c# + +## de 10h à 12h + +* Écriture du code, compréhension des particularités unity-c# + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine1/menu.md b/comptes-rendus/journal-de-bord/semaine1/menu.md new file mode 100755 index 0000000000000000000000000000000000000000..3f57f1894a4d871940f3ba3e9f8f557b651c1030 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine1/menu.md @@ -0,0 +1,14 @@ +# Journal de Bord - Semaine 1 + +[↩️ Retour au Journal de Bord](../menu.md) + +La Semaine 1 a eu lieu du 16/05/2022 au 20/05/2022 + +Vous pouvez ici accéder aux comptes rendus de chaque jour. + +* [Lundi 16 Mai 2022](lundi.md) +* [Mardi 17 Mai 2022](mardi.md) +* [Mercredi 18 Mai 2022](mercredi.md) +* [Jeudi 19 Mai 2022](jeudi.md) +* [Vendredi 20 Mai 2022](vendredi.md) + diff --git a/comptes-rendus/journal-de-bord/semaine1/mercredi.md b/comptes-rendus/journal-de-bord/semaine1/mercredi.md new file mode 100755 index 0000000000000000000000000000000000000000..d753f1af20d01f311f3df14bbb26554ddcf3c31f --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine1/mercredi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 3 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 18/05/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine1/vendredi.md b/comptes-rendus/journal-de-bord/semaine1/vendredi.md new file mode 100755 index 0000000000000000000000000000000000000000..b5dde3638021f6f4173577e009530b4c8777b01b --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine1/vendredi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 5 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 20/05/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine2/jeudi.md b/comptes-rendus/journal-de-bord/semaine2/jeudi.md new file mode 100755 index 0000000000000000000000000000000000000000..e6a965df249871d12fdb1326d660aa5ac66638e9 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine2/jeudi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 9 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 26/05/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine2/lundi.md b/comptes-rendus/journal-de-bord/semaine2/lundi.md new file mode 100755 index 0000000000000000000000000000000000000000..569cde4528ff429d81feb1447e44efc54220cedb --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine2/lundi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 6 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 23/05/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine2/mardi.md b/comptes-rendus/journal-de-bord/semaine2/mardi.md new file mode 100755 index 0000000000000000000000000000000000000000..2251e5e6124c7f07afa884417dab1347467decc5 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine2/mardi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 7 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 24/05/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine2/menu.md b/comptes-rendus/journal-de-bord/semaine2/menu.md new file mode 100755 index 0000000000000000000000000000000000000000..374bd85e25b5410963bef6bfde0d853e6d264ec4 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine2/menu.md @@ -0,0 +1,14 @@ +# Journal de Bord - Semaine 2 + +[↩️ Retour au Journal de Bord](../menu.md) + +La Semaine 2 a eu lieu du 23/05/2022 au 27/05/2022 + +Vous pouvez ici accéder aux comptes rendus de chaque jour. + +* [Lundi 23 Mai 2022](lundi.md) +* [Mardi 24 Mai 2022](mardi.md) +* [Mercredi 25 Mai 2022](mercredi.md) +* [Jeudi 26 Mai 2022](jeudi.md) +* [Vendredi 27 Mai 2022](vendredi.md) + diff --git a/comptes-rendus/journal-de-bord/semaine2/mercredi.md b/comptes-rendus/journal-de-bord/semaine2/mercredi.md new file mode 100755 index 0000000000000000000000000000000000000000..39ad556ce3908167df27909207c6a48dbc055e51 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine2/mercredi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 8 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 25/05/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine2/vendredi.md b/comptes-rendus/journal-de-bord/semaine2/vendredi.md new file mode 100755 index 0000000000000000000000000000000000000000..64b0be8145ce7b15b6d460ca4246994bc5255fe7 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine2/vendredi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 10 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 27/05/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine3/jeudi.md b/comptes-rendus/journal-de-bord/semaine3/jeudi.md new file mode 100755 index 0000000000000000000000000000000000000000..af087466a4c04070b1d232fd753cc49063be7b24 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine3/jeudi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 14 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 02/06/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine3/lundi.md b/comptes-rendus/journal-de-bord/semaine3/lundi.md new file mode 100755 index 0000000000000000000000000000000000000000..9f059a608fdf58446c01e942e53e7d507d45c760 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine3/lundi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 11 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 30/05/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine3/mardi.md b/comptes-rendus/journal-de-bord/semaine3/mardi.md new file mode 100755 index 0000000000000000000000000000000000000000..eec52e93c5c4e4a53b0aa70fdd623814afa92e5b --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine3/mardi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 12 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 31/05/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine3/menu.md b/comptes-rendus/journal-de-bord/semaine3/menu.md new file mode 100755 index 0000000000000000000000000000000000000000..78cc071d9ecb18905b53b3b08dc55b3fe26e13ee --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine3/menu.md @@ -0,0 +1,14 @@ +# Journal de Bord - Semaine 3 + +[↩️ Retour au Journal de Bord](../menu.md) + +La Semaine 3 a eu lieu du 30/05/2022 au 03/06/2022 + +Vous pouvez ici accéder aux comptes rendus de chaque jour. + +* [Lundi 30 Mai 2022](lundi.md) +* [Mardi 31 Mai 2022](mardi.md) +* [Mercredi 01 Juin 2022](mercredi.md) +* [Jeudi 02 Juin 2022](jeudi.md) +* [Vendredi 03 Juin 2022](vendredi.md) + diff --git a/comptes-rendus/journal-de-bord/semaine3/mercredi.md b/comptes-rendus/journal-de-bord/semaine3/mercredi.md new file mode 100755 index 0000000000000000000000000000000000000000..c40abd58995cdd21eca5d16e5ec8a3fc211ac1e8 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine3/mercredi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 13 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 01/06/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine3/vendredi.md b/comptes-rendus/journal-de-bord/semaine3/vendredi.md new file mode 100755 index 0000000000000000000000000000000000000000..cb8d9d13f5ee8d83bb403154b8c4e02ee713f87e --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine3/vendredi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 15 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 03/06/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine4/jeudi.md b/comptes-rendus/journal-de-bord/semaine4/jeudi.md new file mode 100755 index 0000000000000000000000000000000000000000..fcdc29ee15d0bcf005d774f1f0695d701a4fedfe --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine4/jeudi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 19 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 09/05/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine4/lundi.md b/comptes-rendus/journal-de-bord/semaine4/lundi.md new file mode 100755 index 0000000000000000000000000000000000000000..29384113d9729970e40491dd2d44be9ad89c77c9 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine4/lundi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 16 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 06/06/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine4/mardi.md b/comptes-rendus/journal-de-bord/semaine4/mardi.md new file mode 100755 index 0000000000000000000000000000000000000000..c968c6744506f00110c8b06857c13d9cd9963642 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine4/mardi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 17 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 07/06/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine4/menu.md b/comptes-rendus/journal-de-bord/semaine4/menu.md new file mode 100755 index 0000000000000000000000000000000000000000..bb66494b7bd02f925ed52394ed60adaa88f727f7 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine4/menu.md @@ -0,0 +1,14 @@ +# Journal de Bord - Semaine 4 + +[↩️ Retour au Journal de Bord](../menu.md) + +La Semaine 1 a eu lieu du 06/06/2022 au 10/06/2022 + +Vous pouvez ici accéder aux comptes rendus de chaque jour. + +* [Lundi 06 Juin 2022](lundi.md) +* [Mardi 07 Juin 2022](mardi.md) +* [Mercredi 08 Juin 2022](mercredi.md) +* [Jeudi 09 Juin 2022](jeudi.md) +* [Vendredi 10 Juin 2022](vendredi.md) + diff --git a/comptes-rendus/journal-de-bord/semaine4/mercredi.md b/comptes-rendus/journal-de-bord/semaine4/mercredi.md new file mode 100755 index 0000000000000000000000000000000000000000..4050f5539f39726feebe714f1e2f09ec66d66ea6 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine4/mercredi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 18 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 08/06/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/comptes-rendus/journal-de-bord/semaine4/vendredi.md b/comptes-rendus/journal-de-bord/semaine4/vendredi.md new file mode 100755 index 0000000000000000000000000000000000000000..db00197deb3a21674766d19c8f437621b0ce1923 --- /dev/null +++ b/comptes-rendus/journal-de-bord/semaine4/vendredi.md @@ -0,0 +1,13 @@ +# Journal de Bord - Jour 20 + +[↩️ Retour au Journal de Bord de la Semaine](./menu.md) + +Voici ici le descriptif du travail effectué lors de la journée du 10/06/2022. + +## De 8h30 à 10h + +## de 10h à 12h + +## de 14h à 16h + +## de 16h à 18h \ No newline at end of file diff --git a/media/lecture-article.txt b/media/lecture-article.txt new file mode 100755 index 0000000000000000000000000000000000000000..e4532190fb255524b3cdffd5a6bf8f667bd9bf14 --- /dev/null +++ b/media/lecture-article.txt @@ -0,0 +1,137 @@ +Citation : + +2010 Leadership in Flocking +[Vicenç Quera, Francesc S. Beltran, Ruth Dolado ] + +Lien : + +http://diposit.ub.edu/dspace/bitstream/2445/34511/1/577311.pdf + +Mots clés : + + - Flocking Behaviour + - Hierarchical Leadership + - Agent-Based Simulation + - Social Dynamics + +Structure : + + 1. Abstract + Étude de l'émergence de meneur comme résultat d'interactions inter-agents + Il est supposé que les meneurs seraient une conséquence d'interactions entre agents basées sur des règles dyadic. + Utilisation du comportement de nuée, exemple de comportement de groupe, dont les propriétés observés peuvent expliquer quelques unes + des dynamiques et organisations humaines + Generation de nué, on récolte les indices des agents pour interpreter le mouvement du groupe et interpréter s'il y a un leader actuel + Plusieurs tests, afin de tester le model, et voir comment la définition de l'agent et les conditions du monde + influent sur les fluctuations des indices. + Identification des agents, propriété monde, paramètre de modèle, qui rende stable la nuée et qui + rende possible l'analyse des propriétés d'environnements qui prédictent la probabilité d'emergence de meneur. + 2. Introduction + - Sociologie, sciences po, management, psycologie + - le but est d'étudier l'émergence de leader comme conséquence d'interactions entre agents, qui + ont les mêmes propriétés (aucun est prédominant) + Seuls les interactions entre agents mènent à la nuée et au meneur + - Explication du comportement de nuée, Reynold cité + - Nuée est comportement de group auto-organisé, provoqué par règles simple entre agent + Parallèle avec certains comportements de groupes humains (basées sur observation et analyse, non sur anticipation et croyance) + - implementation de nuée, différent de Reynold, résulte de dyadic interactions rules. + 2 types indices, nuée globale et nuée menée + Tests du comportement du modèle, des propriétés agents et environnement + model param qui favorise floacking + Description de l'emergence de meneur et tentative de lien avec les prop d'environnement et la situation du meneur (position) + Description probabilité de l'agent de devenir meneur + 3. Modelling Flock Emergence + - mouvement de coordonnées, Utilisation de P-Flock 2.0 (C et Delphi) et dyadic rule + a. World and Agents + world : 2D discret, cases capacité 1 agent + agent : a des coordonnées de position et un vecteur direction + l'agent a un champ de perception centré par sa direction. + ses mouvements sont contraints par son voisinages + (Moor et Von Neumann à plusieurs diametre possibles) + b. Ideal Distances and Dissatisfaction + définission de la distance idéal entre les agents qui peut changer selon le contexte, + l'agent voudra se déplacer avec son voisinage + l'agent pourra quantifier son mécontentement dans une situation selon un voisinage donnée, + il voudra faire le mouvement qui minimisera son mécontentement futur + Les agents qui n'ont pas de cases spécifique pour réduire leur mécontentement, bougeront aléatoirement après que ceux + qui avaient l'occasion de faire baisser leur mécontentement aient bougé + c. Flock Synthesis Rules + Distance idéale varie selon les interactions entre agents, interactions basées sur des règles, les régles de synthèse de nuée + les règles : + - se déplacement intialement de manière aléatoire + - quand un agent croise un autre et que leurs distances est inférieur ou égale à une certaine valeur, + alors il détermine une distance idéale qui les rapproche de manière aléatoire + - 2 manières de déterminer le futur déplacement : + - douce : s'adapter au déplacement de l'autre, il se déplacera selon son voisinage pour minimiser son mécontentement + et considéra le déplacement qui le rapprochera de la distance idéal avec l'autre, en considérant qu'il ne bougera pas + L'agent s'eloignera donc ou s'approchera, selon la distance réelle et la distance idéal determinée. + Si après mouvement on a un mécontentement supérieure à celui prévu, on parle de sous-adaptage. S'il est inférieur à celui prévu, sur-adaptage. Si égale, parfaitement adapté + 2 cas : a. approcher et sousadapté, b. éloigner et suradapté + a. augmenter la distance idéal est pénalité + b. augmenter la distance idéal est récompense + + En gros, si overadapted le mouvement est cool et on continue, sinon pas cool on continue pas + - brut : si trop de stagnation ou trop d'isolation + Des paramètres + les agents intéragissent avec d'autre si dans le champ de perception, l'autre agent n'interagit pas forcément si ne voit pas le premier agent + si l'agent considère plusieurs agents, alors il déterminera la distance idéale de manière indépendante pour chaque agent + Démo sur le site, on peut pause, play, slow down... On enregistre les positions, les directions, les distances idéales etles indices de nuée et de menage + 4. Quantifying Floacking + - indice nué : analyse des positions dans le temps + - nué grande si headings en communs et distances assez proches, sinon petite + - on observe le tout et determine l'indice globale de nué selon les nuées observés + 5. An Index of Hierarchical Flock Leadership + - lorsqu'il y a nué, on observe souvent un leader. Leader qui donne sa direction aux autres + (il ne voit pas les autres mais les autres le voit et le suit) + - matrice sociale : un graph où les agents sont des noeuds et avec arêtes orientés selon les autres agents perçues + - leader vu et suivi par certains qui eux sont suivi par certains qui eux ... Le leader n'a pas forcément le plus haut degré + Avoir un degré nul ne suffit pas pour être leader, il faut être suivi... + - rang de prestige : notre prestige augmente si on est suivi par d'autre plus ou moins prestige + - si boucle, utiliser des substitue de valeurs + - le poids est le dyadic indice de nuée, ainsi l'indice de menage correspond au degré de mouvement coordonné de la nué. Si nué compact avec même heading, + l'indice de menage sera haut. Quand désordonné, pas beaucoup de nué, alors pas beaucoup de menage. + - différence avec effective leadership (effective explique le mouvement, le Hierarchical est une observation extérieur) + Avoir un meneur n'explique pas le mouvement, c'est les règles des agents qui le définisse + a. An Example + - 8 agents positionnés, on voit leur direction et qui ils perçoivent + - analyse des indices de nué (matrice avec des 1 si même direction entre 2 agents) + - on constate le leader + 6. Method + - Les tests. 2 series de simulations : + - identifier conditions environnements (taille), conditions agent (champ de vision) et + paramètre des interactions qui font émerger le mouvement de nué. + - analyse des leaders et essaie de déterminer la probabilité selon position initiale de devenir leader + a. Flock Emergence + - diverses tailles de mondes, 20 agents, perception entre 3pi/2 et 60 et utilisation + du voisinage de Moore de diametre 3. Dispersé équitablement dans l'espace et même direction, + Simulation fait 20000 itérations. On répéte 4 fois la simulation selon la taille + - Résultats : grand monde, pas de nué. trop petit monde, trop d'interactions, nué pas stable. + Une taille relativement petite (150x120) est vu comme optimal pour 20 agents. + - On change la perception, on garde le reste, on fait tourner tout pareil qu'avant, (60, 6π/4) and (80, 5π/4) sont les meilleurs perceptions. + En relançant les simulations avec ces perceptions et le reste des critères sauf qu'on affecte aléatoirement les positions et les directions, la nuée est stable + - Simulations pour obtenir les paramètres des interactions + - Avec les résultats obtenue, on effectue 100 simulations qui tourne 20000 étapes avec affectation aléatoire des positions et directions, 72% de chance d'obtenir la nuée. + - lorsque nué stable, pas de patron général de comportement de la nuée stable + b. Flock Leadership + - le leader sera celui avec l'indice le plus grand, même s'il y a plusieurs nuées. + Un seul leader stable à la fois. + - deux ensembles de simulations, les stables (72%) et pas stables (28%) + On observe les affectations de meneur et lorsque la nué est stable, le leader l'est aussi. Sinon, le leader change beaucoup de fois + c. Centrality and Leadership + - hypothèse de la centralité qui cause le meneur + - centralité : à partir d'un agent, somme des vecteurs menants aux autres, si somme nulle, agent centré + - après tests avec 292 leaders observés, la position n'influe pas le leader + 7. Discussion and Conclusions + - Le modèle crée une nuée comme celui de Reynold sans utiliser le même principe. Ici, adaptation aux agents rencontrés, pénalité et récompense, + minimisation du mécontentement produisent le mouvement de nuée. Les règles des agents ne le prévoient pas, c'est une conséquence de celles ci. + - Lorsque le mouvement de nué est produit, on constate des leaders stables. Les règles des agents ne le prévoient pas non plus, c'est également un phénomène emergeant. + - Indices de nuée et de meneur avec utilisation de graphes sociaux. + - Beaucoup de variations de paramètres possibles, l'objectif était de trouver lesquels favorisaient l'émergence de nué. 3 conclusions : + - monde grand, quand nuée, la nuée est stable + - les nuées les plus compactes et stables sont apparus lorsque grande vision et petit objectif, + - avec les paramètres optimaux trouvé, 72% de chance d'avoir une nuée + - lorsque nuée stable, le leader le sera aussi. la position de l'agent leader n'a pas d'incidence apparente dans le fait de devenir leader. + - Possibilité de suite en 3D, possibilité de suite dans l'analyse d'émergeance de leaders + +Commentaires : + +Intéressant comme phénomène ! \ No newline at end of file diff --git a/media/paper.pdf b/media/paper.pdf new file mode 100755 index 0000000000000000000000000000000000000000..896c3a8b22120c95ef4e14d8c722e5b001de2a9e Binary files /dev/null and b/media/paper.pdf differ diff --git a/media/reynolds.pdf b/media/reynolds.pdf new file mode 100755 index 0000000000000000000000000000000000000000..29d3ead07c2b1cc02ec83e754178c3e2e7449ed7 Binary files /dev/null and b/media/reynolds.pdf differ diff --git a/src/Assets/Boid.prefab b/src/Assets/Boid.prefab deleted file mode 100755 index d6933ad8e79f86aaf32e76881f0e437c32f9c1e6..0000000000000000000000000000000000000000 --- a/src/Assets/Boid.prefab +++ /dev/null @@ -1,300 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!1 &437517194170826549 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 3255089734447956989} - - component: {fileID: 1274723212690861014} - - component: {fileID: 6428507427308703938} - - component: {fileID: 2073586004525875113} - m_Layer: 0 - m_Name: Cylinder - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &3255089734447956989 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 437517194170826549} - m_LocalRotation: {x: -0.5192311, y: 0.4799991, z: 0.5192311, w: 0.4799991} - m_LocalPosition: {x: 0.02, y: -0.11, z: -0.03} - m_LocalScale: {x: 0.44719383, y: 1.7489846, z: 0.4350196} - m_Children: [] - m_Father: {fileID: 8965968834670266038} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -94.496994, y: 89.99999, z: 0} ---- !u!33 &1274723212690861014 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 437517194170826549} - m_Mesh: {fileID: 10206, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &6428507427308703938 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 437517194170826549} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!136 &2073586004525875113 -CapsuleCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 437517194170826549} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - m_Radius: 0.50000036 - m_Height: 2 - m_Direction: 1 - m_Center: {x: 0.000000029802326, y: 0, z: -0.00000005960467} ---- !u!1 &6503597824548460142 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 7021844916232508048} - - component: {fileID: 3037028539180812241} - - component: {fileID: 7478878501271007588} - - component: {fileID: 5023922831713910363} - m_Layer: 0 - m_Name: Capsule - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &7021844916232508048 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6503597824548460142} - m_LocalRotation: {x: 0.49605432, y: 0.50391483, z: 0.49605432, w: 0.50391483} - m_LocalPosition: {x: -0.07, y: -0.01, z: 0.418} - m_LocalScale: {x: 0.09107, y: 0.33664638, z: 0.5} - m_Children: [] - m_Father: {fileID: 8965968834670266038} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 90.00001, z: 89.09901} ---- !u!33 &3037028539180812241 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6503597824548460142} - m_Mesh: {fileID: 10208, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &7478878501271007588 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6503597824548460142} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!136 &5023922831713910363 -CapsuleCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 6503597824548460142} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - m_Radius: 0.50000024 - m_Height: 2 - m_Direction: 1 - m_Center: {x: -0.000000029802347, y: 0, z: 0.00000002980234} ---- !u!1 &8965968834670266037 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 8965968834670266038} - - component: {fileID: 8965968834670266033} - - component: {fileID: 8965968834670266032} - - component: {fileID: 8965968834670266039} - - component: {fileID: 8965968834670266034} - m_Layer: 0 - m_Name: Boid - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &8965968834670266038 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8965968834670266037} - m_LocalRotation: {x: 0, y: -0.7071068, z: 0, w: 0.7071068} - m_LocalPosition: {x: 0.21321096, y: 1, z: -0.17667253} - m_LocalScale: {x: 0.5, y: 0.5, z: 1.2} - m_Children: - - {fileID: 3255089734447956989} - - {fileID: 7021844916232508048} - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: -90, z: 0} ---- !u!33 &8965968834670266033 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8965968834670266037} - m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &8965968834670266032 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8965968834670266037} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 10303, guid: 0000000000000000f000000000000000, type: 0} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 1 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 ---- !u!135 &8965968834670266039 -SphereCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8965968834670266037} - m_Material: {fileID: 0} - m_IsTrigger: 0 - m_Enabled: 1 - serializedVersion: 2 - m_Radius: 0.5 - m_Center: {x: 0, y: 0, z: 0} ---- !u!114 &8965968834670266034 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 8965968834670266037} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 569ca68f350b4a14f8619ace3abb92bc, type: 3} - m_Name: - m_EditorClassIdentifier: - direction: {x: 0, y: 0, z: 0} - speed: 0 diff --git a/src/Assets/Boid.prefab.meta b/src/Assets/Boid.prefab.meta deleted file mode 100755 index 56acd476a0d7d65380817366204decd22ccffd82..0000000000000000000000000000000000000000 --- a/src/Assets/Boid.prefab.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: ecfb92997fb6674468149566eb767e2c -PrefabImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Assets/Environnement.cs b/src/Assets/Environnement.cs deleted file mode 100755 index e6e09d5731b17ce20094feb531997afdd4a7ccda..0000000000000000000000000000000000000000 --- a/src/Assets/Environnement.cs +++ /dev/null @@ -1,49 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; - -public class Environnement : MonoBehaviour -{ - - public int minX; - public int minY; - public int minZ; - public int maxX; - public int maxY; - public int maxZ; - public bool _3D; - public bool globalSpeed; - public float speed; - public bool RaynoldEscape; - public int RaynoldEscapeTresh; - public bool RaynoldTogether; - public int RaynoldTogetherTresh; - public bool RaynoldFollow; - public int RaynoldFollowTresh; - - // Start is called before the first frame update - void Start() - { - _3D = true; - globalSpeed = true; - speed = 1.2f; - minX = -30; - minY = 0; - minZ = -15; - maxX = 30; - maxY = 50; - maxZ = 15; - RaynoldEscape = false ; - RaynoldEscapeTresh = 1; - RaynoldTogether = false ; - RaynoldTogetherTresh = 3; - RaynoldFollow = false ; - RaynoldFollowTresh = 5; - } - - // Update is called once per frame - void Update() - { - - } -} \ No newline at end of file diff --git a/src/Assets/Environnement.cs.meta b/src/Assets/Environnement.cs.meta deleted file mode 100755 index 5bc766b8dd9ec26ff7108324f108b2e11c1273d0..0000000000000000000000000000000000000000 --- a/src/Assets/Environnement.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: e6b1cf67504415c4686b3faeea17770e -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Assets/Flocking.cs b/src/Assets/Flocking.cs deleted file mode 100755 index 63084fc76a25195b3f2dad75891567fb7b2cfd11..0000000000000000000000000000000000000000 --- a/src/Assets/Flocking.cs +++ /dev/null @@ -1,161 +0,0 @@ -using System.Collections; -using System.Collections.Generic; -using UnityEngine; -using System; - -public class Flocking : MonoBehaviour -{ - - private Environnement env; - public Vector3 direction; - public float speed; - private bool _3D; - public Component[] birds; - private List<Vector3> nextDirections = new List<Vector3>(); - - // Start is called before the first frame update - void Start() - { - env = GameObject.Find("SMA").GetComponent<Environnement>(); - direction = randomDirection(); - speed = 1.2f; - _3D = env._3D; - birds = env.GetComponentsInChildren<Flocking>(); - } - - // Update is called once per frame - void Update() - { - if(env._3D != _3D) { - _3D = env._3D; - direction = randomDirection(); - } - setDirection(); - move(); - } - - Vector3 randomDirection() { - - float x = 0.0f; - float y = 0.0f; - float z = 0.0f; - int r; - if(env._3D) { - for(int i = 0; i<10; i++) { - r = UnityEngine.Random.Range(0,3); - if (r == 0) x += 1.0f; - else if (r == 1) y += 1.0f; - else z += 1.0f; - } - } - else { - for(int i = 0; i<10; i++) { - r = UnityEngine.Random.Range(0,2); - if (r == 0) x += 1.0f; - else y += 1.0f; - } - } - if(UnityEngine.Random.Range(1,3) > 1) x = -x; - if(UnityEngine.Random.Range(1,3) > 1) y = -y; - if(UnityEngine.Random.Range(1,3) > 1) z = -z; - - return normalizedVector(x,y,z); - } - - Vector3 normalizedVector(float x, float y, float z) { - return (new Vector3(x,y,z)).normalized; - } - - Vector3 meanVector(List<Vector3> vectors) { - Vector3 res = Vector3.zero; - for(int i = 0; i<vectors.Count; i++) { - res += vectors[i]; - } - res = res/vectors.Count; - return res.normalized; - } - - void setDirection() { - nextDirections.Clear(); - environnement(); - List<Component> neighbours = neighbourhood(); - if(env.RaynoldEscape) raynoldEscape(neighbours); - if(env.RaynoldFollow) raynoldFollow(neighbours); - if(env.RaynoldTogether) raynoldTogether(neighbours); - direction = meanVector(nextDirections); - } - - List<Component> neighbourhood() { - List<Component> neighbours = new List<Component>(); - float dist; - Vector3 link; - Flocking bird; - for(int i=0; i<birds.Length; i++) { - bird = (Flocking) birds[i]; - link = bird.transform.position - transform.position; - dist = (float) Math.Sqrt(Math.Pow(link.x,2) + Math.Pow(link.y,2) + Math.Pow(link.z,2)); - if(bird != this && dist < env.RaynoldFollowTresh) neighbours.Add(birds[i]); - } - return neighbours; - } - - void raynoldEscape(List<Component> neighbours) { - Vector3 res = Vector3.zero; - float dist; - Vector3 link; - Flocking bird; - for(int i=0; i<neighbours.Count; i++) { - bird = (Flocking) neighbours[i]; - link = bird.transform.position - transform.position; - dist = (float) Math.Sqrt(Math.Pow(link.x,2) + Math.Pow(link.y,2) + Math.Pow(link.z,2)); - if(bird != this && dist < env.RaynoldEscapeTresh) res -= link; - } - nextDirections.Add(normalizedVector(res.x,res.y,res.z)); - } - - void raynoldFollow(List<Component> neighbours) { - Vector3 res = Vector3.zero; - float dist; - Vector3 link; - Flocking bird; - for(int i=0; i<neighbours.Count; i++) { - bird = (Flocking) neighbours[i]; - link = bird.transform.position - transform.position; - dist = (float) Math.Sqrt(Math.Pow(link.x,2) + Math.Pow(link.y,2) + Math.Pow(link.z,2)); - if(bird != this && dist < env.RaynoldFollowTresh && dist >= env.RaynoldTogetherTresh) res += link; - } - nextDirections.Add(normalizedVector(res.x,res.y,res.z)); - } - - void raynoldTogether(List<Component> neighbours) { - Vector3 res = Vector3.zero; - float dist; - Vector3 link; - Flocking bird; - for(int i=0; i<neighbours.Count; i++) { - bird = (Flocking) neighbours[i]; - link = bird.transform.position - transform.position; - dist = (float) Math.Sqrt(Math.Pow(link.x,2) + Math.Pow(link.y,2) + Math.Pow(link.z,2)); - if(bird != this && dist < env.RaynoldTogetherTresh && dist >= env.RaynoldEscapeTresh) res += bird.direction; - } - nextDirections.Add(normalizedVector(res.x,res.y,res.z)); - } - - void environnement() { - Vector3 res = Vector3.zero; - res += direction; - if(transform.position.x < env.minX || transform.position.x > env.maxX) res.x = -direction.x; - if(transform.position.y < env.minY || transform.position.y > env.maxY) res.y = -direction.y; - if(transform.position.z < env.minZ || transform.position.z > env.maxZ) res.z = -direction.z; - nextDirections.Add(res); - } - - void move() { - float s; - if(env.globalSpeed) s = env.speed; else s = speed; - transform.position += s*direction; - transform.LookAt(transform.position + s*direction); - } - - -} diff --git a/src/Assets/Flocking.cs.meta b/src/Assets/Flocking.cs.meta deleted file mode 100755 index 2cb3693f4f5bbde06476adc3ae55709c01d97269..0000000000000000000000000000000000000000 --- a/src/Assets/Flocking.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: 569ca68f350b4a14f8619ace3abb92bc -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Assets/Scenes.meta b/src/Assets/Scenes.meta deleted file mode 100755 index df95cf6beb1e5fa6b171446e17170808cbd9a233..0000000000000000000000000000000000000000 --- a/src/Assets/Scenes.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: fb44d5370e6065d42932be2ab49c851d -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/Assets/Scenes/SampleScene.unity b/src/Assets/Scenes/SampleScene.unity deleted file mode 100755 index 4a82fc07ea327d41f3a291551cf4fefc43f8c209..0000000000000000000000000000000000000000 --- a/src/Assets/Scenes/SampleScene.unity +++ /dev/null @@ -1,1870 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!29 &1 -OcclusionCullingSettings: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_OcclusionBakeSettings: - smallestOccluder: 5 - smallestHole: 0.25 - backfaceThreshold: 100 - m_SceneGUID: 00000000000000000000000000000000 - m_OcclusionCullingData: {fileID: 0} ---- !u!104 &2 -RenderSettings: - m_ObjectHideFlags: 0 - serializedVersion: 9 - m_Fog: 0 - m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} - m_FogMode: 3 - m_FogDensity: 0.01 - m_LinearFogStart: 0 - m_LinearFogEnd: 300 - m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} - m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} - m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} - m_AmbientIntensity: 1 - m_AmbientMode: 0 - m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} - m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0} - m_HaloStrength: 0.5 - m_FlareStrength: 1 - m_FlareFadeSpeed: 3 - m_HaloTexture: {fileID: 0} - m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} - m_DefaultReflectionMode: 0 - m_DefaultReflectionResolution: 128 - m_ReflectionBounces: 1 - m_ReflectionIntensity: 1 - m_CustomReflection: {fileID: 0} - m_Sun: {fileID: 705507994} - m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} - m_UseRadianceAmbientProbe: 0 ---- !u!157 &3 -LightmapSettings: - m_ObjectHideFlags: 0 - serializedVersion: 11 - m_GIWorkflowMode: 1 - m_GISettings: - serializedVersion: 2 - m_BounceScale: 1 - m_IndirectOutputScale: 1 - m_AlbedoBoost: 1 - m_EnvironmentLightingMode: 0 - m_EnableBakedLightmaps: 1 - m_EnableRealtimeLightmaps: 0 - m_LightmapEditorSettings: - serializedVersion: 12 - m_Resolution: 2 - m_BakeResolution: 40 - m_AtlasSize: 1024 - m_AO: 0 - m_AOMaxDistance: 1 - m_CompAOExponent: 1 - m_CompAOExponentDirect: 0 - m_ExtractAmbientOcclusion: 0 - m_Padding: 2 - m_LightmapParameters: {fileID: 0} - m_LightmapsBakeMode: 1 - m_TextureCompression: 1 - m_FinalGather: 0 - m_FinalGatherFiltering: 1 - m_FinalGatherRayCount: 256 - m_ReflectionCompression: 2 - m_MixedBakeMode: 2 - m_BakeBackend: 1 - m_PVRSampling: 1 - m_PVRDirectSampleCount: 32 - m_PVRSampleCount: 500 - m_PVRBounces: 2 - m_PVREnvironmentSampleCount: 500 - m_PVREnvironmentReferencePointCount: 2048 - m_PVRFilteringMode: 2 - m_PVRDenoiserTypeDirect: 0 - m_PVRDenoiserTypeIndirect: 0 - m_PVRDenoiserTypeAO: 0 - m_PVRFilterTypeDirect: 0 - m_PVRFilterTypeIndirect: 0 - m_PVRFilterTypeAO: 0 - m_PVREnvironmentMIS: 0 - m_PVRCulling: 1 - m_PVRFilteringGaussRadiusDirect: 1 - m_PVRFilteringGaussRadiusIndirect: 5 - m_PVRFilteringGaussRadiusAO: 2 - m_PVRFilteringAtrousPositionSigmaDirect: 0.5 - m_PVRFilteringAtrousPositionSigmaIndirect: 2 - m_PVRFilteringAtrousPositionSigmaAO: 1 - m_ExportTrainingData: 0 - m_TrainingDataDestination: TrainingData - m_LightProbeSampleCountMultiplier: 4 - m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 ---- !u!196 &4 -NavMeshSettings: - serializedVersion: 2 - m_ObjectHideFlags: 0 - m_BuildSettings: - serializedVersion: 2 - agentTypeID: 0 - agentRadius: 0.5 - agentHeight: 2 - agentSlope: 45 - agentClimb: 0.4 - ledgeDropHeight: 0 - maxJumpAcrossDistance: 0 - minRegionArea: 2 - manualCellSize: 0 - cellSize: 0.16666667 - manualTileSize: 0 - tileSize: 256 - accuratePlacement: 0 - debug: - m_Flags: 0 - m_NavMeshData: {fileID: 0} ---- !u!1001 &8016228 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (15) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: -6.2 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 24.2 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 15 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &8016229 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 8016228} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &96740976 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (7) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 11.8 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &96740977 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 96740976} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &231921851 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (5) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: 10.8 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 9.1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 5 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &231921852 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 231921851} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &288846326 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (18) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 16.1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 18 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &288846327 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 288846326} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &296062933 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (6) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: -0.3000002 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 7.5 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &296062934 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 296062933} - m_PrefabAsset: {fileID: 0} ---- !u!1 &586262039 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 586262040} - - component: {fileID: 586262041} - m_Layer: 0 - m_Name: SMA - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &586262040 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 586262039} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 1841194690} - - {fileID: 839628353} - - {fileID: 1234818804} - - {fileID: 1129455079} - - {fileID: 2107148637} - - {fileID: 231921852} - - {fileID: 296062934} - - {fileID: 96740977} - - {fileID: 1753801105} - - {fileID: 2120840499} - - {fileID: 638564285} - - {fileID: 795964310} - - {fileID: 1628097336} - - {fileID: 1142302939} - - {fileID: 962810560} - - {fileID: 8016229} - - {fileID: 1374693831} - - {fileID: 2020836510} - - {fileID: 288846327} - - {fileID: 2084016289} - m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &586262041 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 586262039} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: e6b1cf67504415c4686b3faeea17770e, type: 3} - m_Name: - m_EditorClassIdentifier: - minX: 0 - minY: 0 - minZ: 0 - maxX: 0 - maxY: 0 - maxZ: 0 - _3D: 0 - globalSpeed: 0 - speed: 0 ---- !u!1001 &638564284 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (10) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: -17 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 16.1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 10 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &638564285 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 638564284} - m_PrefabAsset: {fileID: 0} ---- !u!1 &705507993 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 705507995} - - component: {fileID: 705507994} - m_Layer: 0 - m_Name: Directional Light - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!108 &705507994 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 705507993} - m_Enabled: 1 - serializedVersion: 10 - m_Type: 1 - m_Shape: 0 - m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} - m_Intensity: 1 - m_Range: 10 - m_SpotAngle: 30 - m_InnerSpotAngle: 21.80208 - m_CookieSize: 10 - m_Shadows: - m_Type: 2 - m_Resolution: -1 - m_CustomResolution: -1 - m_Strength: 1 - m_Bias: 0.05 - m_NormalBias: 0.4 - m_NearPlane: 0.2 - m_CullingMatrixOverride: - e00: 1 - e01: 0 - e02: 0 - e03: 0 - e10: 0 - e11: 1 - e12: 0 - e13: 0 - e20: 0 - e21: 0 - e22: 1 - e23: 0 - e30: 0 - e31: 0 - e32: 0 - e33: 1 - m_UseCullingMatrixOverride: 0 - m_Cookie: {fileID: 0} - m_DrawHalo: 0 - m_Flare: {fileID: 0} - m_RenderMode: 0 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingLayerMask: 1 - m_Lightmapping: 1 - m_LightShadowCasterMode: 0 - m_AreaSize: {x: 1, y: 1} - m_BounceIntensity: 1 - m_ColorTemperature: 6570 - m_UseColorTemperature: 0 - m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} - m_UseBoundingSphereOverride: 0 - m_ShadowRadius: 0 - m_ShadowAngle: 0 ---- !u!4 &705507995 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 705507993} - m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} - m_LocalPosition: {x: 0, y: 3, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} ---- !u!1001 &795964309 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (11) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: -13.7 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 20.400002 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 11 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &795964310 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 795964309} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &839628352 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (1) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: 3.3 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 5.3 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &839628353 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 839628352} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &962810559 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (14) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: -9.5 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 19.900002 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 14 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &962810560 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 962810559} - m_PrefabAsset: {fileID: 0} ---- !u!1 &963194225 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 963194228} - - component: {fileID: 963194227} - - component: {fileID: 963194226} - m_Layer: 0 - m_Name: Main Camera - m_TagString: MainCamera - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!81 &963194226 -AudioListener: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 ---- !u!20 &963194227 -Camera: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_Enabled: 1 - serializedVersion: 2 - m_ClearFlags: 1 - m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} - m_projectionMatrixMode: 1 - m_GateFitMode: 2 - m_FOVAxisMode: 0 - m_SensorSize: {x: 36, y: 24} - m_LensShift: {x: 0, y: 0} - m_FocalLength: 50 - m_NormalizedViewPortRect: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - near clip plane: 0.3 - far clip plane: 1000 - field of view: 60 - orthographic: 0 - orthographic size: 5 - m_Depth: -1 - m_CullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - m_RenderingPath: -1 - m_TargetTexture: {fileID: 0} - m_TargetDisplay: 0 - m_TargetEye: 3 - m_HDR: 1 - m_AllowMSAA: 1 - m_AllowDynamicResolution: 0 - m_ForceIntoRT: 0 - m_OcclusionCulling: 1 - m_StereoConvergence: 10 - m_StereoSeparation: 0.022 ---- !u!4 &963194228 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 963194225} - m_LocalRotation: {x: -0.08524751, y: -0, z: -0, w: 0.9963598} - m_LocalPosition: {x: 0, y: 14.27, z: -39.11} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: -9.781, y: 0, z: 0} ---- !u!1001 &1129455078 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (3) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: -4.5 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 3 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &1129455079 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 1129455078} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &1142302938 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (13) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: 1.6000004 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 21.5 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 13 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &1142302939 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 1142302938} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &1234818803 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (2) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: -7.8 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 3.7 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 2 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &1234818804 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 1234818803} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &1374693830 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (16) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: 13.2 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 3.7 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 16 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &1374693831 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 1374693830} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &1628097335 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (12) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: -1.6999998 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 17.2 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 12 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &1628097336 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 1628097335} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &1753801104 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (8) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: -9.2 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 13.400001 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 8 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &1753801105 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 1753801104} - m_PrefabAsset: {fileID: 0} ---- !u!4 &1841194690 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 8965968834305515636} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &2020836509 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (17) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: 20.7 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 7.5 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 17 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &2020836510 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 2020836509} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &2084016288 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (19) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: 11.5 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 19.900002 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 19 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &2084016289 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 2084016288} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &2107148636 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (4) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: 7.5 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 4.8 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 4 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &2107148637 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 2107148636} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &2120840498 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid (9) - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: -5.8999996 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 17.7 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 9 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} ---- !u!4 &2120840499 stripped -Transform: - m_CorrespondingSourceObject: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - m_PrefabInstance: {fileID: 2120840498} - m_PrefabAsset: {fileID: 0} ---- !u!1001 &8965968834305515636 -PrefabInstance: - m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 586262040} - m_Modifications: - - target: {fileID: 8965968834670266037, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_Name - value: Boid - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.y - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalPosition.z - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.x - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.y - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.z - value: -0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.x - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.y - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 8965968834670266038, guid: ecfb92997fb6674468149566eb767e2c, - type: 3} - propertyPath: m_LocalEulerAnglesHint.z - value: 0 - objectReference: {fileID: 0} - m_RemovedComponents: [] - m_SourcePrefab: {fileID: 100100000, guid: ecfb92997fb6674468149566eb767e2c, type: 3} diff --git a/src/Assets/Scenes/SampleScene.unity.meta b/src/Assets/Scenes/SampleScene.unity.meta deleted file mode 100755 index 952bd1e9e110583d94b471a30ff4ddd69f4aee7d..0000000000000000000000000000000000000000 --- a/src/Assets/Scenes/SampleScene.unity.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 9fc0d4010bbf28b4594072e72b8655ab -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/src/boids.unitypackage b/src/Packages/v0.unitypackage similarity index 100% rename from src/boids.unitypackage rename to src/Packages/v0.unitypackage diff --git a/src/Packages/v1.unitypackage b/src/Packages/v1.unitypackage new file mode 100755 index 0000000000000000000000000000000000000000..b871ac21ce230a5f6cfc4a9c0bb1bdb534297209 Binary files /dev/null and b/src/Packages/v1.unitypackage differ diff --git a/src/Scripts/Agent.cs b/src/Scripts/Agent.cs new file mode 100755 index 0000000000000000000000000000000000000000..f77a515c831bcbae0bfc27669329eff85c3376ac --- /dev/null +++ b/src/Scripts/Agent.cs @@ -0,0 +1,56 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + + +public class Agent : MonoBehaviour, Visible +{ + + public SMA system; + private Comportement comportement; + private Perception perception; + public Vector3 direction; + public float speed; + public List<Vector3> oldDirections; + private int Taille_Memoire = 5; + + + // Start is called before the first frame update + void Start() + { + system = GameObject.Find("SMA").GetComponent<SMA>(); + comportement = new Reynolds(this); + perception = new Perception360(this, 15); + //perception = new Perception(this,20.0f,180.0f); + direction = Utils.randomDirection(); + //speed = UnityEngine.Random.Range(0.8f,1.2f); + speed = 0.7f; + oldDirections = new List<Vector3>(); + oldDirections.Add(direction); + } + + // Update is called once per frame + void Update() + { + reagir(voir()); + memoire(); + } + + public List<Observation> voir() { return perception.voir(); } + + public void reagir(List<Observation> observation) {direction = comportement.reagir(observation); move(); } + + void move() { + transform.position += speed*direction; + transform.LookAt(transform.position + speed*direction); + } + + void memoire() { + oldDirections.Add(direction); + if (oldDirections.Count > Taille_Memoire) oldDirections.RemoveAt(0); + } + + public bool isAlive() { return true; } + +} diff --git a/src/Scripts/Comportement/Aleatoire.cs b/src/Scripts/Comportement/Aleatoire.cs new file mode 100755 index 0000000000000000000000000000000000000000..aa349820c13862a26b36347fbb9b0456baf01c53 --- /dev/null +++ b/src/Scripts/Comportement/Aleatoire.cs @@ -0,0 +1,15 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Aleatoire : Comportement +{ + + public Aleatoire(Agent proprietaire) : base(proprietaire) {} + + public override Vector3 reagir(List<Observation> observation) { + //int bruit = UnityEngine.Random.Range(1,5); + return proprietaire.oldDirections[0].normalized; + } + +} diff --git a/src/Scripts/Comportement/Comportement.cs b/src/Scripts/Comportement/Comportement.cs new file mode 100755 index 0000000000000000000000000000000000000000..c1728d8de44448aabffc1667c2a49e8d68990c43 --- /dev/null +++ b/src/Scripts/Comportement/Comportement.cs @@ -0,0 +1,23 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public abstract class Comportement +{ + + protected Agent proprietaire; + + protected int nbBruit = 5; + protected float bruit = 0.01f; + + public Comportement(Agent a) { + proprietaire = a; + } + + public abstract Vector3 reagir(List<Observation> observation) ; + /*{ + return Utils.noiseVector(proprietaire.direction,nbBruit,bruit); + //return Vector3.zero; + }*/ + +} diff --git a/src/Scripts/Comportement/Reynolds.cs b/src/Scripts/Comportement/Reynolds.cs new file mode 100755 index 0000000000000000000000000000000000000000..f5fac296e83a3cb7e59073b72129ef1e4a1750f3 --- /dev/null +++ b/src/Scripts/Comportement/Reynolds.cs @@ -0,0 +1,53 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Reynolds : Comportement +{ + + static public float Escape = 5.0f; + static public float Together = 10.0f; + static public float Follow = 15.0f; + + public Reynolds(Agent proprietaire) : base(proprietaire) {} + + public override Vector3 reagir(List<Observation> observation) { + List<Vector3> vectors = new List<Vector3>(); + vectors.Add(proprietaire.direction); + foreach(Observation o in observation) { + if (o.objet.isAlive()) { + if(danger(o)) vectors.Add(fuir(o.distance)); + else if(normal(o)) vectors.Add(suivre(o.objet)); + else if(isolement(o)) vectors.Add(rapprocher(o.distance)); + } + else { + if(danger(o)) for(int i=0;i<5;i++) vectors.Add(fuir(o.distance)); + } + } + Vector3 res = Utils.meanVector(vectors); + //return proprietaire.direction; + return Utils.noiseVector(res,nbBruit,bruit); + } + + private bool danger(Observation o) { + return (Utils.normVector(o.distance) < Escape); + } + + private Vector3 fuir(Vector3 d) { return -d; } + + private bool normal(Observation o) { + return Utils.normVector(o.distance) < Together; + } + + private Vector3 suivre(Visible a) { + Agent agent = (Agent) a; + return agent.direction; + } + + private bool isolement(Observation o) { + return Utils.normVector(o.distance) <= Follow; + } + + private Vector3 rapprocher(Vector3 d) { return d; } + +} diff --git a/src/Scripts/Environnement/Environnement.cs b/src/Scripts/Environnement/Environnement.cs new file mode 100755 index 0000000000000000000000000000000000000000..e024985ce60a846a662c5fb933cc4b94bbda29ff --- /dev/null +++ b/src/Scripts/Environnement/Environnement.cs @@ -0,0 +1,70 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Environnement : MonoBehaviour +{ + + private SMA system; + public GameObject topologie; + public float minX; + public float maxX; + public float minY; + public float maxY; + public float minZ; + public float maxZ; + + // Start is called before the first frame update + void Start() + { + system = GameObject.Find("SMA").GetComponent<SMA>(); + Instantiate(topologie, Vector3.zero, Quaternion.identity,transform); + float scaleX = topologie.transform.localScale.x; + float scaleY = topologie.transform.localScale.y; + float scaleZ = topologie.transform.localScale.z; + minX = -scaleX/2.0f;maxX = scaleX/2.0f; + minY = -scaleY/2.0f;maxY = scaleY/2.0f; + minZ = -scaleZ/2.0f;maxZ = scaleZ/2.0f; + } + + public Observation detectEnv(Agent current) { + Vector3 pos = current.transform.position; + List<Vector3> p = new List<Vector3> + { + new Vector3(minX,pos.y,pos.z), new Vector3(maxX,pos.y,pos.z), + new Vector3(pos.x,minY,pos.z), new Vector3(pos.x,maxY,pos.z), + new Vector3(pos.x,pos.y,minZ), new Vector3(pos.x,pos.y,maxZ), + }; + float dist = Utils.normVector(p[0] - pos); + float d; Vector3 res = p[0]; + for(int i=1;i<p.Count;i++) { + d = Utils.normVector(p[i] - pos); + if(d<dist) { + dist = d; + res = p[i]; + } + } + return new Observation(new Obstacle(res),res-pos); + } + + public List<Observation> voisinage(Agent current, float rayon, float angle) { + Vector3 dist; float l; float a; + List<Observation> res = new List<Observation>(); + for(int i = 0; i<system.agents.Count;i++) { + dist = system.agents[i].transform.position - current.transform.position; + l = Utils.normVector(dist); + a = Vector3.Angle(current.direction,dist); + if (system.agents[i] != current && l <= rayon && a <= angle/2.0f) res.Add(new Observation(system.agents[i],dist)); + } + Observation bord = detectEnv(current); + l = Utils.normVector(bord.distance); a = Vector3.Angle(current.direction,bord.distance); + if(l <= rayon && a <= angle/2.0f) res.Add(bord); + return res; + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/src/Scripts/Environnement/Obstacle.cs b/src/Scripts/Environnement/Obstacle.cs new file mode 100755 index 0000000000000000000000000000000000000000..8e63bc1295a382e858d8128538a036455958d86d --- /dev/null +++ b/src/Scripts/Environnement/Obstacle.cs @@ -0,0 +1,15 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Obstacle : Visible +{ + + Vector3 position; + + public bool isAlive() { return false; } + + public Obstacle(Vector3 p) { + position = p; + } +} diff --git a/src/Scripts/Perception/Perception.cs b/src/Scripts/Perception/Perception.cs new file mode 100755 index 0000000000000000000000000000000000000000..0cf080e1deb9b0ba1a22002974448aa4bf951d19 --- /dev/null +++ b/src/Scripts/Perception/Perception.cs @@ -0,0 +1,33 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Perception +{ + + protected Agent proprietaire; + protected float rayon; + protected float angle; + + public Perception(Agent agent, float r, float a) { + proprietaire = agent; + rayon = r; + angle = a; + } + + public List<Observation> voir() { + return proprietaire.system.environnement.voisinage(proprietaire, rayon, angle); + } + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/src/Scripts/Perception/Perception360.cs b/src/Scripts/Perception/Perception360.cs new file mode 100755 index 0000000000000000000000000000000000000000..d650015890a123ebbf261f2b1fd4c52cb4c36179 --- /dev/null +++ b/src/Scripts/Perception/Perception360.cs @@ -0,0 +1,21 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Perception360 : Perception +{ + + public Perception360(Agent agent, float r) : base(agent, r, 360.0f) {} + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/src/Scripts/SMA.cs b/src/Scripts/SMA.cs new file mode 100755 index 0000000000000000000000000000000000000000..98d32dba5256db550e5f8b03896ac0950c804e6c --- /dev/null +++ b/src/Scripts/SMA.cs @@ -0,0 +1,44 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class SMA : MonoBehaviour +{ + public List<Agent> agents; + public Environnement environnement; + public int population = 50; + public GameObject boid; + + + // Start is called before the first frame update + void Start() + { + createEnvironnement(); + createAgents(); + } + + // Update is called once per frame + void Update() + { + + } + + void createEnvironnement() { + //environnement = new Environnement(); + //environnement = gameObject.AddComponent<Environnement>() as Environnement; + environnement = GameObject.Find("Environnement").GetComponent<Environnement>(); + } + + void createAgents() { + GameObject a; + for(int i=0; i<population; i++) { + a = Instantiate(boid, + Utils.randomVector(environnement.minX, environnement.maxX, + environnement.minY, environnement.maxY, + environnement.minZ, environnement.maxZ), Quaternion.identity,environnement.transform) as GameObject; + agents.Add(a.GetComponent<Agent>()); + } + + } + +} \ No newline at end of file diff --git a/src/Scripts/Utils.cs b/src/Scripts/Utils.cs new file mode 100755 index 0000000000000000000000000000000000000000..3efaabdb3c7421cc2379ea80abc66910d2200e85 --- /dev/null +++ b/src/Scripts/Utils.cs @@ -0,0 +1,105 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Utils +{ + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } + public static Vector3 randomDirection() { + + float x = 0.0f; + float y = 0.0f; + float z = 0.0f; + int r; + for(int i = 0; i<10; i++) { + r = UnityEngine.Random.Range(0,3); + if (r == 0) x += 1.0f; + else if (r == 1) y += 1.0f; + else z += 1.0f; + } + if(UnityEngine.Random.Range(1,3) > 1) x = -x; + if(UnityEngine.Random.Range(1,3) > 1) y = -y; + if(UnityEngine.Random.Range(1,3) > 1) z = -z; + + return normalizedVector(x,y,z); + } + + public static Vector3 normalizedVector(float x, float y, float z) { + return (new Vector3(x,y,z)).normalized; + } + + public static Vector3 meanVector(List<Vector3> vectors) { + Vector3 res = Vector3.zero; + for(int i = 0; i<vectors.Count; i++) { + res += vectors[i]; + } + res = res/vectors.Count; + return res.normalized; + } + + public static Vector3 randomVector(float minX, float maxX, float minY, float maxY, float minZ, float maxZ) { + return new Vector3(UnityEngine.Random.Range(minX,maxX), + UnityEngine.Random.Range(minY,maxY), + UnityEngine.Random.Range(minZ,maxZ)); + } + + public static float normVector(Vector3 v) { + return (float) Math.Sqrt(Math.Pow(v.x,2) + Math.Pow(v.y,2) + Math.Pow(v.z,2)); + } + + public static Vector3 noiseVector(Vector3 v, int nbBruit, float bruit ) { + int coin1; int coin2; float x = v.x; float y = v.y; float z = v.z; + for(int i=0;i<nbBruit;i++) { + coin1 = UnityEngine.Random.Range(1,3); + coin2 = UnityEngine.Random.Range(1,4); + if(coin2 == 1) { + if(coin1 == 1) x+=bruit; + else x-= bruit; + } + else if(coin2 == 2) { + if(coin1 == 1) y+=bruit; + else y-= bruit; + } + else { + if(coin1 == 1) z+=bruit; + else z-= bruit; + } + } + return normalizedVector(x,y,z); + } + + /* List<Component> neighbourhood() { + List<Component> neighbours = new List<Component>(); + float dist; + Vector3 link; + Agent bird; + for(int i=0; i<birds.Length; i++) { + bird = (Agent) birds[i]; + link = bird.transform.position - transform.position; + dist = (float) Math.Sqrt(Math.Pow(link.x,2) + Math.Pow(link.y,2) + Math.Pow(link.z,2)); + if(bird != this && dist < system.RaynoldFollowTresh) neighbours.Add(birds[i]); + } + return neighbours; + } + + void SMA() { + Vector3 res = Vector3.zero; + res += direction; + if(transform.position.x < system.minX || transform.position.x > system.maxX) res.x = -direction.x; + if(transform.position.y < system.minY || transform.position.y > system.maxY) res.y = -direction.y; + if(transform.position.z < system.minZ || transform.position.z > system.maxZ) res.z = -direction.z; + nextDirections.Add(res); + }*/ +} diff --git a/src/Scripts/Vision/Observation.cs b/src/Scripts/Vision/Observation.cs new file mode 100755 index 0000000000000000000000000000000000000000..bb1dc10f3d8938f7f679089f9b7d796e4d652021 --- /dev/null +++ b/src/Scripts/Vision/Observation.cs @@ -0,0 +1,30 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class Observation +{ + + public Visible objet; + + public Vector3 distance; + + + public Observation(Visible o, Vector3 d) { + objet = o; + distance = d; + } + + + // Start is called before the first frame update + void Start() + { + + } + + // Update is called once per frame + void Update() + { + + } +} diff --git a/src/Scripts/Vision/Visible.cs b/src/Scripts/Vision/Visible.cs new file mode 100755 index 0000000000000000000000000000000000000000..8b2a211f98402a7de51cfa70fdb7c22d203a3a59 --- /dev/null +++ b/src/Scripts/Vision/Visible.cs @@ -0,0 +1,5 @@ +public interface Visible { + + public bool isAlive(); + +} \ No newline at end of file