Alice Community

Alice Community (http://www.alice.org/community/index.php)
-   Share Objects (http://www.alice.org/community/forumdisplay.php?f=8)
-   -   Importing Model Files into Alice - Update (http://www.alice.org/community/showthread.php?t=384)

DrJim 09-29-2006 01:41 PM

Importing Model Files into Alice - Update
 
Have spent some time this week trying to import objects from varying sources into Alice. As a result of this effort, I have [B]reduced[/B] my success rate at this process to well under 50% for getting anything to show up in Alice :( and still haven't imported anything really usable except from Smooth Teddy (in looking thought the references, I see that was one of the sources of objects for Alice 1.0).

To illustrate the problems even with "success" - I did get a free Stormtrooper model (from [url]http://www.3d02-ae.com/html_3d_Model/3d_model_main_3M00487.asp[/url]) all the way into Alice and actually tried a couple of the textures that came with the model. Really very impressive :) [B]except[/B] that the model hierarchy didn't come through (see the notes in the Alice importing tutorial for how to fix this), and now [B]all[/B] I have to do make this model usable is to correctly restore the hierarchy to an object [B]with over 90 sub-objects [/B]:o .

Except for two notes - I won't go into the programs, file types, etc. I tried - the only consistent thing was that the more familiar I was with something, the higher the success rate. :eek: The first note is that I was impressed with Biturn - it tried it's best on everything and it's error messages were usually helpful. Second, I had zero success with .wrl (VRML) model files - a surprise since I thought it was a general standard. Anyone have any ideas? :confused: I know Blender is supposed to be able to do this but I couldn't get it to work (files were from [url]http://shape.cs.princeton.edu/search.html[/url] ).

Jim

m0u53m4t 10-08-2006 08:13 AM

If I want to make my own models, what program do I use, and is there a tutorial for getting the model into alice? I use wings3d for most 3d stuff.

DrJim 10-08-2006 11:14 PM

Links to References and a Tutorial
 
Here are two forum threads and a tutorial site to use as starting points.

Forum: [url]http://www.alice.org/community/showthread.php?t=24&highlight=objects[/url]
[url]http://www.alice.org/community/showthread.php?t=314[/url]
Tutorial: [url]http://www.alice.org/ase_import/ase_import.html[/url]

Both also have useful links for further investigation. Do remember, however, that Alice really wasn't designed for importing and using outside models and be prepared for a bit :o (or maybe a lot :( ) of frustration if you do try.

I was not previously familiar with Wings3D. My impressions, after 15 minutes or so looking over their web site, is that it is more of a graphics program than a modeling program. Also, some of the art is [B]very[/B] nice :) . It does export to .3ds and .obj formats so a model should import into Alice, although you'll have go through Biturn (see second thread). (I'd personally recommend the .3ds option, but that's because it's the one I'm most familiar with.) I couldn't tell with a quick look what sort of component (sub-object) hierarchy Wings3D supports so this may be a problem if you want to do something other than a purely static model.

If you do have success with it, please share the results with the forum.:)

Jim

Note: Since posting this originally, I've found some problems with the .3ds format and importing to Wings 3D. This is the only problem I've had with .3ds but apparently it is an old enough format that it is, by modern standards, limited see
[url]http://p212.ezboard.com/fnendowingsmiraifrm1.showMessage?topicID=2711.topic[/url]

m0u53m4t 10-09-2006 03:14 AM

Great! Thanks. I used wings3d and could make all objects, and they kept their heirarchy I set in wings3d so I can still mod them piece by piece in alice. Also, wings3d is free!

DrJim 10-09-2006 12:31 PM

Wow
 
Sounds like great results and quickly too. :D I'm going to download Wings3D this afternoon and give it a try. (Also a nice link re viruses - though sad that we need such things. :( )

If you have time, maybe you could see if Wings3D can solve this problem that was posted a couple of weeks ago:

[url]http://www.alice.org/community/showthread.php?t=382[/url]

I've failed the couple of times I tried and I wasn't trying for anything very hard - just a different texture on the inside and the outside of a tube. (A coordinate mapping would also be nice, but I didn't even attempt that.)

Jim

m0u53m4t 10-09-2006 06:15 PM

I've been having a few problems and it Alice will only accept about half of my files, but I guess I'll just have to live with that.
Here's my example of the only way I can do a tube like that in wings3d. [url]http://www.alice.org/community/showthread.php?p=1255#post1255[/url]

DrJim 10-09-2006 07:34 PM

Alice does seem very picky about what it accepts - but I've never gotten even close to 50% except with very simple stuff or Smooth Teddy models. Assuming I can get to the same level of success with Wave3d as you have, maybe I can figure out some of my problems - so far I haven't really been able to separate my goofs on the originals from conversion problems in any useful and systematic manner.

What I know it doesn't like (and I think this is all part of the parsing of the .ase file) includes most (but [B]not[/B] all) hooks to animation skeletons and complex background "scenery". It also has a problem figuring out correct surface normals but I think that may be an input problem. The reference the tutorial has gives a link to some "how to fix" stuff on these, but I really haven't gotten far enough along to really see how these apply.

The tube was what I was looking for - thanks. Will play with it tonight a bit.

Jim

Note: Got the tube into Alice and at least with two separate textures - still have to figure out how to get rid of the endcaps.

A couple of other things I didn't think to mention until I started playing with the tube. (1) You can ignore many of the Alice error messages - Alice will usually go to a good default option [B]if[/B] it can. (2) If the object appears on the object tree and you can see the axis but nothing else, make sure the opacity is at 100% and "is showing" is true - the object doesn't always come in that way (the tube had an opacity of 0%, for example).

gabe 10-09-2006 11:24 PM

We applaud all the work you're doing trying to get models imported into Alice. While I wouldn't expect a better importer in Alice 2, we hope to make it a lot easier to get your models into Alice with version 3. If you have any specific requests or suggestions with regard to making a better model importer, please post them. I work 10 feet away from our head programmer, so I can easily run suggestions by him. (Much to his chagrin, I'm sure.) ;)

m0u53m4t 10-10-2006 02:56 AM

Well Im presuming biturn or other similar software is opensource, so it would be good if alice could accept other file types and then convert them to save us the hasstle. Also, could there be a group function, where you can have, like the 'Do in order' allows you to open or close it, just have brackets, so you can group stuff in the methods menu? So if I have made 20 custom methods, I can open the section its in through that which would make it much easier to find?

Ill post any more ideas if I get them.


DrJim: You were right. My objects were just invisible. I've now had a 100% result rate with Wings3d and biturn! ;D

DrJim 10-10-2006 01:28 PM

Congratulations
 
Great :D - wish I could say the same with importing the tube, but I think I know what is wrong. I also found a way to do the same thing with the basic Alice shapes - will post it when I have more time.

The invisible thing usually isn't even really a bug - it's just that some - but only about half - of the programs leave that parameter blank when you don't use transparency in generating the model - so if you haven't explicitly overridden the default (which I assume you can do but I haven't tried), Alice will guess wrong about half the time. :) The same is true with the orientation of surface normals (which I think is my problem with the tube).

Jim

m0u53m4t 10-10-2006 04:47 PM

Cool. My only problems are, I can make people and objects and stuff, but when I try and animate them the things like setrun dont work, because it thinks the piece has the same orientation as the whole thing. If you dont understand what I mean, make a 2 part object then import it and try and animate it. Ill see If each piece can have its own orientation when I have time...

DrJim 10-10-2006 09:17 PM

Don't Understand Problem
 
1 Attachment(s)
Don't understand the problem :confused: - why don't you make a quick sample world with the object(s) and some commands (like the attached) and attach it to your next posting.

For the attached I did what you said - created the broom in Smooth Teddy and imported it - don't see anything unexpected. :)

If you are expecting to change the orientation of the object's parts relative to it's local origin, you'll have to do that [B]before[/B] you import it. At least as far as I can tell, it can't be done in Alice. If the local orientation isn't what you expect, it can also lead to some very unusual activities - see a post a few days ago re some of the Alice characters where they were trying to point at something.[B][/B]

Jim

Note: Re another of your postings. You can associate several events with a dummy (or real) object and then save and/or import them in one step. Think what you do is just drag the event to the object in the object tree but see a posting by MrNemo for the details.

m0u53m4t 10-11-2006 02:52 AM

Any idea on how to change a pieces orientation in wings 3d? :o

DrJim 10-11-2006 06:40 PM

Object orientation in Wings3D.
 
I have no idea, having only heard of Wings3D from your post a couple of days ago. In 4DBlue you would move the pivot point, but I did a word search of the Wings3D manual and couldn't find a similar term. :confused: In Smooth Teddy you actually have to be sure to draw the shape initially in the right orientation. Why don't you post the question in the Wings3D forum and see what answers you get?

In the meantime, just make a note (say as a comment) of what the actual Alice directions correspond to for your main object - i.e. "Alice forward is <object> left", etc. and then use the same convention for the sub-objects and "as seen by <object>" in the commands.

Shaba1 05-12-2007 09:01 PM

I know this is and old thread. But I have had some success importing objects from blender. I used a blender plug-in that exports .ase files [URL="http://www.katsbits.com/htm/tools_utilities.htm#ase"]http://www.katsbits.com/htm/tools_utilities.htm#ase[/URL][B](direct link) [/B][URL="http://www.katsbits.com/files/blender/goofosASE_2.4x_270107.zip"]http://www.katsbits.com/files/blender/goofosASE_2.4x_270107.zip[/URL]. I used [B]makehuman[/B][URL="http://makehuman.org"]http://makehuman.org[/URL]To make a human female. I exported that as and .obj file then imported into blender. I used the above .ase export plug-in to export that model to .ase, then imported it in to alice.

It came thru to alice fine with two problems.

It was facing 'out' of the monitor screen in makehuman, when I imported it into blender it was facing into the ground. I rotated it around the x axis by 90 degrees before exporting it to .ase. When I imported it to alice it was again facing into the ground. That might have been because I rotated the model in blender's 'object' mode. Which does not truly rotate the mesh data just the meshes presentation on screen. I will check on that later. This was easy to correct by just rotating it on its x axis in alice

Problem two was that the mode was HUGE when imported into alice. This was easy to correct by just scaling it in alice.

Problem three was the model imported as just one mesh. The author of the export plug-in did say that armatures and bones(blenders way of manipulating parts of a mesh were not supported) so that was to be expected. Also I did not separated the mesh into different parts or groups before exporting. Is there as way to separated the mesh into body parts with joints for rotation within alice. This is a MAJOR question for me if I am to use alice in my computer center to teach programming to teens this summer

Thanks

DrJim 05-12-2007 11:52 PM

First, thanks for the good information in your posting – it’s nice to hear of success exporting directly from Blender. The scaling and orientation problems are fairly common with imported files – there doesn’t seem to be any real consistant convention between tools – and, as you note, it’s something easy to fix.

[QUOTE=Shaba1;2848] Is there as way to separated the mesh into body parts with joints for rotation within alice. This is a MAJOR question for me if I am to use alice in my computer center to teach programming to teens this summer. [/QUOTE]

I’m afraid the answer to this is a fairly strong no. Alice 2.0 simply doesn’t have any way to alter or modify the imported meshes in any way, except for some very simple sizing options. The local coordinate reference for an object and the various surface normals are also set when an object is imported and cannot be modified.

It sounds like all you are importing from makehuman is the skin of the model it created. I’m not sure how you were hoping to use their model in your class but it would take a lot of effort, much of it in Blender or the equivalent and not Alice, to even emulate the movement, etc. that the “makehuman” model would likely have had initially. Doing an armiture/skin model is bascially not possible in Alice – and even getting close to that goal would be pushing the tool way outside its’ intendend range of operation.

Shaba1 05-13-2007 01:12 AM

thanks for the swift reply. I noticed on some of the demo tutorials that you could move the skater's arms and legs. That indicates that she had joints and some type of skeleton.

After importing from makehuman to blender all I would have to do is 'rig' the mesh and add actions. In other words make a skeleton/armature make animations using those joints/bones/skeletons/armatures( I use different terms here becasue they are called different things in differne programs) I would have to do this so the kids could make thier own unique models and put thier own animations on them. I was going to teach them blender anyway. But alice would give me a good graphical way or teaching them programming without all the typing of code.

I know they would get bored if they could not make there models walk,run,punch e.t.c So therre would have to be someway of seperating the mesh into parts and adding joints to those parts. HOw is the done with the models that come with alice such as the skater.

DrJim 05-13-2007 11:40 AM

[QUOTE=Shaba1;2850]
....That indicates that she had joints and some type of skeleton.[/QUOTE]
Joints yes – skeleton no. An Alice character object is just a hierarchy of sub-objects joined together with fairly arbitrary (and totally unconstrained – you want an arm to bend 360 degrees - OK) parent-child relationships. Each sub-object has its own texture. Although textures can be assigned to the object as a whole, that assignment will be overridden by a texture assignment to a sub-object (actually a nice feature if you want to change facial expression or do something similar).

Blender and most other high-end 3D animation programs make a distinction between the overall texture/skin of an object and its skeleton/armature. They then define relationships (often multiple ones) between specific surfaces of the skin and individual parts of the armature. Of the free programs, Milkshape does this particularly well, in my opinion. Blender is much more powerful, but (again IMO) also much harder to understand and work with and Anim8or is more limited but also the easiest to use (IMO again).

Though it is possible to mimic this in Alice – make an invisible “bone” the vehicle for a visible sub-object – this is a bit difficult - and quite confusing when more than one or two sub-objects are involved. You also must place any motion limits on any bone/sub-object yourself and cannot do weighted parent-child links between a surface and multiple bones – a capability that is common (and needed, for elbows, etc.) in most dedicated animation programs.

[QUOTE] ...all I would have to do is 'rig' the mesh and add actions ...[/QUOTE]

The biggest problem with this approach is just the size of the project – not Alice’s basic capabilities. For example, an animation development tool based on the Doom3 game engine, [url]http://www.fountainheadent.com/n.x/fe/Home/Productions/Machinimation/Version%202[/url] , supports probably four dozen different actions (including variations) for each character – and this is for a “simple” first person shooter game. To try to duplicate this in Alice, you would need to develop a similar number of methods for each character. Maybe possible – assign one or two methods to each student in a fairly good sized class – but certainly non-trivial when you consider each method also needs debug and testing.

In the same way that it would be nearly impossible (and certainly foolish) to try to do a large software project with the very minimal system development environment capabilities of Alice, a large animation project is also well beyond it’s intended use – though it is well set up to teach the principles involved in both cases.

As I reread this, it has a fairly negative tone – which wasn’t my intent. :o I really think what you are contemplating is possible if you have realistic expectations for the results. But there is a large danger that students may have very unreasonable expectations – you are not going to create a modern video game using Alice! (You can do a nice job on Asteroids and Space Invaders – see some of the games in the world section of the forum – but this isn’t the ‘70’s or even the same century.)

[QUOTE] HOw is the done with the models that come with alice such as the skater?[/QUOTE]

One final note. Shadow Sovereign did find a way to import new shapes into an object’s hierarchy – see the thread [url]http://www.alice.org/community/showthread.php?t=570[/url] . Again, this gets very tedious for a large number of objects but it is a good way to add/replace one or two meshes on an existing object. (I suggest you keep all the original meshes and just set them to “not shown” – otherwise you may have trouble saving the new object because of the missing parts.)

Good luck - I hope you are successful in whatever you do try. :)

Shaba1 05-15-2007 08:43 PM

Ok. I got lost in most of that reply. So from what I can gather of Shadow Sovereign's method. You can import sub objects if they are already .ase files and then save the whole object as a .a2c file. This would ok.

If I am reading both of these threads correctly. I could have the kids make something in blender then duplication it with SHIFT-D. That makes a true copy and not a virtual linked copy. Then they would have to go into blenders edit mode using the copy and just select and group all the vertices of say the right hand,the left hand, the right forearm, the left fore arm e.t.c Depending on what level of movement they would want for thier character. Then they would export each of those parts as and .ase file and import say the torso as the primary object.

They would then user that import texture button to import each part as a sub object of the main object and postion the sub object approriatatly

This would be tedious I know and as *I think* there would be no actual skeleton or bones or limits to position or rotation. So actually to animate the objects parts you would have to use FK. Forward Kinematics.

If I am understanding everything correctly this could work.

DrJim 05-16-2007 12:08 PM

Basically everything is correct - Some more hints.
 
[QUOTE=Shaba1;2856]
Ok. I got lost in most of that reply.
[/QUOTE]

Can't say I blame you - I got lost rereading it - and I wrote it! :eek:

Not sure about the Blender details - I don't use it much myself so I'm not sure about the commands - but everything else sounds fine. And yes, you only have a hierarchy of meshes, not a skin/armature (or similar definition) model. As I mentioned, you can really see this around the joints of a character

Some more details that can lead to problems if ignored:

1. To get the overall objects motions easy to program, you do need to be careful where you set the local origin/pivot point of each sub-object. Usually a good location is the point at which a sub-object joins its parent object.

2. Something I always have problems with is the direction of surface normals. This is particularly a problem with some Blender models that just use surfaces with textures on both sides (for hair, for example) - but almost any object that is not completely closed (i.e., there are openings in the mesh for doors, etc.) can have this problem.

My suggestion is to stay with low polygon models (the lower, the better) so you have a chance at fixing the problem manually. Also, if you cut a mesh into two or more parts, add surfaces to close the cut areas.

Comment: This means effectively you have to ignore the subsurface modeling (or other smoothing) options of your object creation program - a very unfortunate tradeoff, since one already has the unrealistic joint problem.

3. Despite the fact you are importing an .ase model as a texture, all you are actually going to import is the mesh (there is a link to a tutorial on importing objects on the Alice main page which covers this type of thing in some detail). You will then have to import the texture for the sub-object in a separate step. Not difficult - the only problem you might have is a mismatch in scale, which can be fixed with a couple of test runs to find the correct calibration factors - but a bit confusing if you don't expect this.

Again, good luck. I'll be glad to answer questions if I can - but I suspect you will rapidly move beyond the things I've tried. :)


All times are GMT -5. The time now is 01:37 PM.

Copyright ©2020, Carnegie Mellon University
Alice 2.x © 1999-2012, Alice 3.x © 2008-2012, Carnegie Mellon University. All rights reserved.