3ds import - rotated elements #50620

Open
opened 2017-02-08 12:42:42 +01:00 by Alex P · 25 comments

System Information
Windows, ATI HD7750

Blender Version
2.78a, 2.79

Short description of error
Some models imported from 3ds have rotated elements. One of them can be downloaded from link below. I've attached screenshot what it should look like when imported correctly (not blender).

Exact steps for others to reproduce the error
Please import
BL.1.L.3DS
...and compare with this screenshot:
3ds_import_bug.jpg

**System Information** Windows, ATI HD7750 **Blender Version** 2.78a, 2.79 **Short description of error** Some models imported from 3ds have rotated elements. One of them can be downloaded from link below. I've attached screenshot what it should look like when imported correctly (not blender). **Exact steps for others to reproduce the error** Please import [BL.1.L.3DS](https://archive.blender.org/developer/F1970842/BL.1.L.3DS) ...and compare with this screenshot: ![3ds_import_bug.jpg](https://archive.blender.org/developer/F454210/3ds_import_bug.jpg)
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @Alex-9

Added subscriber: @Alex-9
Member

Added subscriber: @TheOnlyJoey

Added subscriber: @TheOnlyJoey
Member

Can confirm, used 2 different applications which can open 3ds and Blender seems to struggle with this particular asset.

Can confirm, used 2 different applications which can open 3ds and Blender seems to struggle with this particular asset.
Member

Added subscriber: @lichtwerk

Added subscriber: @lichtwerk
Member

@Alex-9 : Sorry for the longstanding inactivity here. However, to have another look at this we would need the particular 3ds file to reproduce the issue.
That link in the task description is dead unfortunately...

Marking as incomplete for now.

@Alex-9 : Sorry for the longstanding inactivity here. However, to have another look at this we would need the particular 3ds file to reproduce the issue. That link in the task description is dead unfortunately... Marking as incomplete for now.
Author
No problem, here is link: http://www.noti.pl/media/zips/5a68c14baa730.zip
Member

@Alex-9: thx, but I cant find a 1_2.3DS in that zip.

I guess we are talking about BL.1.L.3DS?
BL.1.L.3DS

@Alex-9: thx, but I cant find a `1_2.3DS` in that zip. I guess we are talking about `BL.1.L.3DS`? [BL.1.L.3DS](https://archive.blender.org/developer/F1970842/BL.1.L.3DS)
Campbell Barton was assigned by Philipp Oeser 2018-01-24 19:02:58 +01:00
Member

Added subscriber: @ideasman42

Added subscriber: @ideasman42
Member

@ideasman42 , mind having a look?

@ideasman42 , mind having a look?
Author

This is one screenshot is of, but other files seem to have same issue.

This is one screenshot is of, but other files seem to have same issue.
Member

OK, I think that one file is enough to reproduce

OK, I think that one file is enough to reproduce

This file contains chunks that place objects which we currently don't support, which could be the cause of the problem - see a dump:

3ds_dump.txt the diff to create the dump 3ds_dump.diff.

Since there are keyframes, its possible some of the object placement uses animation keyframes which are currently ignored.

Suspect this is a TODO and not a bug.

This file contains chunks that place objects which we currently don't support, which could be the cause of the problem - see a dump: [3ds_dump.txt](https://archive.blender.org/developer/F1976814/3ds_dump.txt) the diff to create the dump [3ds_dump.diff](https://archive.blender.org/developer/F1976833/3ds_dump.diff). Since there are keyframes, its possible some of the object placement uses animation keyframes which are currently ignored. Suspect this is a TODO and not a bug.

Added subscriber: @ldo

Added subscriber: @ldo

I have found a few examples of 3DS files at archive3d.net that don’t import properly into Blender. Here’s one Shelf-fdbb3527.zip, and here’s the thumbnail Shelf-fdbb3527.jpg showing what it should look like.

Let me know if you need more.

I have found a few examples of 3DS files at archive3d.net that don’t import properly into Blender. Here’s one [Shelf-fdbb3527.zip](https://archive.blender.org/developer/F4738991/Shelf-fdbb3527.zip), and here’s the thumbnail ![Shelf-fdbb3527.jpg](https://archive.blender.org/developer/F4738994/Shelf-fdbb3527.jpg) showing what it should look like. Let me know if you need more.

I have an answer! I tried following the advice here to clear all object transforms, and all the pieces in the above example snap into place nicely! This has also worked for a couple of other examples I have tried. Though the objects can end up becoming rather large.

So I think the answer is for the importer to offer another option to clear all object transforms, and maybe even default it to true?

I have an answer! I tried following the advice [here](https://blenderartists.org/t/how-to-import-3ds-files-into-blender-without-messing/434373) to clear all object transforms, and all the pieces in the above example snap into place nicely! This has also worked for a couple of other examples I have tried. Though the objects can end up becoming rather large. So I think the answer is for the importer to offer another option to clear all object transforms, and maybe even default it to true?

OK, that fix doesn’t completely work for everything. It helps with this one, but some pieces are still a little out of place.

OK, that fix doesn’t completely work for everything. It helps with [this one](https://archive3d.net/?a=download&id=af674b00), but some pieces are still a little out of place.

Here is a patch 0001-Another-workaround-option-for-some-3DS-import-quirks.patch to add a new option to the 3DS importer to clear object transforms on all imported objects. I find it helps with a lot of the troublesome cases.

Here is a patch [0001-Another-workaround-option-for-some-3DS-import-quirks.patch](https://archive.blender.org/developer/F5319450/0001-Another-workaround-option-for-some-3DS-import-quirks.patch) to add a new option to the 3DS importer to clear object transforms on all imported objects. I find it helps with a lot of the troublesome cases.

Just to confirm, I have tried importing the BL.1.L.3DS example file posted above, with my new clear-transform option turned off and on; with it off, the sofa comes in mostly intact, but with four small pieces in separate odd locations. With the new option turned on, these small pieces are attached to the bottom of the sofa, though two of them end up almost on top of each other, instead of being at the four corners as per the supplied images.

So not perfect, but still an improvement, I would say.

Just to confirm, I have tried importing the BL.1.L.3DS example file posted above, with my new clear-transform option turned off and on; with it off, the sofa comes in mostly intact, but with four small pieces in separate odd locations. With the new option turned on, these small pieces are attached to the bottom of the sofa, though two of them end up almost on top of each other, instead of being at the four corners as per the supplied images. So not perfect, but still an improvement, I would say.

Here is an updated patch which should apply against the current source tree.

ldo-3ds-importer-hack-20190825.patch

Here is an updated patch which should apply against the current source tree. [ldo-3ds-importer-hack-20190825.patch](https://archive.blender.org/developer/F7702669/ldo-3ds-importer-hack-20190825.patch)
Member

Added subscriber: @BrendonMurphy

Added subscriber: @BrendonMurphy
Member

hi @ldo could you reference this here: https://developer.blender.org/T66329 there's still 1 patch to add before yours.

hi @ldo could you reference this here: https://developer.blender.org/T66329 there's still 1 patch to add before yours.
Campbell Barton was unassigned by Dalai Felinto 2019-12-23 16:36:49 +01:00

Added subscriber: @NRGSille

Added subscriber: @NRGSille

This happens, because the blender import script is reading the first frame of the keyframer. The sofa is part of an animation. It may be useful to add an option if you want to read the keyframer or not.

Also the blender 3ds exporter makes an error by exporting the transformation matrix. 3ds only uses the 3x3 matrix for mesh rotation in local space and the translation part is object location in world space

I made some updates to the script - 3ds has many features, wich are also in the new blender version, wich makes it very compatible

here is the commit: D7454

This happens, because the blender import script is reading the first frame of the keyframer. The sofa is part of an animation. It may be useful to add an option if you want to read the keyframer or not. Also the blender 3ds exporter makes an error by exporting the transformation matrix. 3ds only uses the 3x3 matrix for mesh rotation in local space and the translation part is object location in world space I made some updates to the script - 3ds has many features, wich are also in the new blender version, wich makes it very compatible here is the commit: [D7454](https://archive.blender.org/developer/D7454)

Been trying the version of this addon that is current as of v2.90.1. Still not quite there yet. For example, I tried importing this scooter model . Compare the difference: Vehicle-Scooter-2f32e410-comparison.png

On the left is with your new “Read Keyframe” option enabled, while on the right it is disabled and the “Clear Transform” option from my patch is enabled instead. Notice how the frame around the seatcushion (highlighted) is misplaced in the former.

Current version of my patch: ldo-3ds-importer-hack-20201024.patch.

Been trying the version of this addon that is current as of v2.90.1. Still not quite there yet. For example, I tried importing [this scooter model ](https://archive3d.net/?a=download&id=2f32e410). Compare the difference: ![Vehicle-Scooter-2f32e410-comparison.png](https://archive.blender.org/developer/F9062990/Vehicle-Scooter-2f32e410-comparison.png) On the left is with your new “Read Keyframe” option enabled, while on the right it is disabled and the “Clear Transform” option from my patch is enabled instead. Notice how the frame around the seatcushion (highlighted) is misplaced in the former. Current version of my patch: [ldo-3ds-importer-hack-20201024.patch](https://archive.blender.org/developer/F9062994/ldo-3ds-importer-hack-20201024.patch).
Sign in to join this conversation.
No Milestone
No project
No Assignees
7 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender-addons#50620
No description provided.