DSAA D4+ : Ressources techniques

TouchDesigner (introduction)

TouchDesigner

TouchDesigner est un logiciel de création interactive très polyvalent, qui repose, comme Cavalry, sur une logique procédurale. L'interface est dite "à base de noeuds" (node-based interface) : un projet dans TD est constitué d'un réseau d'opérateurs (TOP, CHOP, SOP, etc.), connectés entre eux. Ces opérateurs peuvent aussi être regroupés dans des sous-réseaux appelés base components, et ainsi ajouter de la profondeur au projet. Les composants ou containers sont aussi des sous-réseaux, qu'il est possible de glisser déposer depuis la palette, ou depuis des fichiers externes .tox. Les fichiers TD portent l'extension .toe.

Les domaines d'application sont très nombreux : installations interactives, motion design, création sonore, 3d temps réel, VR, robotique, modèles de diffusion, etc. Exemples :

1 : Contrôler les réglages d'une image avec Mouse In CHOP

Mouse In CHOP renvoie 2 valeurs (cf. mouseX et mouseY dans p5.js) : tx et ty.

Dans l'exemple ci-dessous, les positions x et y de la souris vont faire varier 2 paramètres de l'image : la saturation et la luminosité.
Les opérateurs utilisés :

Pour modifier les réglages d'une image il est possible d'utiliser les TOP suivants :

Comme dans Cavalry et p5.js, il est possible d'effectuer des calculs sur les valeurs qui circulent dans le réseau. Math CHOP permet d'en effectuer un grand nombre, dont le très utile Range pour convertir une valeur d'un intervalle à un autre. Dans l'exemple ci-dessus, je convertis tx de l'intervalle -1 1, à l'intervalle 1 3

Range ou map dans le Math CHOP

Exercice : trouver l'opérateur qui permet d'afficher la webcam, et modifier l'image avec une série de TOP contrôlés par le clavier.

2 : Animer une forme avec l'oscillateur LFO CHOP

Ce CHOP correspond à l'Oscillator dans Cavalry. Il renvoie une valeur entre -1 et 1, à une certaine fréquence.
Il est possible de référencer ces valeurs pour modifier les paramètres d'autres opérateurs, comme ici le rayon d'un cercle :

3 : Faire du bruit avec les opérateurs Noise

Il est possible de créer différents types d'opérateurs de Noise : TOP, CHOP ou SOP. Le TOP créera une texture de pixels (cf. 2e exemple), le CHOP créera lui des données à utiliser dans votre réseau, et enfin le SOP crée un Noise pour la 3D (cf. plus bas).

Dans l'onglet channel des propriétés de Noise : il peut être utile de créer diférents channels en les nommant les uns à la suite des autres, séparés par un espace. Ou encore mieux : écrire channel[1-4] pour en créer 4 d'un coup.

L'exemple ci-dessous crée 3 valeurs de Noise avec un Noise CHOP, appliquées à la position x et y et au rayon d'un Circle TOP.

Il est également possible d'animer les paramètres avec la variable absTime :

Ci-dessous absTime.seconds déplace la génération du Noise TOP :

4 : Générer et animer des formes en 3D

Les opérateurs qui permettent de générer des formes en 3D et de les manipuler sont les SOP.
Les COMP Geometry, Camera, Lights et le Render TOP sont indispensables pour diffuser le résultat dans le Viewer.

Dans l'exemple ci-dessous, une Sphere SOP est déformée par un Noise SOP. Le rendu Low poly est rendu possible par le Facet SOP :