Forums GAMERGEN
TUTORIAL - Creer un thème 3d dynamic avec le SDK
TUTORIAL - Creer un thème 3d dynamic avec le SDK
Tutorial for make Dynamic theme with SDK (Raf tool) - YouTube
JE NE SUIS PAS RESPONSABLE DU TÉLÉCHARGEMENT DU SDK DE SONY.
XML Command :
<model id="id_model" file="model.dae" vertex_color="" >
<animation id="animation" file="animation.dae" start="1" end="100" sampling_rate="1" />
</model>
<material id="id_material" effect="pure_texture / pure_texture_alpha_0_depth_1 / pure_texture_alpha_1_depth_0 / pure_texture_alpha_0_depth_0 / basic_lighting / basic_lighting_alpha_0 / basic_lighting_edge_lit / basic_lighting_edge_lit_alpha_0 / basic_lighting_alpha_add" >
<texture file="texture.jpg" type="color_map / normal_map / specular_map / tangent_normal_map" />
</material>
<actor id="name" model="id_model" material="id_material" position="x,y,z" rotation="x,y,z" scale="x,y,z" color="r,g,b,a" uv_scale="u,v" uv_offset="u,v" anim_weight="anim0, anim1, anim2, anim3" anim_speed="anim0, anim1, anim2, anim3" anim_time="anim0, anim1, anim2, anim3" />
<camera id="name" file="camera.dae" type="perspective / orthographic" yfov="1" ymag="1" znear="1" zfar="1" position="x,y,z" direction="x,y,z" up="x,y,z" />
<light id="name" file="light.dae" type="ambient / point" color="r,g,b" position="x,y,z" direction="x,y,z" attenuation="1,1,1" />
<script file="script.js" />
-----------------------------------------------------------------------------------------------------------------------------
JS Command :
var name = new Actor("name")
name.position = <x,y,z>
name.rotation = <x,y,z>
name.direction = <x,y,z>
name.up = <x,y,z>
name.scale = <x,y,z>
name.color = <r,g,b,a>
name.uv_scale = <u,v>
name.uv_offset = <u,v>
name.enable = true / false
name.timer[]
var cam = new Camera("name")
cam.position = <x,y,z>
cam.direction = <x,y,z>
cam.up = <x,y,z>
cam.aspect = 1
cam.yfov = 1
cam.ymag = 1
var light = new light("name")
light.position = <x,y,z>
light.direction = <x,y,z>
light.color = <r,g,b,a>
light.attenuation = <1,1,1>
var date = new Date()
var year = date.Year
var month = date.Month
var day = date.Day
var hour = date.Hour
var minute = date.Minute
var second = date.Second
System.timer[0]
System.interval
System.resolution
writeln("hello world")
Interpolation linéeaire :
interpolation = INTERPOLATION_LINEAR
(aucun parametre)
3-D Bezier interpolation :
interpolation = INTERPOLATION_BEZIER
parametre = <B1.x, B1.y, B2.x, B2.y>
Exemple :
1: var cube = new Actor("cube");
2: cube.setPosition( <0, 1, 2>, 2, INTERPOLATION_LINEAR );
3: cube.setPosition( <10, 10, -1>, 3, INTERPOLATION_BEZIER, <0.4, 0.0, 0.6, 1.0> );
Explication :
Dans la ligne 1 : On créer l'objet "cube"
Dans la ligne 2 : "cube" se déplace jusqu'à la position <x,y,z> = <0,1,2> sur 2 secondes. La position des frames intermédiaire sont calculé grace à l'interpolation linéaire.
Dans la ligne 3 : "cube" se déplace jusqu'à la position <x,y,z> = <10,10,-1> sur 3 secondes. La position Pcurrent(s) dans les frames intermédiaire sont calculé grace à l'interpolation bezier utilisant la curve bezier suivante :
-setPosition(position, [time], [interpolation], [parameter] )
Translation de la position actuel jusqu'à la position spécifié, est exécuté sur le temps spécifié (secondes)
-setRotation(rotation, [time], [interpolation], [parameter] )
Rotation de l'angle actuel jusqu'à l'angle spécifié, est exécuté sur le temps spécifié (secondes)
-setDirection(direction, [time], [interpolation], [parameter] )
Tourne face à la direction spécifié, est exécuté sur le temps spécifié (secondes)
-setUp(up, [time], [interpolation], [parameter] )
Tourne pour aligner avec la direction de monté spécifié, est exécuté sur le temps spécifié (secondes)
-setScale(scale, [time], [interpolation], [parameter] )
Redimenssionne l'objet actuel avec la redimenssion spécifié, est exécuté sur le temps spécifié (secondes)
-setColor(color, [time], [interpolation], [parameter] )
Change la couleur avec la couleur spécifié, est exécuté sur le temps spécifié (secondes)
-setUVScale(uv_scale, [time], [interpolation], [parameter] )
Change la taille de la texture par rapport à la taille spécifié, est exécuté sur le temps spécifié (secondes)
-setUVOffset(uv_offset, [time], [interpolation], [parameter] )
Change l'offset de la texture par rapport à l'offset spécifié, est exécuté sur le temps spécifié (secondes)
-setAnimSpeed(index, speed, [time], [interpolation], [parameter])
Change la vitesse de l'animation avec la vitesse spécifié, est exécuté sur le temps spécifié (secondes), pour l'animation spécifié dans l'index
-getAnimSpeed(index)
Retourne la vitesse de l'animation spécifié dans l'index
-getAnimIndex(id)
Retourne l'index de l'animation avec les attribut d'id spécifié avec l'id
JE NE SUIS PAS RESPONSABLE DU TÉLÉCHARGEMENT DU SDK DE SONY.
XML Command :
<model id="id_model" file="model.dae" vertex_color="" >
<animation id="animation" file="animation.dae" start="1" end="100" sampling_rate="1" />
</model>
<material id="id_material" effect="pure_texture / pure_texture_alpha_0_depth_1 / pure_texture_alpha_1_depth_0 / pure_texture_alpha_0_depth_0 / basic_lighting / basic_lighting_alpha_0 / basic_lighting_edge_lit / basic_lighting_edge_lit_alpha_0 / basic_lighting_alpha_add" >
<texture file="texture.jpg" type="color_map / normal_map / specular_map / tangent_normal_map" />
</material>
<actor id="name" model="id_model" material="id_material" position="x,y,z" rotation="x,y,z" scale="x,y,z" color="r,g,b,a" uv_scale="u,v" uv_offset="u,v" anim_weight="anim0, anim1, anim2, anim3" anim_speed="anim0, anim1, anim2, anim3" anim_time="anim0, anim1, anim2, anim3" />
<camera id="name" file="camera.dae" type="perspective / orthographic" yfov="1" ymag="1" znear="1" zfar="1" position="x,y,z" direction="x,y,z" up="x,y,z" />
<light id="name" file="light.dae" type="ambient / point" color="r,g,b" position="x,y,z" direction="x,y,z" attenuation="1,1,1" />
<script file="script.js" />
-----------------------------------------------------------------------------------------------------------------------------
JS Command :
var name = new Actor("name")
name.position = <x,y,z>
name.rotation = <x,y,z>
name.direction = <x,y,z>
name.up = <x,y,z>
name.scale = <x,y,z>
name.color = <r,g,b,a>
name.uv_scale = <u,v>
name.uv_offset = <u,v>
name.enable = true / false
name.timer[]
var cam = new Camera("name")
cam.position = <x,y,z>
cam.direction = <x,y,z>
cam.up = <x,y,z>
cam.aspect = 1
cam.yfov = 1
cam.ymag = 1
var light = new light("name")
light.position = <x,y,z>
light.direction = <x,y,z>
light.color = <r,g,b,a>
light.attenuation = <1,1,1>
var date = new Date()
var year = date.Year
var month = date.Month
var day = date.Day
var hour = date.Hour
var minute = date.Minute
var second = date.Second
System.timer[0]
System.interval
System.resolution
writeln("hello world")
Interpolation linéeaire :
interpolation = INTERPOLATION_LINEAR
(aucun parametre)
3-D Bezier interpolation :
interpolation = INTERPOLATION_BEZIER
parametre = <B1.x, B1.y, B2.x, B2.y>
Exemple :
1: var cube = new Actor("cube");
2: cube.setPosition( <0, 1, 2>, 2, INTERPOLATION_LINEAR );
3: cube.setPosition( <10, 10, -1>, 3, INTERPOLATION_BEZIER, <0.4, 0.0, 0.6, 1.0> );
Explication :
Dans la ligne 1 : On créer l'objet "cube"
Dans la ligne 2 : "cube" se déplace jusqu'à la position <x,y,z> = <0,1,2> sur 2 secondes. La position des frames intermédiaire sont calculé grace à l'interpolation linéaire.
Dans la ligne 3 : "cube" se déplace jusqu'à la position <x,y,z> = <10,10,-1> sur 3 secondes. La position Pcurrent(s) dans les frames intermédiaire sont calculé grace à l'interpolation bezier utilisant la curve bezier suivante :
-setPosition(position, [time], [interpolation], [parameter] )
Translation de la position actuel jusqu'à la position spécifié, est exécuté sur le temps spécifié (secondes)
-setRotation(rotation, [time], [interpolation], [parameter] )
Rotation de l'angle actuel jusqu'à l'angle spécifié, est exécuté sur le temps spécifié (secondes)
-setDirection(direction, [time], [interpolation], [parameter] )
Tourne face à la direction spécifié, est exécuté sur le temps spécifié (secondes)
-setUp(up, [time], [interpolation], [parameter] )
Tourne pour aligner avec la direction de monté spécifié, est exécuté sur le temps spécifié (secondes)
-setScale(scale, [time], [interpolation], [parameter] )
Redimenssionne l'objet actuel avec la redimenssion spécifié, est exécuté sur le temps spécifié (secondes)
-setColor(color, [time], [interpolation], [parameter] )
Change la couleur avec la couleur spécifié, est exécuté sur le temps spécifié (secondes)
-setUVScale(uv_scale, [time], [interpolation], [parameter] )
Change la taille de la texture par rapport à la taille spécifié, est exécuté sur le temps spécifié (secondes)
-setUVOffset(uv_offset, [time], [interpolation], [parameter] )
Change l'offset de la texture par rapport à l'offset spécifié, est exécuté sur le temps spécifié (secondes)
-setAnimSpeed(index, speed, [time], [interpolation], [parameter])
Change la vitesse de l'animation avec la vitesse spécifié, est exécuté sur le temps spécifié (secondes), pour l'animation spécifié dans l'index
-getAnimSpeed(index)
Retourne la vitesse de l'animation spécifié dans l'index
-getAnimIndex(id)
Retourne l'index de l'animation avec les attribut d'id spécifié avec l'id
Dernière édition par JBTest le 01 Déc 2011, 00:32, édité 1 fois.
- Corwin_1_1
Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK
Je crois que ton topic va être lock + censuré vu qu'il faut télécharger le SDK de Sony.
-
Chirba_93
Gamer Bronze
- Messages: 1910
- Inscription: 04 Fév 2011, 17:20
- Prénom: Aucun
- Pays: France
- Sexe: Homme
Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK
Bah heureusement en plus ça à l'air interressant à faire ça serait dommage qu'il soit lock.
-
Chirba_93
Gamer Bronze
- Messages: 1910
- Inscription: 04 Fév 2011, 17:20
- Prénom: Aucun
- Pays: France
- Sexe: Homme
Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK
Surtout que c'est le premier "tutoriel" sur la création de thème dynamique 3d entièrement fait à la main. Après je me méfie de Sony car il peuvent porter plainte facilement, mais connaissant les lois je fait tout pour éviter cela sur tout mes travaille. Par exemple le logiciel que je vais sortir pour aider la création de theme sera en accord avec toute les lois utilisé par sony. Après on doit bien passer par des choses illégale comme la reverse engineering pour arriver à son but.
- Corwin_1_1
Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK
GG corwin, hate de créer mes premiers thèmes dynamique
-
Dragoon1010
Gamer Or
- Messages: 8876
- Inscription: 29 Juil 2010, 09:23
- Localisation: En train de penser...
- Prénom: Jonathan
- Pays: France
- Sexe: Homme
Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK
Ha sa faisais longtemps Dragoon Si ta besoin de quelque chose n'hésite pas à me demander.
- Corwin_1_1
Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK
Bon aller, je me lance là, une fois que j'aurais saisie comment ça marche je me ferais un petit GUI. D'ailleurs tien moi au jus sur l'avancé de ton application, car au final un simple gui est suffisant (a condition de posséder les .exe du sdk ^^).
edit::bon, j'ai commencer a faire un test tout bête, mais ça ne marche pas, si tu saurais me dire d'ou ça viens :
Et l'erreur viens de là plus précisement :
J'ai donc été voir ce fameux fichier (qui au passage se créer tout seul), et en effet, a plusieurs endroit (trois plus précisément), le fichier utilise "scale" pour les dimensions de mon objet.
Un exemple :
bref, je vois pas pourquoi il se prend la tête avec ça, alors que c'est généré automatiquement. Si tu sais m'aider, ça serais cool !
edit2:: bon je crois avoir localiser le problème. En fait j'ai supprimer les "scale" pour tester, ça as marcher, j'ai continuer, et la j'ai eu un problème lors de la compilation du p3t :
Bref après 3h de recherche acharnée, j'en ai compris que mon "p3tcompiler.exe" ne fonctionnais pas comme il fallais, puisque j'ai enfin réussi a m'en proccurer un qui ne m'affiche pas cette erreur.
Suite a ça j'ai tenter de le mettre sur la ps3, et le fond est entièrement noir, donc j'en recréer un autre, et la je retombe sur cette fichu erreur "scale", donc je pense que le problème vient du "raf_pack.exe", je tente donc de DL un autre SDK pour voir, je vous tien informé.
edit::bon, j'ai commencer a faire un test tout bête, mais ça ne marche pas, si tu saurais me dire d'ou ça viens :
- Code: Select All Code
Microsoft Windows [version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. Tous droits réservés.
C:\Users\Sylvia>cd desktop/raftool
C:\Users\Sylvia\Desktop\RAFtool>raf_compiler.exe test.xml -o test.raf
----------------
Create Directory : .\tmp\
----------------
----------------
Starting scene analysis : .\tmp\cube.dae
succeeded
----------------
----------------
Execute : C:\Users\Sylvia\Desktop\RAFtool\raf_geom.exe --enable-scaled-skinnin
g --inv-bind-mats-out .\tmp\cube.edge.invbind cube.dae .\tmp\cube.edge
Loading cube.dae...
Converting instance 1/1 to Edge scene...
Merging identical vertexes...0 (out of 24) vertexes removed
Partitioning scene into segments...
Dumping data to .\tmp\cube.edge.h...
Writing output file .\tmp\cube.edge...
----------------
----------------
Execute : C:\Users\Sylvia\Desktop\RAFtool\raf_anim.exe -skel cube.dae .\tmp\cu
be.skel
----------------
----------------
Execute : cp cube.jpg .\tmp\cube.jpg
----------------
Actual Texture Size : -126 Bytes
----------------
Starting scene analysis : .\tmp\point_light.dae
succeeded
----------------
----------------
Starting scene analysis : .\tmp\ambiant_light.dae
succeeded
----------------
----------------
Execute : C:\Users\Sylvia\Desktop\RAFtool\raf_script.exe test.js
------------------------------------------------------------------------
PSJS Compiler for RAF version 1.00
SCE CONFIDENTIAL
Copyright (C) 2009 Sony Computer Entertainment Inc. All Rights Reserved.
------------------------------------------------------------------------
compile succeeded.
----------------
----------------
Execute : (null) (null) (null) mv test.jsx .\tmp\test.jsx
----------------
Total texture size -126 Bytes ( / maximum 15728640 Bytes, -0.0% used)
Total geometry & script size 1283 Bytes ( / maximum 1048576 Bytes, 0.1% used)
Total actor size 513 Bytes ( / maximum 1310720 Bytes, 0.0% used)
----------------
Execute : C:\Users\Sylvia\Desktop\RAFtool\raf_pack.exe .\tmp\test.sxml
Error: unrecognized attribute name 'scale'
Error 1
----------------
RAF Compiler Failed
C:\Users\Sylvia\Desktop\RAFtool>
Et l'erreur viens de là plus précisement :
- Code: Select All Code
----------------
Execute : C:\Users\Sylvia\Desktop\RAFtool\raf_pack.exe .\tmp\test.sxml
Error: unrecognized attribute name 'scale'
Error 1
----------------
J'ai donc été voir ce fameux fichier (qui au passage se créer tout seul), et en effet, a plusieurs endroit (trois plus précisément), le fichier utilise "scale" pour les dimensions de mon objet.
Un exemple :
<actor id="cube" model="mdl_cube" material="mtrl_cube" position="0.000000, 0.000000, 0.000000" rotation="0.000000, 0.000000, 0.000000" scale="1.000000, 1.000000, 1.000000" color="1, 1, 1, 1" uv_scale="1, -1" uv_offset="0, 0" anim_weight="1, 0, 0, 0, 0, 0, 0, 0" anim_speed="1, 1, 1, 1, 1, 1, 1, 1" anim_time="0, 0, 0, 0, 0, 0, 0, 0" zsort=""/>
<camera id="camera" type="0" yfov="0.927292" ymag="0" znear="0.01" zfar="1000" position="0, 0, 10" direction="0, 0, -2" up="0, 1, 0"/>
<light id="ID4" type="0" attenuation="1.7, 0, 0" color="1.000000, 1.000000, 1.000000" position="0.000000, 0.000000, 0.000000" scale="1.000000, 1.000000, 1.000000" direction="0.000000, 0.000000, -1.000000"/>
bref, je vois pas pourquoi il se prend la tête avec ça, alors que c'est généré automatiquement. Si tu sais m'aider, ça serais cool !
edit2:: bon je crois avoir localiser le problème. En fait j'ai supprimer les "scale" pour tester, ça as marcher, j'ai continuer, et la j'ai eu un problème lors de la compilation du p3t :
Error : Unrecognized attribute name 'anim'
Bref après 3h de recherche acharnée, j'en ai compris que mon "p3tcompiler.exe" ne fonctionnais pas comme il fallais, puisque j'ai enfin réussi a m'en proccurer un qui ne m'affiche pas cette erreur.
Suite a ça j'ai tenter de le mettre sur la ps3, et le fond est entièrement noir, donc j'en recréer un autre, et la je retombe sur cette fichu erreur "scale", donc je pense que le problème vient du "raf_pack.exe", je tente donc de DL un autre SDK pour voir, je vous tien informé.
-
Dragoon1010
Gamer Or
- Messages: 8876
- Inscription: 29 Juil 2010, 09:23
- Localisation: En train de penser...
- Prénom: Jonathan
- Pays: France
- Sexe: Homme
Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK
Le fond noir est le fond pas défaut d'un thème dynamique. Cela veut dire que votre objet n'est pas afficher devant la camera ou est trop petit voir trop grand (dans l'objet) et vu que les thème de gère pas les cull rendering (à ma connaissance) on ne le vois pas. Pour pouvoir vous aider j'ai besoin de vos fichier (test.xml, test.js, cube.dae, cube.jpg)
- Corwin_1_1
Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK
Bon j'ai compris le problème, ça venais de mon éclairage, mon objet en lui même marche impec, mais sans éclairage, je peut pas avoir d'affichage, donc va falloir que je règle ça, ou alors si tu peut m'envoyer sur skype ton fichier d'éclairage ambiant, ça serais cool, merci .
Bon en fait pas besoin spécialement d'éclairage, le Javascript permet de l'ajouter. Donc c'est a peu près good, je vois bien mon objet tourner sur lui même, avec la texture rouge que je lui est défini.
Bref je reviendrais si besoin, merci de l'aide !
Bon en fait pas besoin spécialement d'éclairage, le Javascript permet de l'ajouter. Donc c'est a peu près good, je vois bien mon objet tourner sur lui même, avec la texture rouge que je lui est défini.
Bref je reviendrais si besoin, merci de l'aide !
-
Dragoon1010
Gamer Or
- Messages: 8876
- Inscription: 29 Juil 2010, 09:23
- Localisation: En train de penser...
- Prénom: Jonathan
- Pays: France
- Sexe: Homme
Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK
Yop, bon je double post, mais c'est pour venir aux nouvelles !
Tout marche nickel maintenant, j'ai juste une erreur des fois, en me disant que les textures dépassent la taille maxi autorisé, en sachant que j'ai essayer de réduire la taille, mais rien n'y fait.
Mis a part ça, tout marche nickel, faudrais juste me dire si tu as trouver de nouvelle commandes, comme par exemple foutre un arrière plan ou des truc du genre.
Par contre j'aimerais savoir comment on est scencé faire pour ajouter plusieurs objets, car j'ai créer un second objet, je l'ai ajouter au fichier xml, raf_compiler me le prend bien en compte lors de la compilation, mais le deuxième objet n'apparait pas...
Voili voilou !
Tout marche nickel maintenant, j'ai juste une erreur des fois, en me disant que les textures dépassent la taille maxi autorisé, en sachant que j'ai essayer de réduire la taille, mais rien n'y fait.
Mis a part ça, tout marche nickel, faudrais juste me dire si tu as trouver de nouvelle commandes, comme par exemple foutre un arrière plan ou des truc du genre.
Par contre j'aimerais savoir comment on est scencé faire pour ajouter plusieurs objets, car j'ai créer un second objet, je l'ai ajouter au fichier xml, raf_compiler me le prend bien en compte lors de la compilation, mais le deuxième objet n'apparait pas...
Voili voilou !
-
Dragoon1010
Gamer Or
- Messages: 8876
- Inscription: 29 Juil 2010, 09:23
- Localisation: En train de penser...
- Prénom: Jonathan
- Pays: France
- Sexe: Homme
Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK
Pour créer un fond le seul moyen est d'importer un plane et de le texturer.
Pour créer un autre objet le plus important c'est la balise "actor". Enfin un exemple est mieux :
La les 2 objets serons les même. Manque plus qu'a bien les positionner sur l’écran grâce au js mais tu doit le savoir. Essaye de les mettre à coté (modifier la position X). C'est la somme des texture qui est limité à une valeur.
Pour d'autre commande j'ai pas touché depuis un moment désoler.
Pour créer un autre objet le plus important c'est la balise "actor". Enfin un exemple est mieux :
- Code: Select All Code
<!-- Charge l'objet -->
<model id="mdl_cube" file="cube.dae" />
<!-- créer son matériel -->
<material id="mtrl_cube" effect="basic_lighting" >
<texture file="cube.jpg" />
</material>
<!-- Création de l'objet 1 avec ses info-->
<actor id="cube" model="mdl_cube" material="mtrl_cube" />
<!-- Création de l'objet 2 avec les même info-->
<actor id="cube2" model="mdl_cube" material="mtrl_cube" />
La les 2 objets serons les même. Manque plus qu'a bien les positionner sur l’écran grâce au js mais tu doit le savoir. Essaye de les mettre à coté (modifier la position X). C'est la somme des texture qui est limité à une valeur.
Pour d'autre commande j'ai pas touché depuis un moment désoler.
- Corwin_1_1
58 messages
• Page 1 sur 5 • 1, 2, 3, 4, 5