Tutoriel PS3
Theme Dynamique miniature

TUTO - Créer un Thème Dynamique de A à Z

par
Source: Forum PS3gen

Vous rêvez de posséder un thème dynamique à votre goût ? Alors suivez ce tuto, et vous serez capables de vous en faire un.

Bon, c'est bien beau tout ça, nous avons fait un cube, un arrière-plan, et avons animé le tout, mais vous ne voulez sûrement pas en rester là, non ? Maintenant que vous connaissez la façon de vous y prendre, les outils à utiliser, et comment compiler le tout, nous vous proposons un tableau complet regroupant toutes les balises à utiliser en XML, ainsi que les attributs disponibles.

Le même tableau vous sera fourni au prochain chapitre, mais cette fois-ci pour le JavaScript. Chaque balise et attribut sera accompagné d'une description, ainsi que d'un exemple sous forme de code source.

La plupart des infos proviennent des documents fournis par le SDK, nous n'inventons rien, donc si quelque chose ne fonctionne pas chez vous, c'est sûrement que vous vous y prenez mal. N'hésitez pas à tester différentes méthodes, et si vous êtes toujours dans une impasse, alors n'hésitez pas à poster sur le forum, Dragoon1010 et Corwin se feront une joie de vous aider.

Trêve de bavardage, passons au fameux tableau, celui-ci est divisé en quatre parties, la première concerne les balises, la deuxième les différents attributs, la troisième vous donne une description des attributs et des balises et la dernière partie contient un exemple concret.

Balise Attribut Definition Exemple

raf

============= Ouvre et ferme le RAF ===============
raf

angle_unit

Définit l'unité des angles angle_unit="degree"
model id Donne un nom à notre modèle id="mdl_cube"
model file Permet d'importer un DAE file="cube.dae"
model vertex_color Définit la couleur des vertexs vertex_color="1"
animation
============= Fait appel à une animation dans un DAE ===============
animation id Donne un nom à notre animation id="anim_cube"
animation file Définit un chemin d'accès pour le DAE file="cube.dae"
animation start Définit la première frame de l'animation start="1.0"
animation end Définit la dernière frame de l'animation end="2.0"
animation sampling_rate Permet de faire un saut de frame sampling_rate="2"
material ============= Créé un matériel ===============
material id Donne un nom à notre matériel id="mtrl_cube"
material effect Définit un effet sur notre matériel effect="pure_texture"
texture
============= Fait appel à une texture au format JPG/DDS ===============
texture file Permet d'importer une texture file="cube.jpg"
texture type Définit le mode de fusion de la texture type="color_map"
texture color Définit une couleur RGB pour la texture color="255,30,126"
actor ============= Lie nos objets/textures/animations ensemble ===============
actor id Donne un nom à notre acteur id=cube"
actor modelP Choisit le modèle à utiliser model="mdl_cube"
actor materialP Choisit le matériel à utiliser material="mtrl_cube"
actor position Définit la position de notre acteur position="10,15,22"
actor rotation Définit la rotation de notre acteur rotation="45,90,180"
actor color Définit la couleur de notre acteur color="225,155,20"
actor uv_scale Définit la taille de la texture sur l'acteur uv_scale="10,30"
actor uv_offset Définit la position de la texture sur l'acteur uv_offset="20,15"
actor anim_weight Définit la priorité d'une animation anim_weight="1"
actor anim_speed Définit la vitesse de lecture d'une animation anim_speed="2.0"
actor anim_time Définit le temps d'une animation anim_time="20"
actor scale Définit la taille d'un acteur scale="1,1,1"
actor zsort Permet d'inverser les positions avant/arrière zsort="unspecified"
camera ============= Fait appel à une caméra de visée ===============
camera id Donne un nom à notre caméra id="camera"
camera file Permet d'importer une caméra file="cube.dae"
camera type Permet de changer le type de vue type="perspective"
camera yfov Permet d'augmenter la vision sur l'axe Y yfov="20"
camera ymag Permet de choisir le mode de vision ymag"perspective"
camera znear Permet de choisir la position mini d'affichage znear="10"
camera zfar Permet de choisir la position maxi d'affichage zfar="20"
camera position Définit la position de notre caméra position="10,12,7"
camera direction Définit la direction de notre caméra direction="-10,14,20"
camera up Définit l'axe dirigé vers le haut up="0,1,0"
lumiere ============= Fait appel à une lumière ===============
lumiere id Donne un nom à notre lumière id="point_light"
lumiere file Permet d'importer une lumière file="point_light.dae"
lumiere type Définit le type de lumière (ambiante ou point) type="point"
lumiere color Définit la couleur de notre lumière color="255,200,100"
lumiere position Définit la position de notre lumière position="30,12,15"
lumiere direction Définit la direction de notre lumière (point) direction="12,20,36"
lumiere attenuation Définit l'atténuation de la lumière attenuation="1,0,0"
script2 ============= Fait appel à un script externe JavaScript ===============
script2 file Permet d'importer un Script JavaScript script="cube.js"

Voilà, vous connaissez toutes les balises et attributs existant pour le XML, maintenant nous allons vous donner les paramètres. Un paramètre est à mettre en valeur à un attribut. Par exemple, lorsque nous faisons appel à l'attribut id dans la balise model, nous devons lui fournir un paramètre de type nom_id. Voilà ce qu'est un paramètre d'attributs.

Pour ce qui est des id, peu importe le paramètre que vous lui donnez, il sert juste de lien, mais certains attributs ont besoin de paramètres bien définis, c'est le cas par exemple de l'attribut type, ou encore de l'attribut effect, et ce sont justement les paramètres de ces deux attributs que nous allons voir.

Voici deux autres tableaux, le premier concerne les paramètres de l'attribut effect, le second quant à lui concerne l'attribut type. Vu que seuls les paramètres changent, nous vous avons mis un exemple en début de chaque tableau.

Paramètres de l'attribut Effect : (ex = effect="pure_texture")

Paramètre Définition
pure_texture Texture classique
pure_texture_alpha_0_depth_0 Retrait de l'alpha et de la profondeur sur une texture classique
pure_texture_alpha_1_depth_0 Retrait de la profondeur sur une texture classique
pure_texture_alpha_0_depth_1 Retrait de la couche alpha sur une texture classique
basic_lighting Effet de réflexion des lumières
basic_lighting_alpha_add Effet de réflexion avec ajout d'une chouche alpha
basic_lighting_edge_lit Effet de réflexion avec dérivation de la lumière sur les bords
basic_lighting_edge_lit_alpha_0 Idem qu'au dessus avec le retrait de la couche alpha
basic_lighting_alpha_0 Effet de réflexion avec retrait de la couche alpha

Paramètres de l'attribut Type : (ex = type="color_map")

Paramètre Définition
color_map Couleurs d'origine de la texture
normal_map Ajout d'une texture en normal mapping
specular_map Ajout d'une texture en spécularity mapping
tangent_normal_map Ajout d'une texture en normal mapping (tangent)

Voilà, tout n'a pas été mis ici, car cela serait bien trop long à répertorier, mais si vous possédez les outils RAF compilés, alors nous vous conseillons d'aller regarder dans les PDF du SDK pour plus d'informations.

Maintenant, vous avez toutes les cartes en mains pour créer un bon XML. la prochaine et dernière page vous permettra de connaître toutes les commandes JavaScript, spécifiques au PlayStation JavaScript (PSJS).

Mots-clés

Commenter 132 commentaires

Daiisuke
hellsbells67130 Wrote:Merci pour ce tuto, mais existe t-il un logiciel de création de thèmes dynamiques où on peut insérer une vidéo ??


C'est se que je cherche aussi, comme sa je mettrai mais beau montage video comme celui du Killzone :D
Signaler Citer
Avatar de l’utilisateur
hellsbells67130
Dragoon1010 Wrote:Non il n'en existe pas désolé. Puis ce tuto as aussi été créer dans un but, c'est de pouvoir faire des thème complet basé sur de la 3D.


Ok, merci pour la réponse. Dommage... j'essaierai de créer un thème dynamique en 3D quand la motivation y sera. ;)
Signaler Citer
Avatar de l’utilisateur
Tom Vivares
Le principe pour mètre des vidéos en fond est d'importer chaque image sur des planes et de les faire apparaitre puis disparaitre dans l'ordre. Mais nous encourageons pas cette pratique car elle est beaucoup trop utilisé pour deux de nos collègue Glowball ou a100miles2go.
Signaler Citer