Alice Community

Alice Community (
-   Share Objects (
-   -   Importing Model Files into Alice - Update (

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]


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=""][/URL][B](direct link) [/B][URL=""][/URL]. I used [B]makehuman[/B][URL=""][/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


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

....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][/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][/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.
Ok. I got lost in most of that reply.

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 05:50 PM.

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