コード例 #1
0
def main():
    parser = OptionParser(
        usage="Usage: map2collada.py -o file.dae map.xml",
        description="Converts mapgen2 XML file to COLLADA using pycollada")
    parser.add_option("-o",
                      "--outfile",
                      dest="outfile",
                      help="write DAE to FILE",
                      metavar="OUTFILE")
    (options, args) = parser.parse_args()

    if len(args) != 1:
        parser.print_help()
        parser.exit(1, "Wrong number of arguments.\n")

    if not os.path.isfile(args[0]):
        parser.print_help()
        parser.exit(1, "Input file '%s' is not a valid file.\n" % args[0])

    if options.outfile is None:
        parser.print_help()
        parser.exit(1, "Must specify an output file.\n")

    fname = args[0]
    map = MapGenXml(fname)
    map.print_info()
    dae, texture = tocollada(map.centers, map.corners, map.edges)

    generateNormals(dae)
    dae.write(options.outfile)

    texpath = os.path.join(os.path.dirname(options.outfile), 'texture.jpg')
    texture.save(texpath, format="JPEG", quality=95, optimize=True)
コード例 #2
0
def main():
    parser = OptionParser(
        usage="Usage: map2collada.py -o file.dae map.xml",
        description="Converts mapgen2 XML file to COLLADA using pycollada",
    )
    parser.add_option("-o", "--outfile", dest="outfile", help="write DAE to FILE", metavar="OUTFILE")
    (options, args) = parser.parse_args()

    if len(args) != 1:
        parser.print_help()
        parser.exit(1, "Wrong number of arguments.\n")

    if not os.path.isfile(args[0]):
        parser.print_help()
        parser.exit(1, "Input file '%s' is not a valid file.\n" % args[0])

    if options.outfile is None:
        parser.print_help()
        parser.exit(1, "Must specify an output file.\n")

    fname = args[0]
    map = MapGenXml(fname)
    map.print_info()
    dae, texture = tocollada(map.centers, map.corners, map.edges)

    generateNormals(dae)
    dae.write(options.outfile)

    texpath = os.path.join(os.path.dirname(options.outfile), "texture.jpg")
    texture.save(texpath, format="JPEG", quality=95, optimize=True)
コード例 #3
0
def main():
    parser = OptionParser(
        usage="Usage: generate-scene.py -o scene map.xml",
        description=
        "Generates a JSON scene based on mapgen2 XML output, using meshes from open3dhub"
    )
    parser.add_option(
        "-o",
        "--outname",
        dest="outname",
        help=
        "write JSON scene to {outname}.json and Emerson script to {outname}.em",
        metavar="OUTNAME")
    (options, args) = parser.parse_args()

    if len(args) != 1:
        parser.print_help()
        parser.exit(1, "Wrong number of arguments.\n")

    if not os.path.isfile(args[0]):
        parser.print_help()
        parser.exit(1, "Input file '%s' is not a valid file.\n" % args[0])

    if options.outname is None:
        parser.print_help()
        parser.exit(1, "Must specify an output name.\n")

    fname = args[0]
    map = MapGenXml(fname)
    models = get_models()

    terrain = scene.SceneModel(TERRAIN_PATH,
                               x=0,
                               y=0,
                               z=0,
                               scale=1000,
                               model_type='terrain')
    json_out = []
    print 'Generated (1) terrain object'
    json_out.append(terrain.to_json())

    generate_houses_and_trees(models, terrain, map, json_out)
    generate_winter(models, terrain, map, json_out)
    generate_roads(models, terrain, map, json_out)
    generate_vehicles(models, terrain, map, json_out)
    generate_flying(models, terrain, map, json_out)
    generate_boats(models, terrain, map, json_out)

    json_str = json.dumps(json_out, indent=2)

    json_name = options.outname + '.json'
    with open(json_name, 'w') as f:
        f.write(json_str)

    em_name = options.outname + '.em'
    with open(em_name, 'w') as f:
        f.write('var OBJECTS = ')
        f.write(json_str)
        f.write(';\n')
コード例 #4
0
ファイル: renderxml.py プロジェクト: sirikata/scene-generator
def main():
    parser = OptionParser(usage="Usage: renderxml.py map.xml",
                          description="Renders a mapgen2 XML file using Panda3D")
    (options, args) = parser.parse_args()
    
    if len(args) != 1:
        parser.print_help()
        parser.exit(1, "Wrong number of arguments.\n")
    
    if not os.path.isfile(args[0]):
        parser.print_help()
        parser.exit(1, "Input file '%s' is not a valid file.\n" % args[0])
        
    fname = args[0]
    map = MapGenXml(fname)
    
    map.print_info()
    visualize(map.centers, map.corners, map.edges)
コード例 #5
0
def main():
    parser = OptionParser(
        usage="Usage: renderxml.py map.xml",
        description="Renders a mapgen2 XML file using Panda3D")
    (options, args) = parser.parse_args()

    if len(args) != 1:
        parser.print_help()
        parser.exit(1, "Wrong number of arguments.\n")

    if not os.path.isfile(args[0]):
        parser.print_help()
        parser.exit(1, "Input file '%s' is not a valid file.\n" % args[0])

    fname = args[0]
    map = MapGenXml(fname)

    map.print_info()
    visualize(map.centers, map.corners, map.edges)