Week 2 - SeppeHuysegoms/PassionProject GitHub Wiki

Week 2

Maandag

Maandag besloot ik om mijn blog te updaten, ik had deze namelijk al enkele dagen uit het oog verloren. Ik schreef wel elke keer kort op wat ik na een oefening had geleerd of welke problemen ik had ondervonden maar had dit nog niet in mijn github wiki gezet. Tijdens het schrijven van mijn blog ging ik vaak terug naar mijn gemaakte oefeningen voor assets en voor hier en daar nog extra details, maar deze vinden was moeilijker dan gedacht, ik merkte dat mijn naamgeving niet altijd even goed zat en dat ik even nodig had vooraleer ik de juiste oefening gevonden had, punt 1 van verbetering. Het andere punt van verbetering was dat het uitschrijven van de blog langer duurde dan ik initieel in gedachte had zeker als je al enkele dagen achter zit, dus vanaf nu elke dag updaten zodat dit op tempo blijft en geen hele voormiddag van tijd opslorpt.

Desondanks dat mijn blog nog niet helemaal verder geüpdatet was koos ik ervoor om toch eens te kijken naar mijn Arduino. Ik wou via deze weg namelijk al eens mijn ultrasonic sensor verbinden en de output verkrijgen in Touch Designer. Het was al even geleden dat ik nog met Arduino had gewerkt en wist ook niet meer direct hoe ik de vijf pin versie moest verbinden op men board. Na enig zoeken online koos ik er dan maar voor om de vier pin versie te verbinden aangezien hier online vele voorbeelden beschikbaar van waren. Hierna ging het schrijven van de nodige arduino code vlot en kon ik het juiste resultaat makkelijk zien in mijn serial monitor. De volgende stap was het nu binnenkrijgen van deze data in Touch Designer, hiervoor had ik al eerder een tutorial video gevonden. Deze was relatief makkelijk, via een serial kon je gewoon de port kiezen waarmee je connectie wou maken en hierna zou de data die in de serial monitor verschijnt ook daar moeten verschijnen. Zeer simple dacht ik tot dat ik het implementeerde en de data maar niet verscheen, ik uploadde de code nog eens op mijn arduino, starte touch designer opnieuw op, uiteindelijk herstart van laptop zonder resultaat. Ik begon al te denken dat het de info niet kon uitlezen doordat de arduino niet rechtstreeks verbonden was met mijn computer maar door een hub. Ik zocht even snel online op en vond uiteindelijk dat het probleem ergens anders lag. Als je binnen de arduino IDE gebruik maakt van de serial monitor word de data niet doorgestuurd naar de serial van Touch Designer, en eens deze effectief uitstond kwam de data effectief binnen.

Nadien ging ik verder met de oefening, je zorgt ervoor dat je de laatste waarde selecteert deze omzet en hierna kan je gaan beginnen spelen met wat deze waarde moet doen. Met extra math en filters zorgde we ervoor dat we een bal van links naar rechts op ons scherm konden bewegen en dat ook de grootte van de bal mee werd aangepast. Tijdens het gebruik ervan merkte ik al wel enkele problemen die ik verder moest gaan testen.

Dinsdag

Dinsdag ging ik doorheen de dag verder met het updaten van mijn blog zodat dit afgerond was en ging ik tussendoor ook verder met het werken met arduino. Een probleem dat ik de dag voordien opmerkte was dat tijdens het aansturen van de bal met mijn vinger de ultrasonic sensor soms naar null sprong en dus geen signaal opving doordat mijn vinders te smal waren om het signaal door te sturen. Door gebruik te maken van een groter oppervlak zoals een stuk karton kwam dit al veel minder voor, aan de hand van code zou ik dit ook verder kunnen gaan oplossen door de null er te gaan uit filteren, al is dit geen waterdichte oplossing als een persoon zijn vingers gebruikt een meermaals het signaal mist.

Ik ging verder met meerder ultrasonic sensors op mijn bord te plaatsen om te zien hoe dit werkte en hoe de plaatsing het beste van plan ging. Om ervoor te zorgen dat ze elkaar nu niet blokkeerde plaatse ik ze allemaal naast elkaar waardoor het niet mogelijk was om ze aan te sturen met je vingers. Hiervoor moet ik ze horizontaal naast elkaar plaatse in de andere richting, momenteel weet ik niet of dit mogelijk is aangezien de draden die ik denk hiervoor nodig te hebben niet passen op de pinnen. Zelfs als ik ze zo kan plaatsen moet ik zien of er niet te veel plaats tussen is om aan te sturen met 1 hand.

https://github.com/SeppeHuysegoms/PassionProject/assets/113670522/3a5efa8b-1909-47e1-a9cd-6ae3110df337

Hierna ging ik verder met arduino in Touch Designer, het was me gelukt om 1 input te verkrijgen nu ging ik hier verder om ervoor te zorgen dat ik ook meerdere inputs data kon uitlezen om te gaan gebruiken. Ik zorgde ervoor dat nu een ultrasonic sensor de grootte beïnvloede en de andere de positie.

Woensdag

Vandaag had ik een consult met mijn coach Wouter. Ik overliep wat ik tegenover de vorige consult had gedaan/bereikt en tot welke insights/problemen ik nog was gekomen. Het probleem voor het aansturen van drie beamers is nog steeds een moeilijk probleem aangezien ik hiervoor simpelweg andere hardware zou nodig hebben die nog steeds de nodige kracht heeft om TouchDesigner en de render te draaien. De planning voor de komende week werd ook licht aangepast. Origineel wou ik de setup maken voor de websockets aangezien ik merkte dat de arduino heel snel heel rommelig werd, en hierna vooral starten met het eindresultaat binnen TouchDesigner. Wouter zelf was niet echt fan van de websockets omdat hierdoor het tactiele en simpele van de arduino inputs wegviel en stelde voor om eerder te kijken naar een grotere arduino, hierna werd er hier verder op ingegaan. Zo raadde hij aan om te gaan solderen zodat de arduino iets robuuster was en om een box als case te maken zodat de draden en arduino zelf afgeschermd waren en enkel de inputs zichtbaar. Hij stuurde hiervoor enkele interessante links door waar ik verder kon naar kijken. Daarnaast gaf hij me ook nog een aanrader, online was hij iets tegengekomen van een exhibitie van een connectie met interactieve installaties. Zeer relevant voor mijn project dus en kon alleen maar inspirerend en interessant zijn.

Hierna besloot ik om verder te gaan met het arduino aspect aangezien dit de grootste nood had. Ik keek eerst snel wat ik zelf nog allemaal in mijn kit beschikbaar had, en wat ik kon gaan gebruiken voor mijn project. In mijn huidige kit waren dit vooral de buttons en de potentiometer, ik besloot om deze direct aan te sluiten op mijn arduino en de nodige code hier direct voor te schrijven zodat ik deze later snel kon hergebruiken. Ik keek ook verder naar welke inputs nog interessant konden zijn en bekeek wat videos rond solderen en soldifyen van de arduino. Met het oog op het bezoeken van de aangeraden exhibition besloot ik om vandaag al naar huis te keren om zeker te zijn dat ik de exhibition kon bereiken en niet gehinderd werd door slecht weer. Hierdoor verloor ik tijd om effectief te werken maar kon ik wel even alles op een rijtje zetten van wat nog te doen, en welke stappen ik best het eerste moest zetten.

Donderdag

Aangezien het solderen en hele arduino gebeuren nog iets zeer onbekend was voor mij deed ik eerst research hiernaar. Ik bekeek video’s van solderen van het inwerken in je arduino in de printplaat zonder dat deze vastzat, maar aan de hand van stackable headers. Ik keek rond naar de verschillende mogelijkheden voor mijn aankopen zodat ik hier een beter beeld rond had.

Hierna ging ik aan de slag met sound, ik bekeek een video die me insights gaf rond hoe ik aan de slag kan gaan met geluid binnen TouchDesigner. Dit is een element dat ik graag wil toevoegen binnen de installatie om het een totaalervaring te maken, al zal dit afhankelijk zijn van hoeveel tijd ik tot mijn beschikking heb op het einde van het project. Dit deed ik terwijl ik onderweg en terugkwam van de exhibitie van Florent Schirrer.

Eenmaal op de exhibitie was het vooral kijken en inspiratie opdoen. Er waren in totaal vijf werken die werden tentoongesteld. Waarvan drie werken aanleunde bij wat ik wou gaan bereiken met mijn installatie, dit ware degene waar echt een input was die volledig werd verwerkt door TouchDesigner om er zo visueel iets mee te gaan doen.

https://github.com/SeppeHuysegoms/PassionProject/assets/113670522/36d463b0-b8b6-4071-adaa-941f2b6248a0

De eerste hiervan was een soort van spel, het was de bedoeling dat je de balletjes naar de rechthoek bracht en eens hier twee seconden een bal was ging je naar het volgende level. Deze installatie werkte aan de hand van een Kinect die het contract tussen de muur en de tape ging meten om ze de elementen toe te voegen aan de compositie in TouchDesigner. Het was hier al interessant om te zien hoe mensen gingen spelen met de tape en hoe ze echt in het spel gezogen werden.

https://github.com/SeppeHuysegoms/PassionProject/assets/113670522/5b404ead-03e4-4f7f-b58b-49c0c1f04a37

https://github.com/SeppeHuysegoms/PassionProject/assets/113670522/08556cc7-81d9-44e9-a725-447ec8560d81

De tweede installatie was er een die reageerde op audio, het was een lijn die constant draaide op basis van een beat of peak ging er een golf in de lijn komen waardoor je dit in de cirkel zou gaan zien. Ondertussen werden ook de kleuren constant aangepast waardoor je een heel veranderlijke installatie kreeg die er elke keer anders uitzag.

https://github.com/SeppeHuysegoms/PassionProject/assets/113670522/0f9ae801-13ff-4b05-90db-380543f6d17f

https://github.com/SeppeHuysegoms/PassionProject/assets/113670522/66039bcb-25a1-4e5a-9e8c-531aafc3dbba

Er was ook nog een derde installatie die in mijn ogen ook het dichtste aansluit bij wat ik wil gaan bereiken. Dit was een installatie waar aan de hand van een kinect verschillende delen van het lichaam werden getracked, elke keer als er iets bewoog kwam er een extra vlek/liquid stroom op het scherm. Door een beweging te maken kon je dan een liquid pad gaan maken. Ook hier werd er constant gespeeld met kleur zodat de verschillende lagen duidelijk waren. Bij deze installatie was het echt leuk om te zien wat voor zotte bewegingen mensen gingen gaan maken om zo een leuk effect te gaan creëren. Het leukste van al was dat het ook heel simpel was, op een bepaald moment waren er twee kinderen gewoon heen en weer aan het lopen en zo aan het spelen met de installatie.

Hiernaast kreeg ik ook de kans om te spreken met Florent, hij gaf me inzichten rond hoe zijn projecten in elkaar zaten, wat de basis hiervan was en gaf me ook enkele tips. Zo toonde hij me een project dat zeer complex was maar toch zeer opgeruimd en clean. Hij gaf me de tip om het project op te delen in de verschillende fases zodat je altijd een goed overzicht kan behouden. Hiernaast raadde hij me ook aan de discord van TouchDesigner te joinen aangezien dit hem zeer vaak heeft geholpen bij verschillende projecten.

Op het laatste van de dag stuurde ik nog Simon, deze had me tijdens een gesprek aan het koffiemachine gezegd dat hij onlangs voor een eigen project een arduino mega had aangekocht. Ik vroeg naar de mogelijkheid om dit te lenen voor mijn project aangezien ik het zo sneller had en ook goedkoper.

Vrijdag

Vrijdag ging een zeer groot deel van mijn tijd naar het bekijken van de werken van de eerste jaars en hierop feedback te geven.

Ik kreeg hiernaast ook antwoord op mijn mail van Simon. Hij stuurde me dat de Arduino mega was vast gesoldeerd in het project en het dus niet meer mogelijk was om deze te gebruiken. Maar stuurde me wel een link naar degenen die hij had aangekocht, dit was geen echte arduino en hierdoor een stuk goedkoper, maar wel even betrouwbaar aangezien hij hem al had gebruikt. Ik zocht verder naar de nodige materialen, ik voegde de PCB platen toe, stackable headers zodat ik mij Arduino niet moest vast solderen en nog extra kabels voor de zekerheid.

Ik nam ook de nodige contacten op voor de rest van de nodige materialen. Zo regelde ik een soldeerbout en kon ik via medestudenten ook nog extra arduino onderdelen regelen.

https://github.com/SeppeHuysegoms/PassionProject/assets/113670522/6c728a66-df73-43c8-aac6-5cd5dfc23c8f

Hierna ging ik opzoek naar manieren om met partciles te gaan interacten. Ik vond verschillende video’s die elk op een eigen manier hiermee aan de slag gingen.Ik ging als eerste aan de slag met een oefening die partciles ging gaan aantrekken aan de hand van een metaball. Hierbij ging de metaball als force input gegeven worden waardoor de partciles uit hun normale flow werden getrokken. Eens je deze aan de muis verbond kreeg je een leuk effect om mee te spelen. Als je voldoende particles had kreeg je een vertex-achtige bol die werd gevoerd door de particles. Na enige tijd verdwenen deze wel of smeet je de partciles weg en moest je opnieuw particles gaan ophalen. Hierdoor was het eerder iets waarmee je dingen kapot maakte dan maakte, aangezien eens een partcile uit zijn flow werd getrokken deze hier ook niet meer naar terugging. Hierdoor werd het visueel heel snel saai en was er een niet al te groot level van immersive.

Weekend

https://github.com/SeppeHuysegoms/PassionProject/assets/113670522/dc4a1e49-f90a-49ca-ac28-2960e10d915e

https://github.com/SeppeHuysegoms/PassionProject/assets/113670522/846fd66e-eb08-49e1-babf-c014d3564b67

In het weekend begon ik aan een andere oefening, deze sloot visueel al eerder aan bij wat ik in gedachte had binnen mijn project. Binnen deze opdracht ging er gewerkt worden met attractors, dit was zeer gelijkaardig aan een metaball. Hierbij gingen we terwijl we de positie van onze particles bepaalde een attractor gaan toevoegen. Hierbij gingen we deze attractor constant laten bewegen op basis van noise om zo random posities te genereren, hetzelfde deden we voor een noise die geleidelijk veranderde om ook de force waarmee de attractor de particles aantrok te laten variëren. Om alles binnen de boundaries van ons vierkant te houden werd er ook de operator limit gebruikt. Hierna gaven we de gecreëerde paraticles nog een path aan de hand van een feedbackloop. Desondanks dat ik initieel dacht dat dit veel beter ging aanleunen bij wat ik wou bereiken en de richting gin zijn die ik ging uitgaan was ik toch niet helemaal verkocht. Het voordeel binnen deze techniek was dat er al veel meer echt een visual was die constant in de achtergrond was, waardoor er van het eerste moment sowieso iets gebeurde. Het nadeel was dat met de feedbackloop voor een path te creëren die ik zelf ook wil gaan gebruiken de lijnen heel messy worden en je misschien niet direct doorhebt hoe je als gebruiker een invloed hebt, terwijl er wel drie parameters zijn die je makkelijk kan linken aan de ultrasonic sensor: X, Y en Z. De attractor is ook duidelijker van een meer 3D perspectief hiermee zie je duidelijker dat de particles naar boven worden gezogen en niet wat raar in een gat, maar dit zou er puur als start op de beamer wel raar gaan uitzien.

Desondanks dat het in het begin visueel interessanter is om de gebruiker een bestaande visual te laten beïnvloeden is het wel zeer snel zeer saai of niet altijd even duidelijk. Ik keek daarom net de omgekeerde richting uit, een gebruiker beleeft veel meer plezier aan het maken van zijn eigen visual, hierdoor gaan er ook leukere en uniekere creaties gemaakt worden en gaan mensen ook duidelijk zien wat ze doen aangezien je van nul start.

Ik begon dan ook aan het uitwerken van dit idee, hiervoor vond ik niet direct een leidraad dus besloot ik om op mijn eigen kennis te rekenen en van nul te starten. Het idee zou zijn dat de gebruikers aan de hand van een shape ( starten met cirkel) op en canvas kunnen bewegen en dat hieruit particles gaan stromen om zo een nieuwe visual te gaan creëren.

Ik maakte de basic setup zoals ik deze had aangeleerde de afgelopen weken, maar zorgde er nu voor dat in plaats van dat direct een heel vlak uit particles ging gaan bestaand dat ik deze kon gaan controleren met een cirkel die voor nu werd aangestuurd door mijn muis. Dit deed ik door een multiply te plaatsen over dit typische vlak en hierdoor een mask te gaan uitvoeren. Een probleem dat me opviel was dat mijn cirkel allemaal punten vanuit het midden achter zich kreeg, ik probeerde te kijken waar de oorzaak lag maar merkte niet direct waar dit aan lag, ik bekijk dan individueel de parameters en ging hiermee spelen tot dat ik zag dat toen ik input smoothness wijzigde ik een verandering kreeg er waren minder punten, ik deed dit dan maar voor alle operators maar het probleem was nog steeds niet weg. Na veel zoeken kwam ik uiteindelijk bij mijn input cirkel de boosdoener tegen, door hier de softness type aan te passen naar linear verdween het probleem en kon ik verder gaan met mijn opdracht.