Add scripts to convert .blend to glT
Goodbye Makefile, hello tup!
This commit is contained in:
		
							parent
							
								
									912b8381a7
								
							
						
					
					
						commit
						1ce9621ec6
					
				
					 4 changed files with 83 additions and 0 deletions
				
			
		
							
								
								
									
										0
									
								
								Tupfile.ini
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								Tupfile.ini
									
										
									
									
									
										Normal file
									
								
							
							
								
								
									
										3
									
								
								models/Tupfile
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										3
									
								
								models/Tupfile
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,3 @@
 | 
				
			||||||
 | 
					MODELS = hedgehog.blend \
 | 
				
			||||||
 | 
						flag.blend
 | 
				
			||||||
 | 
					: foreach $(MODELS) |> blender %f --background --python ../scripts/bpy/blend2glb.py -- --output %o > /dev/null |> %B.glb
 | 
				
			||||||
							
								
								
									
										39
									
								
								scripts/bpy/blend2glb.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								scripts/bpy/blend2glb.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,39 @@
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					import os
 | 
				
			||||||
 | 
					import argparse
 | 
				
			||||||
 | 
					import bpy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# get all args after "--"
 | 
				
			||||||
 | 
					argv = sys.argv
 | 
				
			||||||
 | 
					argv = argv[argv.index("--") + 1:]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					parser = argparse.ArgumentParser()
 | 
				
			||||||
 | 
					parser.add_argument('-o','--output')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					args = parser.parse_args(argv)
 | 
				
			||||||
 | 
					basedir = os.path.dirname(args.output)
 | 
				
			||||||
 | 
					if basedir is not '':
 | 
				
			||||||
 | 
					    os.makedirs(basedir, exist_ok=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# You can read the documentation at:
 | 
				
			||||||
 | 
					# https://github.com/KhronosGroup/glTF-Blender-Exporter/blob/master/docs/user.md
 | 
				
			||||||
 | 
					bpy.ops.export_scene.glb(filepath=args.output,
 | 
				
			||||||
 | 
					                         # Embedding
 | 
				
			||||||
 | 
					                         export_copyright="Zenly",
 | 
				
			||||||
 | 
					                         # Nodes
 | 
				
			||||||
 | 
					                         export_selected=False,
 | 
				
			||||||
 | 
					                         export_layers=True,
 | 
				
			||||||
 | 
					                         export_extras=True,
 | 
				
			||||||
 | 
					                         # Mesh
 | 
				
			||||||
 | 
					                         export_apply=True,
 | 
				
			||||||
 | 
					                         # Attributes
 | 
				
			||||||
 | 
					                         export_texcoords=True,
 | 
				
			||||||
 | 
					                         export_normals=True,
 | 
				
			||||||
 | 
					                         export_tangents=True,
 | 
				
			||||||
 | 
					                         export_colors=True,
 | 
				
			||||||
 | 
					                         # Objects
 | 
				
			||||||
 | 
					                         export_materials=True,
 | 
				
			||||||
 | 
					                         export_cameras=True,
 | 
				
			||||||
 | 
					                         export_camera_infinite=False,
 | 
				
			||||||
 | 
					                         # Animation
 | 
				
			||||||
 | 
					                         export_animations=True)
 | 
				
			||||||
							
								
								
									
										41
									
								
								scripts/bpy/blend2gltf.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								scripts/bpy/blend2gltf.py
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,41 @@
 | 
				
			||||||
 | 
					import sys
 | 
				
			||||||
 | 
					import os
 | 
				
			||||||
 | 
					import argparse
 | 
				
			||||||
 | 
					import bpy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# get all args after "--"
 | 
				
			||||||
 | 
					argv = sys.argv
 | 
				
			||||||
 | 
					argv = argv[argv.index("--") + 1:]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					parser = argparse.ArgumentParser()
 | 
				
			||||||
 | 
					parser.add_argument('-o','--output')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					args = parser.parse_args(argv)
 | 
				
			||||||
 | 
					basedir = os.path.dirname(args.output)
 | 
				
			||||||
 | 
					os.makedirs(basedir, exist_ok=True)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# You can read the documentation at:
 | 
				
			||||||
 | 
					# https://github.com/KhronosGroup/glTF-Blender-Exporter/blob/master/docs/user.md
 | 
				
			||||||
 | 
					bpy.ops.export_scene.gltf(filepath=args.output,
 | 
				
			||||||
 | 
					                          # Embedding
 | 
				
			||||||
 | 
					                          export_copyright="Zenly",
 | 
				
			||||||
 | 
					                          export_embed_buffers=False, # leave binary data in .bin
 | 
				
			||||||
 | 
					                          export_embed_images=False,
 | 
				
			||||||
 | 
					                          export_strip=False,         # JSON not striped
 | 
				
			||||||
 | 
					                          # Nodes
 | 
				
			||||||
 | 
					                          export_selected=False,
 | 
				
			||||||
 | 
					                          export_layers=True,
 | 
				
			||||||
 | 
					                          export_extras=True,
 | 
				
			||||||
 | 
					                          # Mesh
 | 
				
			||||||
 | 
					                          export_apply=False,
 | 
				
			||||||
 | 
					                          # Attributes
 | 
				
			||||||
 | 
					                          export_texcoords=True,
 | 
				
			||||||
 | 
					                          export_normals=True,
 | 
				
			||||||
 | 
					                          export_tangents=True,
 | 
				
			||||||
 | 
					                          export_colors=True,
 | 
				
			||||||
 | 
					                          # Objects
 | 
				
			||||||
 | 
					                          export_materials=True,
 | 
				
			||||||
 | 
					                          export_cameras=True,
 | 
				
			||||||
 | 
					                          export_camera_infinite=False,
 | 
				
			||||||
 | 
					                          # Animation
 | 
				
			||||||
 | 
					                          export_animations=True)
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue