On Nov 30, 2011, at 9:05 PM, Zhao Boxuan wrote:
> I just downloaded the Tundra2.1.3 and its source code. I am planning
> to develop some motion planning demos on Tundra2. However, the
> documentation seems outdated and there is no instructions for how to
> edit the .txml file to make a new scene(add some CAD models) or add
We usually make scenes, at least any more complex ones and when doing new
polygon modelling, in a modelling app like Blender or 3ds max or Maya or such.
>From those you can export in the dotscene (.scene) format which is sometimes
>used with Ogre, and which Tundra can import directly.
The new blender exporter (blender2ogre) can also do txml, and has a nice live
preview system.
If you just make a simple scene with existing meshes, you can just drag & drop
those from filesystem to the tundra 3d window, to add them to your scene. With
shift-e you get the entity-component editing window open, and that also enables
the simple 3d manipulation gui.
TXML is not usually edited by hand, but Tundra with the scene structure &
entity component editors, + the 3d manipulation tools, is the editor.
> some new callback function(like mousemove callback or keyboard
> callback). The only thing now I can do is use the default demo.
The example scenes / applications are in the 'scenes' directory in release
(bin/scenes/ in the source repo). Many of those have callbacks.
The documentation of the core input api InputContext object, which has signals
KeyEventReceived and MouseEventReceived, is at
http://www.realxtend.org/doxygen/class_input_context.html#a0656a7bd87ae184eacaf1759169dbe05
Many applications, for example the simple reference / default avatar thing,
uses entity actions for input .. e.g.
https://github.com/realXtend/naali/blob/tundra2/bin/scenes/Avatar/simpleavatar.js#L431
.. but that may not be necessary for you if you don't need to send your
commands over the network to server.
> Could anyone tell me how can I start?
The interactive Python console, bundled in the SDK release, is one way to
explore the api .. put test functions to key handling etc.
And JS with the automatic reloading is really nice -- just make a js file and
e.g. that to a EC_Script in your scene (almost all of the example scenes do
this), or to your plugins.xml to load at startup ..
The default free camera js is loaded by
https://github.com/realXtend/naali/blob/tundra2/bin/jsmodules/startup/cameraapplication.js
from jsmodules/startup/ folder. the actual free cam script is also a nice
example, with mouse and keyboard handling
https://github.com/realXtend/naali/blob/tundra2/bin/jsmodules/camera/freelookcamera.js
You can also just do this to run a script: Tundra.exe --file
/my/project/myscript.js .. to run that code at startup, and e.g. start
listening to the mouse etc.
> Besides, I have some python script. I see there is a project called
> PythonScriptModule, so it seems like I can import my python script.
> Could anyone give me a short instruction to deal with that, or
> somewhere I can get help?
Python plugins can also be put to plugins.xml for loading -- there are a few
ones ported to tundra2 now in the repo (the irc relay and the websocket server
i think).
There are also some unit tests written in Python which perhaps give the feel of
the api nicely:
https://github.com/realXtend/naali/blob/tundra2/bin/pyplugins/lib/apitests.py
So there's some pointers, please ask more to not get blocked. We are working
towards next release, porting demos and updating docs etc also, but are happy
to help here in the meantime too. And on #realxtend-dev on freenode irc.
Cheers,
~Toni
--
http://groups.google.com/group/realxtend
http://www.realxtend.org