I'm new to Python, Soya, and this list, so I wanted to introduce myself
and throw out a few questions while I'm at it.  I've been a programmer
for about 4 years or so, mostly in scripting languages with some C/C++. 
When I started working in Python a couple weeks ago, it was like a
revelation--all the power of doing things in C without the hassles.  If
I can think it, I can do it in Python--and Soya's been a big part of
that. So thanks to all for developing this really incredible module
(merci!).  And thanks for naming it Soya--I'm a vegetarian, too ;).

Now, some questions:
1. I've made a Land and am moving the camera over it, adjusting for the
height of the terrain by using:
camera.add_vector(soya3d.Vector(camera, 0.0, 1.0 +
island.get_height(int(camera.x),int(camera.z)) - camera.y, 0.0))

This works great (hovers 1.0 units over the Land) when I set the
scale_factor of the land to 1.0, but not so well if I scale up or down. 
Anyone know why this would happen?   Do I need to convert a coordinate
system there?  I set the objects up like this:
island = land.Land(0)
..
world.set_shape(island)
camera = soya3d.Camera(world)

It works fine if I divide the camera coords by the scaling factor (e.g.
1.5) like so:
camera.add_vector(soya3d.Vector(camera, 0.0, 1.0 +
island.get_height(int(camera.x /1.5),int(camera.z/1.5)) - camera.y,
0.0))

2. What's the Morph object?  Does it work like a Shape except that it
can be modified?  Is it optimized like a Shape?  Is there a tut on
this?  Or is it part of future features (animation?) as yet unrevealed?

3. When you create a Land, is its shape optimized with a tree?  If not,
could it be?  Would it be possible to get the mesh of the land before
it's shapified and add in other meshes (buildings, walls, circus
elephants) before shapification/treeing/whatever?

4. Since Soya uses SDL, is it possible to intercept the surface Soya
uses to display and blit other things to it, SDL-style?  Or is all the
blitting/buffering/whathaveyou inside the render() method or something?

5. How difficult would adding a Disc and/or Cylinder/Tube primitive be? 
Is it just a matter of hacking it in Python or is there C work needing
to be done?  Looking at the Sphere code, I think it's the latter.  Is
there interest for this?  I could undertake it as a kind of journeyman
project for me to learn more about Soya.  I think it's just a matter of
setting a bunch of quads rotated arond an axis plus a Disc, which could
be made with triangles like a bicycle wheel or from a point on the
circumference, palm-branch style.

6. (somewhat offtopic) I hacked out a Python version of the A* algorithm
and slapped a frontend on using Soya.  The Soya frontend module
specifically does pathfinding over a network of two-dimensional nodes
(and has pretty fireworks on success), but the A* module itself is much
more generalized (i.e. not just for map crawling).  Does anybody have a
need for this?  Or is there an existing A* module for Python (I could
use it as a benchmark)?  It also includes a PriorityQueue module, if
that's a data type people are looking for.  It's all pretty rough, but
works fine.

Whew, that's it for now.

Thanks again for all your hard work on this module!

-Mike Edwards



-- 
Pour vous desabonner envoyez un mail a [EMAIL PROTECTED]

Reply via email to