Indigo 0.7F exporter here! Features added/Comments welcome!

Announcements, requests and support regarding the Blender Indigo export script
Wedge
Posts: 441
Joined: Sun Jan 14, 2007 11:33 am
Location: East Coast, USA

Post by Wedge » Tue Apr 17, 2007 9:51 pm

Greetings! Uploaded new version with camera bug fixed. Also removed MLT button from GUI. Now by default it is MLT or MLT with Bidir.
Content contained in my posts is for informational purposes only and is used at your own risk.

SimonLarsen
Posts: 289
Joined: Wed Apr 18, 2007 1:52 am
Location: Odense, Denmark

Post by SimonLarsen » Wed Apr 25, 2007 2:02 am

Hey Wedge. Great exporter. Works perfectly for me.

Shoulden't somebady make this thread sticky?

Wedge
Posts: 441
Joined: Sun Jan 14, 2007 11:33 am
Location: East Coast, USA

Post by Wedge » Thu Apr 26, 2007 12:46 pm

Thanks for the comment Simon!

New version posted at the front, mostly a maintenance release but I reworked how layers work.

Basically if an object is viewable in more than one layers it only gets exported once. Also if you place an object in a layer not being rendered, it is ignored.

I'm not sure how 6t6 exporter handled this because I just started using layers today. As always, if you report any bugs I'll gladly try and fix them.

Update: Had a thought that I could optimize the code a litter better in an area but it looks like I already placed it in a good location. Anyways a small update is posted: Version 1.18 (Just a small code cleanup.)

Update 2: Version 1.20 More code cleanup. Sometime in the near future this thread will likely fall out of date in the forums and a new thread will be open if I decide to work on future Indigo versions of the exporter.

Update 3: Version 1.20 is the last version of 07 exporter. I will no longer be working on this exporter. Any bugs that exist will be carried over to the 8t1 exporter which will be based on this one.
Content contained in my posts is for informational purposes only and is used at your own risk.

Wedge
Posts: 441
Joined: Sun Jan 14, 2007 11:33 am
Location: East Coast, USA

Post by Wedge » Mon Apr 30, 2007 12:26 pm

I would like to say thank you to everyone that used and tested this exporter.

This script will no longer be developed by me. Thanks again for your support!

See you in 0.8 exporter thread!

Update: It seems I have created a very bad error in version 1.20 and I do not want it to cripple this exporter. I think I will fix it and post another update. I have now moved on to a complex test scene so it will be much easier to find bugs. :)

Update 2: Version 1.21 posted. Bug has been fixed.
Content contained in my posts is for informational purposes only and is used at your own risk.

User avatar
Heavily Tessellated
Posts: 108
Joined: Thu Aug 10, 2006 4:20 pm
Location: Huh?

Post by Heavily Tessellated » Tue May 01, 2007 2:00 am

argh, I know you don't want to code on this one anymore, but it's now throwing an error with 1.21 that it previously didn't...

Code: Select all

Traceback (most recent call last):
  File "<string>", line 521, in gui
  File "<string>", line 793, in saveChoice
  File "<string>", line 757, in save_indigo
TypeError: argument 1 must be string or read-only character buffer, not None
Don't sweat it, I'll just regress to an eariler version, as you point out "see you in 0.8" :-P.

User avatar
Kram1032
Posts: 6649
Joined: Tue Jan 23, 2007 3:55 am
Location: Austria near Vienna

Post by Kram1032 » Tue May 01, 2007 2:39 am

As 0.8 is in a very first relase, it wont be too useful, to stop writing on 0.7xporter, as long, as there still are bugs and possibilities to optimize the exporter, which can be used in 0.8, too! ;)

Wedge
Posts: 441
Joined: Sun Jan 14, 2007 11:33 am
Location: East Coast, USA

Post by Wedge » Tue May 01, 2007 8:00 am

Heavily Tessellated: That error shows up on the object line. It does not make sense to me without more information. Can you include more data from the console window, usually right before the traceback message it will show the problem causing object.

Also, were you just trying to export one scene or an animation? With more information maybe I can find out why this is happening.

Kram: Since 8t1 exporter is based on this one, and as Indigo gets better and better, the exporter follows this. I know it would be useful to keep up with the older versions but I do not want to increase my work load. :)
Content contained in my posts is for informational purposes only and is used at your own risk.

User avatar
Heavily Tessellated
Posts: 108
Joined: Thu Aug 10, 2006 4:20 pm
Location: Huh?

Post by Heavily Tessellated » Tue May 01, 2007 11:51 am

Sorry. OK. It's a single scene. The object in question is literally the simplest object in the thing, it's a cheap "Ikea-type" bookcase made of cubes.

Code: Select all

....
Export: Pillow_Se3_Material (Mesh Pillow_Se3_Material)
Export: Backless Bookcase (Mesh Backless Bookcase)
Traceback (most recent call last):
  File "<string>", line 521, in gui
  File "<string>", line 793, in saveChoice
  File "<string>", line 757, in save_indigo
TypeError: argument 1 must be string or read-only character buffer, not None 
I look at the object, there's nothing to it. No coplanar faces, no detached verts hanging out in space, it literally is 10 cubes flattened into boards. I have no idea why it pukes on that. Anyway, I move it to an unused layer, and the same error with at the same code lines pops up on another object, one much higher in the matrix, one that previously exported fine when it was the bookcase that was catching the error. Argh. Talk about your roaming errormsg.

When it goes, it stops right in the middle of the what it's doing::

Code: Select all

....
                                <tri>1368 2387 2385</tri>
                                <tri>1368 2386 2388</tri>
                                <tri>2388 14
I mean it wrote out two digits of a vertex coord and then pops? Woah. :-P

I'll keep hiding objects until the scene exports fine, and then start adding things back until it blows up and maybe we'll have some idea why it doesn't like whatever "None" is getting assigned to. (it's a small scene, maybe 50 objects total.)

Thanks!

(PS: yea it behaves the same in 08b1 too.)

---------------------

Edit: Oops I lied. What it does, it fails on the last object prior to the one you hide. So if bombs on the bookcase, I hide the whole bookcase, it bombs on the couch seat cushion, I hide the whole couch, it bombs on the window sill, I hide the entire window group, it bombs... etc... so it's probably the item that comes NEXT after the bookcase that's doing it.

Wedge
Posts: 441
Joined: Sun Jan 14, 2007 11:33 am
Location: East Coast, USA

Post by Wedge » Tue May 01, 2007 2:29 pm

Heavily Tessellated: No reason to be sorry. I hope I didn't sound unhappy with information you gave me previously. I only meant to ask for more. Thanks for helping me try and solve this bug! :)

It is a strange error indeed. I am amazed because I ran this by my 500 + object test scene that has just about every situation you could create and it found no errors.

It may take a few tries to solve this one but here is a start, try this build...

Also, are you using a windows build of Blender or are you on a different platform?

Update: Builds removed.
Last edited by Wedge on Tue May 01, 2007 4:18 pm, edited 1 time in total.
Content contained in my posts is for informational purposes only and is used at your own risk.

User avatar
Heavily Tessellated
Posts: 108
Joined: Thu Aug 10, 2006 4:20 pm
Location: Huh?

<-- runs 64-bit blender CVS built last week

Post by Heavily Tessellated » Tue May 01, 2007 3:09 pm

lol no it's just that I'm an IT geek and I know better than to post "I can't print!!!111" types of error posts. :-D

Anyway, I figured it out. Well, I mean I figured out what's doing it. (changing to getMatrix() had zero effect)

Ready? Emptys! Specifically empties that are linked to texture mapping to control scale of procedurals. The exporter finds them and treats them like regular objects apparently, but then when they don't fit the parser's predefined criteria, the script gets mad and bombs. I delete or hide all empties, and it exports just fine.

What I don't understand is how that's affecting the export. Around line 280 where the section starts:

Code: Select all

def exportObject(obj, matrix, trigger):
	global meshlist
	if obj.type == "Mesh":
You would think that logic would be enough, but perhaps it just wants to blow up? I guess you could specifically add a check for them, ala
if obj.getType() == 'Empty': # kaboom! or something?

But that's what it is, regardless of how it gets past. And hey, thanks for trying and making test versions, too! That was quite nice of you, really. :-D

----------
Bawar teh EMTEEZ!

Wedge
Posts: 441
Joined: Sun Jan 14, 2007 11:33 am
Location: East Coast, USA

Post by Wedge » Tue May 01, 2007 4:21 pm

I still cannot understand how an object like that could get into the object_list when it is being populated.

I don't know exactly what you mean by empties linking to textures, as empties by themselves are ignored.

I will try and reproduce it for my own entertainment... thanks for solving this! :) I will keep you updated...

Update: Here is a build I made with an alternate path to an object without a "mesh" type. I was not able to reproduce the problem, probably because I do not know anything about linking in Blender. But I think this will fix your problem.

Build Removed
Last edited by Wedge on Wed May 02, 2007 10:08 am, edited 1 time in total.
Content contained in my posts is for informational purposes only and is used at your own risk.

User avatar
Heavily Tessellated
Posts: 108
Joined: Thu Aug 10, 2006 4:20 pm
Location: Huh?

Post by Heavily Tessellated » Wed May 02, 2007 8:27 am

Nope, same same. Don't sweat it. I've tried recreating it from a scratch scene, and it doesn't do it. I can't intentionally MAKE it do it, as it were. Seems you couldn't either. As far as I know, it's just this one scene file and I've figured out a workaround, namely hiding the empties and that's that. Don't spend too much time on it, unless you just have to know why it's doing what it is, and if that's the case I'll put up the .blend somewhere and you can play with it to your heart's content.

re: don't know exactly... OK so make a primitive, say a cube. add a texture, say Magic. Add an empty, name it something (hit F7 and turn on Name under Draw Extras). Go back to your material, and on the Map Input tab, click Object, and then type in the name of the empty in the box beside it. Then you can control how that specific texture is applied to the cube, without messing up your IPOs for the cube itself. (in fact, that's the whole point of empties existing - proxy control for sub-parameters.)

Wedge
Posts: 441
Joined: Sun Jan 14, 2007 11:33 am
Location: East Coast, USA

Post by Wedge » Wed May 02, 2007 10:15 am

Hey,

Thanks for the directions. It looks like what I did last night when I tried to reproduce the problem. Just in case, I tried it again following your directions. It still exports just fine. No matter what kind of unsupported objects I place in the scene, I cannot get it to break.

Since you have figured it out, I think I'll leave this bug alone for now.

Thanks for all of your help with this. :)
Content contained in my posts is for informational purposes only and is used at your own risk.

Post Reply
223 posts

Who is online

Users browsing this forum: No registered users and 5 guests