Author Topic: fonction HYP_Object.Clone  (Read 2110 times)

0 Members and 1 Guest are viewing this topic.

gforce

  • Associate
  • Posts: 7
fonction HYP_Object.Clone
« on: December 04, 2007, 05:42:17 PM »
Bonjour, si quelqu'un a le temps de m'aider voici ce que j'essais de faire :

Je veux simplement ajouter plusieurs OBJETS a ma scene de facon simple et rapide, les OBJETS sont tous identique a celui-ci :

<mesh    name="mesh_boule01"
         shape_type="SPHERE"
         render="TRUE"
         lighting="TRUE"
         nx_add_to_physics_engine="TRUE" >

         <position x="0"
                   y="100"
                   z="0">
         </position>
   
          <sphere radius="5"
                 stacks="20"
                 slices="20">
         </sphere>
      
          <nx_misc_data actor_type="DYNAMIC">
         </nx_misc_data>
   
          <attach_material name="boule_mat">
         </attach_material>
   
</mesh>

donc je pensais utiliser

id_clone = HYP_Object.Clone ( "mesh_boule01",  "boule" .. n );

mais mon objet cloner ne semble pas faire parti de la scene physique ( gravité, collisions, etc )

meme chose si j'essais de creer mes OBJETS avec HYP_Mesh.CreateSphere

toujours rien en essayant HYP_Nx_Physics.AddSphereActorToScene( id_clone , 2 , 10 );

est-ce que je dois creer tous mes OBJETS avec <mesh></mesh> ?????
ou est-ce que j'ai passé a côté de quelque chose ?????

merci
Do not worry about your difficulties in Mathematics. I can assure you mine are still greater.
    Albert Einstein

JeGX

  • Global Moderator
  • Capo Crimine
  • *****
  • Posts: 2343
    • oZone3D.Net
Re: fonction HYP_Object.Clone
« Reply #1 on: December 05, 2007, 08:59:43 AM »
Hello gforce,

as-tu regardé les sources de la demo pendulum: http://www.ozone3d.net/demos_projects/ageia_physx_pendulum.php
Tu y trouveras une des façons pour ajouter des meshes au moteur physique. Dans cette demo, j'ai crée les spheres au niveau XML, puis au niveau LUA je les ai ajoutées dans
le moteur physique avec:
Code: [Select]
ACTOR_KINEMATIC = 4;
density = 10.0;
mass = 0.0;
HYP_Nx_Physics.AddSphereActorToScene(sphere1, ACTOR_KINEMATIC, density, mass );

Au niveau XML, je n'ai pas dit à hyp3rion d'ajouter les spheres dans le moteur physique. Je l'ai fait au niveau LUA.
J'espère que ces petites explications te serviront.

gforce

  • Associate
  • Posts: 7
Re: fonction HYP_Object.Clone
« Reply #2 on: December 05, 2007, 03:27:07 PM »
OH JeGX ... merci mille fois ... tu es le meilleur

         n=n+1;         
         id_clone = HYP_Object.Clone( "boule", "boule" .. n );
         HYP_Object.SetRenderState( id_clone, 1 );
         HYP_Nx_Physics.AddSphereActorToScene( id_clone, 2, 10, 500 );
         HYP_Nx_Physics.SetActorGlobalPosition( id_clone, n * 20, 100, 0 );    -- aligner sur X

J'ai compris mon erreur, je devais être un peu fatiguer  mais je blame le DevGuide :P

http://www.ozone3d.net/hyperion/devguide-v1/api_hyp_lua_physics.php#HYP_Nx_AddSphereActorToScene

Si on ne met pas la variable MASS dans les parametres de la fonction ça ne marche pas et la MASS n'est même pas mentionner dans le guide

Syntax

HYP_Nx_Physics.AddSphereActorToScene( name|id, actor_type, [density], MASS );   :oui:

Merci encore et je vous tien au courant de mes projets




Do not worry about your difficulties in Mathematics. I can assure you mine are still greater.
    Albert Einstein

JeGX

  • Global Moderator
  • Capo Crimine
  • *****
  • Posts: 2343
    • oZone3D.Net
Re: fonction HYP_Object.Clone
« Reply #3 on: December 05, 2007, 04:04:44 PM »
quelle honte ce guide :coop:
Voila c'est corrigé. Merci de l'info!

gforce

  • Associate
  • Posts: 7
Re: fonction HYP_Object.Clone
« Reply #4 on: December 05, 2007, 05:05:07 PM »
Quote
Voila c'est corrigé. Merci de l'info!

 :bowdown: JeGX

Hey, ça fait plaisir.

J'ai commencer sur Hyperion ( version demo, rien de commercial ) il y a environ une semaine. J'ai une bonne base en C mais c'est normal que j'ai des questions à l'occasion et j'apprécie grandement ce que tu fais ( renseigner les autres ).  Si en plus d'apprendre je peux aider ... ben hey

ca fait plaisir !

G
Do not worry about your difficulties in Mathematics. I can assure you mine are still greater.
    Albert Einstein