add model path to runtime plugin or else

Buddies

I´ve a little problem with my texture models. When i run my app.p3d my models have no textures. Models and textures are packages already downloaded for my p3d application. I verify my old .egg models, if texture path it´s right and is it.

Then when i reppackage models i see this message

:gobj(error): Unable to find texture "../textures/glock24.jpg" on model-path /c/Users/master/AppData/Local/Panda3D/hosts/runtime.panda3d.org_96a0ec538744def6/panda3d/cmu_1.7;/c/Users/master/AppData/Local/Panda3D/hosts/runtime.panda3d.org_96a0ec538744def6/egg/cmu_1.7;/mf

Right … my textures is in other pack mounted in …/textures/ when downloaded. Then when my app.p3d begin my model have no textures.

What i must do in this case? There´s some way to add model paths to plugin? I must put textures and models in same folder? or else?

Thanx

Tell me more precisely what is happening. What do you mean, your other pack is mounted at …/textures? That doesn’t make sense to me. How did it get mounted?

When you are packaging systems up for the runtime, in the p3d system, you should generally let the runtime handle all of the mounting. It would never mount stuff under …/textures. If your models and textures are already part of another package that you previously created with ppackage, then when you reference that package with -r packagename, the runtime will ensure that package is downloaded and mounted before you start. You can then reference that package directory in your program’s Config.prc file with the $PACKAGENAME_ROOT environment variable, e.g. you can put a config variable like this:

model-path $PACKAGENAME_ROOT

which will mean to add your “packagename” package, wherever it was installed, to the model-path.

David

Sorry by confusion :confused:

i´ve two packages: Models ans Textures and my app.p3d need them before begin (app.p3d was made with -r Models -r Textures).

When installed, Models is build/mounted-by-panda in : assets/models
When installed, Textures is build/mounted-by-panda in : assets/textures

In the package Models i got a model called glock. His texture is in package Texture and is called glock24.jpg.

When i build both packages with ppackage i got the error as i said before, but the packages are created very fine. When run app.p3d mny model glock has no texture :confused:

Well … when i open my old glock.egg. In texture session i got

...
<Texture> glock.001_00_glock {
  "../textures/glock24.jpg"
  <Scalar> saved-result { 1 }
  <Scalar> envtype { MODULATE }
  <Scalar> minfilter { LINEAR_MIPMAP_LINEAR }
  <Scalar> magfilter { LINEAR_MIPMAP_LINEAR }
  <Scalar> wrap { REPEAT }
}
...

Well … is i got in app.p3d vfsfilesystem:

-assets
-models
glock.bam
-textures
glock24.jpg

Well … this must be right? My model search for texture in …/textures. I didn´t mount nothing, Panda´s runtime mount everything for me (gracias).

But my glock model and ppackage can´t find your texture. weirdo :unamused:
I´ll try your tip about model path.
Thanx

Do you really need to have your models and textures in separate packages? It sure does sound like you’re just asking for trouble with that arrangement, for no obvious gain.

But if you really do need them in separate packages, then you will need to have the textures package already installed at the time you build the models package. Hmm, that might be possible with pdef commands, for instance a suitable call to appRunner.installPackage() inside the pdef file that builds the models package. That means you’ll have to have two different pdef files, of course, and build and install the textures package before you build the models package.

But probably much easier just to put them both into the same package, which is the way the system was intended to be used.

David

Hi david

No … there´s no special need in put textures separated of models. Is just a way i choose to organize things. If is better put textures and models in the same place, all right … no problem. I did it and have no more trouble in packing and is a lot easy than put more model-paths and etc. And the easy way is the right way :laughing:
Thanx a lot