« X3D - regroupement et transformations » : différence entre les versions

De EduTech Wiki
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 13 : Ligne 13 :
* '''Anchor''': ce noeud permet de d'insérer des liens URL vers une autre scène de X3D ou une autre page dans un navigateur Web. En cliquant sur l'ancre, le contenu est remplacé par un autre contenu.
* '''Anchor''': ce noeud permet de d'insérer des liens URL vers une autre scène de X3D ou une autre page dans un navigateur Web. En cliquant sur l'ancre, le contenu est remplacé par un autre contenu.
* '''Billboard''': ce noeud de groupement qui peut contenir plusieurs noeuds. En clair, imaginons un contenu faisant face à un utilisateur. Ce noeud permet de définir un axe autour duquel l'objet fera des rotations.
* '''Billboard''': ce noeud de groupement qui peut contenir plusieurs noeuds. En clair, imaginons un contenu faisant face à un utilisateur. Ce noeud permet de définir un axe autour duquel l'objet fera des rotations.
* '''Collision''': Le nœud de collision est un nœud de regroupement qui spécifie les propriétés de détection de collision pour les enfants du noeud. Les noeuds de collision peuvent être utilisés pour générer des événements lorsque le spectateur et les objets entrent en collision. Ils peuvent aussi être utilisés pour désigner que certains objets ne doivent pas être considérés comme étant soumis à la détection de collision.
* '''Collision''': Le nœud de collision est un nœud de regroupement qui spécifie les propriétés de détection de collision pour les noeuds enfants. Les noeuds de collision peuvent être utilisés pour générer des événements lorsque le spectateur et les objets entrent en collision. Ils peuvent aussi être utilisés pour désigner que certains objets ne doivent pas être considérés comme étant soumis à la détection de collision.
<br>
<br>


Ligne 89 : Ligne 89 :
</X3D>
</X3D>
</source>
</source>
<br>


= Transformations =
= Transformations =
Le noeud '''Transform''' est un noeud de regroupement qui permet de définir un système de coordonnées (axe X, Y, Z) pour les noeuds enfants. Ce noeud offre la possibilité de faire des translations, des rotations et des mises à l'échelle.
La racine d'une scène graphique ainsi que toutes les formes que vous créez dans X3D se réfèrent X3D est toujours aux coordonnées (0 0 0).
Transformer les nœuds peut se traduire par une origine locale à une autre coordonnée. Par exemple. si vous souhaitez créer deux cubes les uns à côté avec le Shape Box, l'un des deux doit être définie à l'intérieur d'une transformation
Ces nouvelles coordonnées peuvent
= Translations =  
= Translations =  






Lien
X3Dom documentation: http://doc.x3dom.org/
Tutoriels de Brutzman


catégorie
catégorie

Version du 19 avril 2016 à 10:58

Cet article est en construction: un auteur est en train de le modifier.

En principe, le ou les auteurs en question devraient bientôt présenter une meilleure version.



Introduction

Un fichier X3D fonctionne comme un "arbre". Dans ce type de fichier, on retrouve les concepts de noeuds parents et noeuds enfants.

Le regroupement des nœuds organisent des objets dans X3D. Pour cela, il existe plusieurs possibilités:

  • Group et StaticGroup: regroupe des noeuds ensemble.
  • Transform : c'est probablement le noeud le plus important. Il contrôle la position, l'orientation et l'échelle (scale) des noeuds enfants.
  • Inline: ce noeud permet d'importer d'autres objets X3D (scene).
  • LOD (level of detail): ce noeud fournit différents niveaux de qualité géométrique selon le point de vue de l'utilisateur (proche ou éloigné).
  • Switch: ce noeud peut être utilisé pour changer facilement le contenu d'une scène ou pour cacher certains nœuds
  • Anchor: ce noeud permet de d'insérer des liens URL vers une autre scène de X3D ou une autre page dans un navigateur Web. En cliquant sur l'ancre, le contenu est remplacé par un autre contenu.
  • Billboard: ce noeud de groupement qui peut contenir plusieurs noeuds. En clair, imaginons un contenu faisant face à un utilisateur. Ce noeud permet de définir un axe autour duquel l'objet fera des rotations.
  • Collision: Le nœud de collision est un nœud de regroupement qui spécifie les propriétés de détection de collision pour les noeuds enfants. Les noeuds de collision peuvent être utilisés pour générer des événements lorsque le spectateur et les objets entrent en collision. Ils peuvent aussi être utilisés pour désigner que certains objets ne doivent pas être considérés comme étant soumis à la détection de collision.


Regroupement (grouping)

Le noeud Group recueille les noeuds ayant un but connexe. Souvent, ces nœuds sont proches les uns des autres dans l'espace 3D.

Si un DEF (DEF defini un ID unique pour le noeud), le groupe de noeuds peut être réutilisés. (voir en:X3D shape and geometry).

Ci dessous, voici un exemple de scène faite avec seulement 3 formes. Nous définissons une maison avec un cube et le cylindre que nous réutilisons deux fois.

X3d-house.jpg


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.2//EN" "../../schemas/x3d-3.2.dtd">
<X3D profile='Interchange' version='3.1' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='http://www.web3d.org/specifications/x3d-3.1.xsd'>
  <head>
    <meta content='house.x3d' name='title'/>
    <meta content='Example for Group node' name='description'/>
  </head>
  <Scene>
    <!-- Creation d'un fond blanc pour l'impression -->
    <Background skyColor='0.9 0.9 0.9'/>

    <!-- Definir une maison: un cube avec un cône sur le dessus -->
    <Group DEF='House'>

      <Transform translation="0 1 0">
	<Shape>
	  <Appearance>
	    <Material diffuseColor='1 1 0'/>
	  </Appearance>
	  <Box/>
	</Shape>
      </Transform>

      <Transform translation="0 2.5 0">
	<Shape DEF='Roof'>
	  <Appearance>
	    <Material diffuseColor='1 0 0'/>
	  </Appearance>
	  <Cone bottomRadius="2" height="1">
	  </Cone>
	</Shape>
      </Transform>

    </Group>

    <!-- Réutilisation: réduction de la forme et positionnement sur le dessus de la maison -->
    <Transform translation="0 2.5 0" scale="0.5 0.5 0.5">    
      <Shape USE="House"/>
    </Transform>

    <!-- Réutilisation : compresser la forme et la mettre à côté -->
    <Transform translation="3.5 0 0" scale="1.0 0.5 0.5">    
      <Shape USE="House"/>
    </Transform>

    <Inline Center="0.0 0.0 0.0" bboxSize="10.5 10.5 10.5" url="../common/coordinates.x3d"/>

    <Transform translation="0 -0.05 0">
      <Shape DEF="floor">
	<Appearance>
	  <Material diffuseColor='0 1 0'/>
	</Appearance>
	<Cylinder height="0.1" radius="5"/>
      </Shape>
    </Transform>

    <Inline url='"../common/coordinates.x3d" "http://tecfa.unige.ch/guides/x3d/ex/common/coordinates.x3d"'/>

  </Scene>
</X3D>


Transformations

Le noeud Transform est un noeud de regroupement qui permet de définir un système de coordonnées (axe X, Y, Z) pour les noeuds enfants. Ce noeud offre la possibilité de faire des translations, des rotations et des mises à l'échelle.

La racine d'une scène graphique ainsi que toutes les formes que vous créez dans X3D se réfèrent X3D est toujours aux coordonnées (0 0 0).

Transformer les nœuds peut se traduire par une origine locale à une autre coordonnée. Par exemple. si vous souhaitez créer deux cubes les uns à côté avec le Shape Box, l'un des deux doit être définie à l'intérieur d'une transformation

Ces nouvelles coordonnées peuvent



Translations

Lien X3Dom documentation: http://doc.x3dom.org/ Tutoriels de Brutzman

catégorie