Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error python gltf2usd.py #185

Open
ZeroSOFAD opened this issue Jun 10, 2020 · 9 comments
Open

Error python gltf2usd.py #185

ZeroSOFAD opened this issue Jun 10, 2020 · 9 comments

Comments

@ZeroSOFAD
Copy link

ZeroSOFAD commented Jun 10, 2020

I get an error

------ERROR-----

C:\OpenServer\domains\3d\gltf2usd-master\Source>python gltf2usd.py -h
Traceback (most recent call last):
File "gltf2usd.py", line 21, in
from _gltf2usd.gltf2loader import GLTF2Loader, PrimitiveMode, TextureWrap, MinFilter, MagFilter
File "C:\OpenServer\domains\3d\gltf2usd-master\Source_gltf2usd\gltf2loader.py", line 9, in
import gltf2usdUtils
ModuleNotFoundError: No module named 'gltf2usdUtils'

------ERROR-----

And the same error when

C:\OpenServer\domains\3d\gltf2usd-master\Source>python gltf2usd.py -g c:\OpenServer\domains\3d\scale_box.gltf -o c:\OpenServer\domains\3d\scale_box.usda

@felipe-dap
Copy link

Cheers ZeroSOFAD. This is likely due to Python versions, I suppose.
I am not a mantainer for this repo but I ran into this issue today and managed to fix it with some simple changes.
Let me know if help on this is still relevant for you.

@rohitmorph
Copy link

Hey felipe-dap, could you please help me with this issue. I am having the same exact problem but I'm on Ubuntu 20.04 and Python version is 3.8.5.

@felipe-dap
Copy link

felipe-dap commented Feb 20, 2021

Hey, rohitmorph!
You might be having a problem with file referencings.
Try something like this:
gltf2/init.py
// fix module importing with _gtfl2usd

from _gltf2usd.gltf2.Skin import Skin
from _gltf2usd.gltf2.Node import Node
from _gltf2usd.gltf2.Animation import Animation
from _gltf2usd.gltf2.Scene import Scene
from _gltf2usd.gltf2.Mesh import Mesh
from _gltf2usd.gltf2.Material import Material

gtflLoader.py
// fix module importing with _gtfl2usd
import _gltf2usd.gltf2usdUtils
from _gltf2usd.gltf2 import Skin, Node, Animation, Scene, Mesh, Material, GLTFImage, Asset

usdMaterial.py
// fix module importing with _gtfl2usd
from _gltf2usd.gltf2 import Material, GLTFImage
from _gltf2usd.gltf2usdUtils import GLTF2USDUtils
from _gltf2usd.gltf2.Material import AlphaMode
from _gltf2usd.gltf2loader import TextureWrap

---- BESIDES THAT, you will have to change another few things:
Class Node from gtfl2
Line 11 -> unicode has to be changed to str for Python 3.
Line 11 -> becomes like this
if isinstance(self._name, str):

Class Skin from gtfl2
Remove import Set from sets, as it is built-in for Python 3.
change Set to set on the file, whenever it has called. If I remember it correctly, it was called just once.
Line 24 becomes like this: root_joints = set()

gltf2usd.py
On line 396 I had to force indices length/3 to return an integer as follows.
num_faces = int(len(indices)/3)

Have a look at issues 191 and let me know if you need more help on this.
Lastly, my needs did not covered Animations and Images so you might need to change unicode and set imports there as well.
Cheers.

@rohitmorph
Copy link

Hey felipe-dap,

I really have no clue how to thank you for this. You are amazing my friend. Wish I could buy you a beer!

Followed your suggestion and it worked perfectly well. I had one other similar error. I'm mentioning it here just in case other people have the same issue.

Class GLTFImage from gtfl2
Line 53 -> unicode has to be changed to str for Python 3.
Line 53 -> becomes like this
if isinstance(self._name, str):

Thank you very very much felipe-dap! Cheers & have a great day!

@felipe-dap
Copy link

Good! Glad it worked!
Cheers!

@methot-ilya-3ds
Copy link

I tried to make these changes as well, but I am now getting this error:
ModuleNotFoundError: No module named 'gltf2'

Not sure what I did wrong?

@felipe-dap
Copy link

Hello @methot-ilya-3ds
Been a while that I did this so I don't have it fresh in my mind.
I remember it was kind tricky. So let's try to make it work. =)
What python version are you using?
Can you post the whole error here?
Are you using a virtual environment?

@methot-ilya-3ds
Copy link

@felipe-dap Hi Felipe, I actually ended up completely re-copying the project and starting from scratch and somewhere along the line I figured it out.

There are a couple of lines in the repo that are not updated for the latest USD package, such as animation support, but otherwise I was able to get the conversion working!

@felipe-dap
Copy link

@methot-ilya-3ds Good! Happy coding! Cheers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants