
Neon-ScriptableObjects
Team Size: 1​
​
Tools die ik heb gebruikt: Unity, Rider, Trello, Github​
​
Beschrijving: Neon is een project van het Mediacollege waar je leert hoe je in een team moet werken en met pre excisting assets die je gaat gebruiken om dingen te bouwen voor de game. Ik heb gewerkt met ScriptableObjects in Neon om te leren hoe ik ze kan toepassen aan vijanden om ze wat extra gedrags opties te geven en ook meteen leren hoe ScriptableObjects werken.
​
Features/Mechanics: CamouflageProperties, Camouflage, SmokescreenController, MovementStates
​
Duur: 10 weken
[2 September - 7 November, 1e periode van het 3e schooljaar van het Mediacollege] ​​
​
Gameplay Video

Ik begon met een ScriptableObject te maken voor een enemy genaamd Bobert zodat hij gecamoufleerd wordt wanneer je hem aanraakt. Door de de layer aan te passen kan je Bobert laten verdwijnen maar ik heb er ook voor gezorgd dat je makkelijk kan instellen hoelang Bobert gecamoufleerd is.

Hier is een visualisatie van het ScriptableObject, ik kan hier makkelijk de Camouflage aanpassen en Duration van hoelang je gecamoufleerd bent.


De functies Activate/DeactivateCamouflage maken gebruik van de functies Disable/EnableRenders en Change Layer die ook meteen de opties zijn van je type camouflage.


Hier onderin zie je dat de Boberts gedeactiveerd worden wanneer je ze aanraakt en na 5 seconden weer tevoorschijn komen. Dit kan ook worden toegepast op andere enemies

Bij het maken van een Smokescreen begon ik eerst met een ScriptableObject waarmee ik de tijd, grootte en doorzichtigheid kon aanpassen, Het script zit op een enemy genaamd Sawyer die in de lucht vliegt en probeert de speler te raken en ik moest er ook voor zorgen dat de Smokerscreen op de gewenste plek kwam voordat hij ging aanvallen.

Bij het maken van een Smokescreen begon ik eerst met een ScriptableObject waarmee ik de tijd, grootte en doorzichtigheid kon aanpassen, Het script zit op een enemy genaamd Sawyer die in de lucht vliegt en probeert de speler te raken en ik moest er ook voor zorgen dat de Smokerscreen op de gewenste plek kwam voordat hij ging aanvallen.

Verder had ik er ook voor gezorgd dat de Smokescreen binnen een bepaalde range wordt geplaatst zodat het spawnt bij het begin van de aanval.

De interval is het aantal seconden dat het moet wachten totdat het weer een nieuwe Smokscreen mag plaatsen en door de radius op 1 te zetten spawnt de Smokescreen op Sawyer zelf en niet op een willekeurige plaats op de map.


Ik heb er nu voor gezorgd dat Sawyer om de 5 seconden een nieuwe Smokescreen plaatst als hij je aanvalt.

Ik had zelf nog een simpel project gemaakt waar ik beter kon leren hoe ScriptableObjects werken momenteel heb ik alleen nog er een MovementState geïmplementeerd maar ik ben van plan om het verder uit te breiden zodat ik ScriptableObjects beter onder de knie kan krijgen.
Ik begon met het maken van verschillende ScriptableObjects met allemaal verschillende snelheden.


Ik heb alleen de snelheid aangepast voor de ScriptableObjects en ik heb het ook zo gemaakt dat wanneer je shift ingedrukt houdt dat je dan naar de SprintingState gaat maar dat je ook weer naar de WalkingState terug gaat.

Hier heb ik wat meerder ScriptableObjects gemaakt om het type snelheid de hele tijd aan te passen, ik kan de Sprinting state aanpassen met welke state ik ook wil en in de game blijt het ook in die state maar de WalkingState gaat altijd terug naar walking nadat shift is ingedrukt om de state te veranderen.
