#! /usr/bin/python -O # -*- python -*- # Slune # Copyright (C) 2002-2003 Jean-Baptiste LAMY # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # launch this script to generate the level import math, os, os.path import copy import soya import soya.model as model import soya.soya3d as soya3d import soya.editor.main import soya.land import slune.level lev = slune.level.Level() w = soya3d.World(lev) w.set_xyz(-20.0, -20.0, -20.0) atm = soya3d.Atmosphere() atm.ambient = (0.4, 0.4, 0.4, 1.0) atm.bg_color = (0.2, 0.1, 0.4, 1.0) atm.skyplane = 1 atm.sky_color = (1.0, 1.0, 0.5, 1.0) atm.fog_color = (0.2, 0.1, 0.4, 1.0) atm.fog_type = 0 atm.fog_start = 20.0 atm.fog_end = 50.0 atm.fog = 1 atm.fog_density = 0.001 atm.cloud = model.Material.get("clouds1") w.atmosphere = atm land = soya.land.Land() land.from_image(model.Image("/home/jiba/python/slune/images/map2.png")) land.map_size = 8 land.scale_factor = 2.0 land.multiply_height(35.0) land.set_texture_layer(model.Material.get("grass1"), 0.0, 14.0) land.set_texture_layer(model.Material.get("rocks1"), 14.0, 19.0) land.set_texture_layer(model.Material.get("snow1"), 19.0, 50.0) w.set_shape(land) w_crash = soya3d.World.get("contruct-at_the_mountain") w_building = w_crash.children[0] #w_building.set_xyz(0.0, 0.0, 0.0) i = 1 while (i < 1 + 3 + 41): w_crash2 = w_crash.children[i] for face in w_crash2: w_building.add(face) i = i + 1 v = soya3d.Volume(w) shap = w_building.shapify() shap.subdivide(50, 30.0) shap.build_tree() v.set_shape(shap) v.set_xyz(20.0, 20.0, 20.0) lev.filename = "level-at_the_mountain" lev.save() print '[ OK ]' # lev = slune.level.Level() # w = soya3d.World(lev) # w.set_xyz(-20.0, -20.0, -20.0) # atm = soya3d.Atmosphere() # atm.ambient = (0.3, 0.3, 0.3, 1.0) # atm.bg_color = (0.2, 0.1, 0.4, 1.0) # atm.skyplane = 1 # atm.sky_color = (1.0, 1.0, 0.5, 1.0) # atm.fog_color = (0.2, 0.1, 0.4, 1.0) # atm.fog_type = 0 # atm.fog_start = 10.0 # atm.fog_end = 50.0 # atm.fog = 1 # atm.fog_density = 0.0 # atm.cloud = model.Material.get("clouds1") # w.atmosphere = atm # land = soya.land.Land() # land.from_image(os.path.join(model.Image.PATH, "map.png")) # land.map_size = 8 # land.scale_factor = 1.5 # land.multiply_height(50.0) # land.set_texture_layer(model.Material.get("grass1"), 0.0, 15.0) # land.set_texture_layer(model.Material.get("rocks1"), 15.0, 21.0) # land.set_texture_layer(model.Material.get("snow1"), 21.0, 50.0) # w.set_shape(land) # light = soya3d.Light(lev) # light.set_xyz(20.0, 30.0, 20.0) # lev.filename = "at_the_mountain" # lev.save() # print "Done."