Pview different results from Panda3D.

Return to Pipeline

Pview different results from Panda3D.

Postby haramanai » Fri Dec 09, 2011 6:39 am

Hi.
I have a model in Blender 2.5 and export it with the latest yabee exporter.
The model consisted from two parts and if I view it with PView I get the whole object animated. but if I load it with panda I see only one of them.
I don't know if it is a problem with the exporter or something else.
here is the egg model:

Code: Select all
<CoordinateSystem> { Z-up }
<Material> Material.001 {
  <Scalar> diffr { 0.640 }
  <Scalar> diffg { 0.640 }
  <Scalar> diffb { 0.640 }
  <Scalar> specr { 0.500 }
  <Scalar> specg { 0.500 }
  <Scalar> specb { 0.500 }
  <Scalar> shininess { 12.5 }
  <Scalar> emitr { 0.000 }
  <Scalar> emitg { 0.000 }
  <Scalar> emitb { 0.000 }
}

<Material> Material {
  <Scalar> diffr { 0.640 }
  <Scalar> diffg { 0.640 }
  <Scalar> diffb { 0.640 }
  <Scalar> specr { 0.500 }
  <Scalar> specg { 0.500 }
  <Scalar> specb { 0.500 }
  <Scalar> shininess { 12.5 }
  <Scalar> emitr { 0.000 }
  <Scalar> emitg { 0.000 }
  <Scalar> emitb { 0.000 }
}

  <Group> Cube.001 {
    <Dart> { 1 }
    <VertexPool> Cube.001 {
      <Vertex> 0 {
        -1.000 -1.000 2.719
        <UV>  {
          0.403 0.456
        }
      }
      <Vertex> 1 {
        1.000 -1.000 2.719
        <UV>  {
          0.515 0.434
        }
      }
      <Vertex> 2 {
        1.000 1.000 2.719
        <UV>  {
          0.549 0.544
        }
      }
      <Vertex> 3 {
        -1.000 1.000 2.719
        <UV>  {
          0.436 0.566
        }
      }
      <Vertex> 4 {
        1.000 1.000 2.719
        <UV>  {
          0.549 0.544
        }
      }
      <Vertex> 5 {
        1.000 -1.000 2.719
        <UV>  {
          0.515 0.434
        }
      }
      <Vertex> 6 {
        1.000 -1.000 1.000
        <UV>  {
          0.952 0.031
        }
      }
      <Vertex> 7 {
        1.000 1.000 1.000
        <UV>  {
          0.952 1.000
        }
      }
      <Vertex> 8 {
        1.000 -1.000 2.719
        <UV>  {
          0.515 0.434
        }
      }
      <Vertex> 9 {
        -1.000 -1.000 2.719
        <UV>  {
          0.403 0.456
        }
      }
      <Vertex> 10 {
        -1.000 -1.000 1.000
        <UV>  {
          0.000 0.000
        }
      }
      <Vertex> 11 {
        1.000 -1.000 1.000
        <UV>  {
          0.952 0.031
        }
      }
      <Vertex> 12 {
        -1.000 1.000 1.000
        <UV>  {
          0.000 0.969
        }
      }
      <Vertex> 13 {
        -1.000 -1.000 1.000
        <UV>  {
          0.000 0.000
        }
      }
      <Vertex> 14 {
        -1.000 -1.000 2.719
        <UV>  {
          0.403 0.456
        }
      }
      <Vertex> 15 {
        -1.000 1.000 2.719
        <UV>  {
          0.436 0.566
        }
      }
      <Vertex> 16 {
        1.000 1.000 1.000
        <UV>  {
          0.952 1.000
        }
      }
      <Vertex> 17 {
        -1.000 1.000 1.000
        <UV>  {
          0.000 0.969
        }
      }
      <Vertex> 18 {
        -1.000 1.000 2.719
        <UV>  {
          0.436 0.566
        }
      }
      <Vertex> 19 {
        1.000 1.000 2.719
        <UV>  {
          0.549 0.544
        }
      }
    }
   
   
    <Polygon> {
      <MRef> { Material }
      <Normal> {0.000 0.000 1.000}
      <VertexRef> { 0 1 2 3 <Ref> { Cube.001 }}
    }
    <Polygon> {
      <MRef> { Material }
      <Normal> {1.000 -0.000 0.000}
      <VertexRef> { 4 5 6 7 <Ref> { Cube.001 }}
    }
    <Polygon> {
      <MRef> { Material }
      <Normal> {-0.000 -1.000 0.000}
      <VertexRef> { 8 9 10 11 <Ref> { Cube.001 }}
    }
    <Polygon> {
      <MRef> { Material }
      <Normal> {-1.000 0.000 0.000}
      <VertexRef> { 12 13 14 15 <Ref> { Cube.001 }}
    }
    <Polygon> {
      <MRef> { Material }
      <Normal> {0.000 1.000 0.000}
      <VertexRef> { 16 17 18 19 <Ref> { Cube.001 }}
    }
   
    <Joint> Bone {
      <Transform> {
        <Matrix4> {
          1.000 0.000 0.016 0.000
          -0.016 -0.000 1.000 0.000
          0.000 -1.000 -0.000 0.000
          0.030 0.000 -0.928 1.000
        }
      }
      <VertexRef> {
        1 5 8
        <Scalar> membership { 0.099 }  <Ref> { Cube.001 }
      }
      <VertexRef> {
        6 7 10 11 12 13 16 17
        <Scalar> membership { 0.497 }  <Ref> { Cube.001 }
      }
      <VertexRef> {
        3 15 18
        <Scalar> membership { 0.100 }  <Ref> { Cube.001 }
      }
      <VertexRef> {
        0 2 4 9 14 19
        <Scalar> membership { 0.108 }  <Ref> { Cube.001 }
      }
      <Joint> Bone.001 {
        <Transform> {
          <Matrix4> {
            1.000 -0.018 0.002 0.000
            0.018 1.000 0.000 0.000
            -0.002 0.000 1.000 0.000
            0.000 1.928 -0.000 1.000
          }
        }
        <VertexRef> {
          6 7 10 11 12 13 16 17
          <Scalar> membership { 0.503 }  <Ref> { Cube.001 }
        }
        <VertexRef> {
          0 2 4 9 14 19
          <Scalar> membership { 0.892 }  <Ref> { Cube.001 }
        }
        <VertexRef> {
          3 15 18
          <Scalar> membership { 0.900 }  <Ref> { Cube.001 }
        }
        <VertexRef> {
          1 5 8
          <Scalar> membership { 0.901 }  <Ref> { Cube.001 }
        }
      }
    }
   
  }
  <Group> Cube {
    <Dart> { 1 }
    <VertexPool> Cube {
      <Vertex> 0 {
        1.000 1.000 -1.000
        <UV>  {
          0.497 0.370
        }
      }
      <Vertex> 1 {
        1.000 -1.000 -1.000
        <UV>  {
          0.493 0.370
        }
      }
      <Vertex> 2 {
        -1.000 -1.000 -1.000
        <UV>  {
          0.493 0.365
        }
      }
      <Vertex> 3 {
        -1.000 1.000 -1.000
        <UV>  {
          0.498 0.366
        }
      }
      <Vertex> 4 {
        1.000 1.000 -1.000
        <UV>  {
          0.497 0.370
        }
      }
      <Vertex> 5 {
        1.000 1.000 1.000
        <UV>  {
          0.944 1.000
        }
      }
      <Vertex> 6 {
        1.000 -1.000 1.000
        <UV>  {
          0.000 0.670
        }
      }
      <Vertex> 7 {
        1.000 -1.000 -1.000
        <UV>  {
          0.493 0.370
        }
      }
      <Vertex> 8 {
        1.000 -1.000 -1.000
        <UV>  {
          0.493 0.370
        }
      }
      <Vertex> 9 {
        1.000 -1.000 1.000
        <UV>  {
          0.000 0.670
        }
      }
      <Vertex> 10 {
        -1.000 -1.000 1.000
        <UV>  {
          0.254 0.027
        }
      }
      <Vertex> 11 {
        -1.000 -1.000 -1.000
        <UV>  {
          0.493 0.365
        }
      }
      <Vertex> 12 {
        -1.000 -1.000 -1.000
        <UV>  {
          0.493 0.365
        }
      }
      <Vertex> 13 {
        -1.000 -1.000 1.000
        <UV>  {
          0.254 0.027
        }
      }
      <Vertex> 14 {
        -1.000 1.000 1.000
        <UV>  {
          0.944 0.000
        }
      }
      <Vertex> 15 {
        -1.000 1.000 -1.000
        <UV>  {
          0.498 0.366
        }
      }
      <Vertex> 16 {
        1.000 1.000 1.000
        <UV>  {
          0.944 1.000
        }
      }
      <Vertex> 17 {
        1.000 1.000 -1.000
        <UV>  {
          0.497 0.370
        }
      }
      <Vertex> 18 {
        -1.000 1.000 -1.000
        <UV>  {
          0.498 0.366
        }
      }
      <Vertex> 19 {
        -1.000 1.000 1.000
        <UV>  {
          0.944 0.000
        }
      }
    }
   
   
    <Polygon> {
      <MRef> { Material.001 }
      <Normal> {0.000 0.000 -1.000}
      <VertexRef> { 0 1 2 3 <Ref> { Cube }}
    }
    <Polygon> {
      <MRef> { Material.001 }
      <Normal> {1.000 -0.000 0.000}
      <VertexRef> { 4 5 6 7 <Ref> { Cube }}
    }
    <Polygon> {
      <MRef> { Material.001 }
      <Normal> {-0.000 -1.000 -0.000}
      <VertexRef> { 8 9 10 11 <Ref> { Cube }}
    }
    <Polygon> {
      <MRef> { Material.001 }
      <Normal> {-1.000 0.000 -0.000}
      <VertexRef> { 12 13 14 15 <Ref> { Cube }}
    }
    <Polygon> {
      <MRef> { Material.001 }
      <Normal> {0.000 1.000 0.000}
      <VertexRef> { 16 17 18 19 <Ref> { Cube }}
    }
   
    <Joint> Bone {
      <Transform> {
        <Matrix4> {
          1.000 0.000 0.016 0.000
          -0.016 -0.000 1.000 0.000
          0.000 -1.000 -0.000 0.000
          0.030 0.000 -0.928 1.000
        }
      }
      <VertexRef> {
        5 6 9 10 13 14 16 19
        <Scalar> membership { 0.497 }  <Ref> { Cube }
      }
      <VertexRef> {
        3 15 18
        <Scalar> membership { 0.916 }  <Ref> { Cube }
      }
      <VertexRef> {
        1 7 8
        <Scalar> membership { 0.920 }  <Ref> { Cube }
      }
      <VertexRef> {
        2 11 12
        <Scalar> membership { 0.910 }  <Ref> { Cube }
      }
      <VertexRef> {
        0 4 17
        <Scalar> membership { 0.913 }  <Ref> { Cube }
      }
      <Joint> Bone.001 {
        <Transform> {
          <Matrix4> {
            1.000 -0.018 0.002 0.000
            0.018 1.000 0.000 0.000
            -0.002 0.000 1.000 0.000
            0.000 1.928 -0.000 1.000
          }
        }
        <VertexRef> {
          0 4 17
          <Scalar> membership { 0.087 }  <Ref> { Cube }
        }
        <VertexRef> {
          2 11 12
          <Scalar> membership { 0.090 }  <Ref> { Cube }
        }
        <VertexRef> {
          5 6 9 10 13 14 16 19
          <Scalar> membership { 0.503 }  <Ref> { Cube }
        }
        <VertexRef> {
          3 15 18
          <Scalar> membership { 0.084 }  <Ref> { Cube }
        }
        <VertexRef> {
          1 7 8
          <Scalar> membership { 0.080 }  <Ref> { Cube }
        }
      }
    }
   
  }


and the anim egg:

Code: Select all
<CoordinateSystem> { Z-up }
<Table> {
  <Bundle> Cube.001 {
    <Table> "<skeleton>" {
      <Table> Bone {
        <Xfm$Anim> xform {
          <Scalar> order { sprht }
          <Scalar> fps { 24 }
          <Scalar> contents { ijkprhxyz }
          <V> {
            1.000 1.000 1.000 90.000 0.219 0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -0.064 0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -0.924 0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -2.365 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -4.385 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -6.963 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -10.055 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -13.591 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -17.473 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -21.576 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -25.754 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -29.856 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -33.739 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -37.275 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -40.367 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -42.945 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -44.965 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -46.406 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -47.266 -0.000 0.030 0.000 -0.928
          }
        }
        <Table> Bone.001 {
          <Xfm$Anim> xform {
            <Scalar> order { sprht }
            <Scalar> fps { 24 }
            <Scalar> contents { ijkprhxyz }
            <V> {
              1.000 1.000 1.000 0.000 -0.130 -1.034 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -1.540 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -3.082 0.000 1.928 -0.000
              1.000 1.000 1.000 0.000 -0.130 -5.696 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -9.413 -0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -14.243 0.000 1.928 -0.000
              1.000 1.000 1.000 0.000 -0.130 -20.155 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -27.052 -0.000 1.928 -0.000
              1.000 1.000 1.000 0.000 -0.130 -34.749 -0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -42.974 0.000 1.928 -0.000
              1.000 1.000 1.000 0.000 -0.130 -51.383 -0.000 1.928 -0.000
              1.000 1.000 1.000 0.000 -0.130 -59.609 -0.000 1.928 -0.000
              1.000 1.000 1.000 -0.000 -0.130 -67.306 -0.000 1.928 -0.000
              1.000 1.000 1.000 -0.000 -0.130 -74.203 -0.000 1.928 -0.000
              1.000 1.000 1.000 -0.000 -0.130 -80.115 -0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -84.946 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -88.662 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -91.276 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -92.817 -0.000 1.928 0.000
            }
          }
        }
      }
    }
  }
  <Bundle> Cube {
    <Table> "<skeleton>" {
      <Table> Bone {
        <Xfm$Anim> xform {
          <Scalar> order { sprht }
          <Scalar> fps { 24 }
          <Scalar> contents { ijkprhxyz }
          <V> {
            1.000 1.000 1.000 90.000 0.219 0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -0.064 0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -0.924 0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -2.365 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -4.385 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -6.963 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -10.055 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -13.591 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -17.473 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -21.576 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -25.754 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -29.856 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -33.739 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -37.275 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -40.367 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -42.945 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -44.965 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -46.406 -0.000 0.030 0.000 -0.928
            1.000 1.000 1.000 90.000 -47.266 -0.000 0.030 0.000 -0.928
          }
        }
        <Table> Bone.001 {
          <Xfm$Anim> xform {
            <Scalar> order { sprht }
            <Scalar> fps { 24 }
            <Scalar> contents { ijkprhxyz }
            <V> {
              1.000 1.000 1.000 0.000 -0.130 -1.034 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -1.540 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -3.082 0.000 1.928 -0.000
              1.000 1.000 1.000 0.000 -0.130 -5.696 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -9.413 -0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -14.243 0.000 1.928 -0.000
              1.000 1.000 1.000 0.000 -0.130 -20.155 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -27.052 -0.000 1.928 -0.000
              1.000 1.000 1.000 0.000 -0.130 -34.749 -0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -42.974 0.000 1.928 -0.000
              1.000 1.000 1.000 0.000 -0.130 -51.383 -0.000 1.928 -0.000
              1.000 1.000 1.000 0.000 -0.130 -59.609 -0.000 1.928 -0.000
              1.000 1.000 1.000 -0.000 -0.130 -67.306 -0.000 1.928 -0.000
              1.000 1.000 1.000 -0.000 -0.130 -74.203 -0.000 1.928 -0.000
              1.000 1.000 1.000 -0.000 -0.130 -80.115 -0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -84.946 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -88.662 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -91.276 0.000 1.928 0.000
              1.000 1.000 1.000 0.000 -0.130 -92.817 -0.000 1.928 0.000
            }
          }
        }
      }
    }
  }
}


And here is the panda code.

Code: Select all
from direct.showbase.ShowBase import ShowBase
from direct.actor.Actor import Actor

class MyApp(ShowBase):

    def __init__(self):
        ShowBase.__init__(self)

        self.male = Actor('models/test.egg',{'walk':'models/test-Anim0.egg'})
        self.male.reparentTo(self.render)
        self.male.loop('walk')

app = MyApp()
app.run()


I am really new with Panda3D so I may haven't seen the obvious. But I searched the manual and the forum for an answer.

Also I managed to get the wanted results with multipart actor but my actor gets to heavy ( I loose frame rate) even if I use the egg-optchar.

Thanks in advanced and please forgive my English.
haramanai
 
Posts: 6
Joined: Wed Dec 07, 2011 5:44 am

Postby ninth » Fri Dec 09, 2011 7:35 am

Vodka, bears, balalaika... hmm... sorry for my English =)
ninth
 
Posts: 479
Joined: Fri Jan 23, 2009 9:06 am
Location: Russia

Postby preusser » Fri Dec 09, 2011 7:44 am

I'm not sure if having something like this done in Pview is a good idea. It just causes confusion because your models seem right in the preview, but wrong in the actual game.
preusser
 
Posts: 520
Joined: Sun Mar 27, 2011 10:07 am

Postby haramanai » Fri Dec 09, 2011 8:31 am

Thanks ninth.( I read the whole topic yesterday. I must overlooked this post... sorry about that.)
This works.
But it is as heavy in frame rate as a multipart actor.
This is not suitable for me cause I just wand to replace the texture of the parts.
haramanai
 
Posts: 6
Joined: Wed Dec 07, 2011 5:44 am

Postby wezu » Fri Dec 09, 2011 8:37 am

For me this is an exporter error.

The structure for this file is:
Code: Select all
<Group> Cube.001 {
    <Dart> { 1 }
    .
    .
    .
}
<Group> Cube {
    <Dart> { 1 }
    .
    .
    .
}


and it should be:
Code: Select all
<Group> character {
    <Dart> { 1 }
    <Group> Cube.001 {
        .
        .
        .
    }
    <Group> Cube {
        .
        .
        .
    }
}

So, there should be a common group for all the objects for the animations to work well.
I may be totally wrong, cause I'm a dancin' fool.

NameError: global name 'elf' is not defined
User avatar
wezu
 
Posts: 717
Joined: Tue May 19, 2009 1:03 pm

Postby ninth » Fri Dec 09, 2011 8:56 am

It's not an error - it's a feature =)
You have two mesh with two Armature modifier in the Blender => you should have respectively two animated Character in the results EGG file.
If you are not satisfied with this outcome, then you need to merge whole needed meshes into one mesh...
May be I'll add an option to join meshes with the same armature into the one actor later.
Vodka, bears, balalaika... hmm... sorry for my English =)
ninth
 
Posts: 479
Joined: Fri Jan 23, 2009 9:06 am
Location: Russia

Postby haramanai » Fri Dec 09, 2011 9:18 am

But this way you cannot get access to the parts of the model as you get only one geomNode. And the solution to have (access) is to do it multipart.

For example.
With a single mesh I can get 100 animated actors and get 35-37 frames per second. And with a multipart I get 10-15 frames per second.
It's a huge gap for just change a texture of the parts.

Ninth I have no intention to criticize you or yabee, you are all ready very generous. I just wanted to find out where I stand.

Thanks.
haramanai
 
Posts: 6
Joined: Wed Dec 07, 2011 5:44 am


Return to Pipeline

Who is online

Users browsing this forum: No registered users and 0 guests