I've just recently started learning Unity3D.
I've got two projects going with it at the moment . . . one which involves using Paul Bourke's iDome software to do a fisheye projection onto a hemispherical dome (it uses multiple cameras and projected textures to warp the image into a shape that can be projected onto a portion of a spherical mirror). It's also using some simple Touch OSC stuff to allow an iPhone to have rudimentary control over what's going on in the scene.
The other is a more straightforward game engine . . . I can't really say anything about it yet, but it's going to have simple interaction between a person and a 3D scene.
I have to say I'm really happy with Unity . . . it has a lot of really simple drag and drop functionality that allows you to get a lot out of it without having to do much, but at the same time allows you a great deal of depth with its scripting to be able to import code from other projects to do specific and more complex tasks. Not to mention that it happily compiles onto multiple platforms, including a web player. Here's something I knocked up over a day or so just to get the hang of some simple scripting: http://www.cse.unsw.edu.au/~marcchee/MarcConstruction.html
To top it off, the community is amazing. Nearly every problem I've had has been solved with a really simple Google search for "Unity3d " + problem. The wiki and forums are very active and friendly. I'd definitely recommend it for small projects and quick prototyping.