Forums GAMERGEN

TUTORIAL - Creer un thème 3d dynamic avec le SDK

TUTORIAL - Creer un thème 3d dynamic avec le SDK

Message non lupar Corwin_1_1 » 08 Oct 2011, 17:16

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 :

Image

-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.
Avatar de l’utilisateur Corwin_1_1

Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK

Message non lupar Chirba_93 » 08 Oct 2011, 21:02

Je crois que ton topic va être lock + censuré vu qu'il faut télécharger le SDK de Sony.
Image
Chirba_93 Gamer Bronze
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

Message non lupar Corwin_1_1 » 08 Oct 2011, 21:35

Je ne met aucun lien...
Avatar de l’utilisateur Corwin_1_1

Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK

Message non lupar Chirba_93 » 08 Oct 2011, 21:51

Bah heureusement en plus ça à l'air interressant à faire ça serait dommage qu'il soit lock.
Image
Chirba_93 Gamer Bronze
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

Message non lupar Corwin_1_1 » 08 Oct 2011, 23:58

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.
Avatar de l’utilisateur Corwin_1_1

Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK

Message non lupar Dragoon1010 » 09 Oct 2011, 00:31

GG corwin, hate de créer mes premiers thèmes dynamique ;)
Avatar de l’utilisateur Dragoon1010 Gamer Or
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

Message non lupar Corwin_1_1 » 09 Oct 2011, 00:45

Ha sa faisais longtemps Dragoon ;) Si ta besoin de quelque chose n'hésite pas à me demander. :)
Avatar de l’utilisateur Corwin_1_1

Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK

Message non lupar Dragoon1010 » 21 Nov 2011, 03:10

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 :


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é. ;)
Avatar de l’utilisateur Dragoon1010 Gamer Or
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

Message non lupar Corwin_1_1 » 22 Nov 2011, 01:11

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)
Avatar de l’utilisateur Corwin_1_1

Re: TUTORIAL - Creer un thème 3d dynamic avec le SDK

Message non lupar Dragoon1010 » 25 Nov 2011, 20:40

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 :) !
Avatar de l’utilisateur Dragoon1010 Gamer Or
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

Message non lupar Dragoon1010 » 28 Nov 2011, 07:40

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 !
Avatar de l’utilisateur Dragoon1010 Gamer Or
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

Message non lupar Corwin_1_1 » 30 Nov 2011, 15:09

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 :
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.
Avatar de l’utilisateur Corwin_1_1

Suivante

 

Retourner vers Communauté et online