archilogic-com / data3d-blender-io Goto Github PK
View Code? Open in Web Editor NEWBlender exporter for data3d - a binary format optimized for webGL.
Home Page: http://3d.io
Blender exporter for data3d - a binary format optimized for webGL.
Home Page: http://3d.io
Reproduce:
I made a small gist here that you can run on node.js to reproduce the problem: https://gist.github.com/bnjm/9ab98822642337346b5d77b70786b6d0
But you can also reproduce with this snippet:
io3d.storage
.exportDae(
'/535e624259ee6b0200000484/2017-11-23_21-53_p1lBYj/2017-11-23_21-53-53_pP2nc8.gz.data3d.buffer',
)
.then(io3d.utils.processing.whenDone)
.then(console.log)
Result:
Exported .dae file cannot be opened by xcode or blender. Outputted collada file is here: https://gist.github.com/bnjm/571438f577ed6f2e1f8c0eaf7560fdd6
Additional info:
We think there are other furniture pieces affected and will these to the gist after some more testing
Importing the attached data3d.json file with or without the texture folder results in the following error:
The file has been exported with the data3d addon from blender interface
We need documentation for 3d artists
And documentation for the code for contributors
Reproduce:
export the following chairs which both have different color materials
https://furniture.3d.io/#furnitureId=51734d5c-9b44-4e05-8991-2534a8707511
https://furniture.3d.io/#furnitureId=91a18c8a-f414-4aed-8a8f-b1c71549e214
io3d.furniture
.get('51734d5c-9b44-4e05-8991-2534a8707511')
.then(x => x.info.data3dStorageId)
.then(io3d.storage.exportDae)
.then(io3d.utils.processing.whenDone)
.then(x => console.log('should be black': x))
io3d.furniture
.get('91a18c8a-f414-4aed-8a8f-b1c71549e214')
.then(x => x.info.data3dStorageId)
.then(io3d.storage.exportDae)
.then(io3d.utils.processing.whenDone)
.then(x => console.log('should be red:', x)
Result:
Both are grey
There were some lightmap bake tasks that had pink color bleeding from (possibly) missing textures.
Verify that loading placeholder images work as intended.
References commit 4156d11
the gray couch is a copy of the yellow one where textures have been deleted. importing only the gray couch into blender will result in normals looking correct:
files for convenience:
gray_couch.zip
yellow_couch.zip
The furniture piece Tabano (productResourceId: 0b35a7a1-1251-4652-bfdb-62375558db99) displays ok in archilogic and a-frame, but when exported is at the wrong scale
Steps to reproduce:
io3d.furniture
.get('0b35a7a1-1251-4652-bfdb-62375558db99')
.then(x => x.info.data3dStorageId)
.then(io3d.storage.exportDae)
.then(io3d.utils.processing.whenDone)
.then(console.log)
// 535e624259ee6b0200000484/processing/2017-11-28_17-34-19_OBcHg4/2017-11-23_22-27-15_HVGQBc.zip
// => open file in 3d editor
The result is the same with io3d.storage.exportObj
leading to it being an issue with the importer.
Here's the buffer file:
https://spaces.archilogic.com/3d/template/new?file=/535e624259ee6b0200000484/2017-11-23_22-27_9kuARm/2017-11-23_22-27-15_HVGQBc.gz.data3d.buffer&mode=sdk
Data3d IO will be an open source addon
(...)
Open issues - ** transfered from https://github.com/archilogic-com/services/issues/41**
Import
Export
General
This plugin can be used without launching the Blender GUI straight from the command line.
That's useful for automated or otherwise scripted workflows.
There's no documentation for that yet, so let's change that ๐ฏ
original file: capsule.obj
data3d file: capsule.data3d.buffer
the convert_tris_to_quads
functionality in the data3d importer causes this problem
Add test to export_image_textures (line 76 in io_scene_data3d\export_data3d.py),
warn the user about the missing files and continue.
Path 'C:\Users\pascal-babey\AppData\Local\Temp\Temp1_archilogic_2017-05-16_15-47-58_R6dGyD.zip\archilogic_2017-05-16_15-47-58_TAZb6H\textures\40603630c72193e8d1d5f689b57e4cdc.source.jpg' not found
Traceback (most recent call last):
File "C:\Program Files\Blender Foundation\Blender\2.78\scripts\addons\io_scene_data3d\export_data3d.py", line 311, in _write
materials = parse_materials(export_objects, export_al_metadata, export_images, export_dir=os.path.dirname(output_path))
File "C:\Program Files\Blender Foundation\Blender\2.78\scripts\addons\io_scene_data3d\export_data3d.py", line 76, in parse_materials
export_image_textures(list(set(raw_images)), export_dir)
File "C:\Program Files\Blender Foundation\Blender\2.78\scripts\addons\io_scene_data3d\export_data3d.py", line 62, in export_image_textures
shutil.copy(filepath, os.path.join(tex_dir))
File "C:\Program Files\Blender Foundation\Blender\2.78\python\lib\shutil.py", line 235, in copy
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "C:\Program Files\Blender Foundation\Blender\2.78\python\lib\shutil.py", line 114, in copyfile
with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: '\\..\\Map #3'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Program Files\Blender Foundation\Blender\2.78\scripts\addons\io_scene_data3d\__init__.py", line 199, in execute
return export_data3d.save(context, **keywords)
File "C:\Program Files\Blender Foundation\Blender\2.78\scripts\addons\io_scene_data3d\export_data3d.py", line 352, in save
export_al_metadata=args['export_al_metadata'])
File "C:\Program Files\Blender Foundation\Blender\2.78\scripts\addons\io_scene_data3d\export_data3d.py", line 327, in _write
raise Exception('Export Scene failed. ', sys.exc_info())
Exception: ('Export Scene failed. ', (<class 'FileNotFoundError'>, FileNotFoundError(2, 'No such file or directory'), <traceback object at 0x000001E507D6F208>))
location: <unknown location>:-1
the UV faces on the left are wrong, they are dragged across the whole texture
imported data3d file, blender scene with result
by process of elimination we assume the problem happens in the importer
Note:
This problem occurs when downloading baked archilogic scenes and importing them with the addon. We did not see the problem not happen with the first UV channel, only with the second channel (lightmapUvs)
A lead to find the source of this is to determine what is the difference between these two channels.
Notes:
Right now the getting started documentation is lacking proper documentation on:
You can use the headlines to fill in missing information, but basically:
If you want to work on this but aren't sure how to get going, comment here and mention me or @Aadjou for details ๐
Use Case:
A user downloads an Archilogic model as a blend file and wants to manipulate the materials in cycles.
When exporting the file as a .obj file to import the model back into Archilogic, the materials are exported from blender internal and the changes in cycles are not taken into account.
Suggestion:
Add a feature to convert material information of an Archilogic blend file from cycles to blender internal (and back) to make sure that you don't lose material information such as assigned textures when trying to export the model to a format like OBJ.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.