wegen störung geht es hier weiter: import blender

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
sechsrad
User
Beiträge: 173
Registriert: Montag 31. März 2008, 17:09

kann keine antworten geben im thread: suche modul blender.
euer server läuft sich tot, darum mache ich hier weiter.

das programm welches das modul "import blender" aufruft wird natürlich nicht direkt gestartet sondern von soya3d mit dem unteren demoprogramm hier.

es soll dann eine grafikdatei mit der endung "blend" eingelesen werden die
mit dem 3d-blenderprogramm erstellt wurde und bei der demo mit dabei ist im ordner (/blender/knife.blender).

dieses 3d-erstellungprogramm "blender" welches man braucht wenn man die 3d-körper erstellt , hat zur zeit mit diesem ablauf hier nichts zu tun.

und dieser import blender wird nicht befunden.ich finde auf der ganzen festplatte kein py-program/modul welches blender.py ode pyc usw heisst.

Code: Alles auswählen

# -*- indent-tabs-mode: t -*-

# Soya 3D tutorial
# Copyright (C) 2004 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


# blender-auto-exporter-1: Blender auto-exporter : how to export models automatically

# This lesson is similar to basic-2.py, but it loads a Blender model !
# You NEED Blender to run this lesson.

# The Soya auto-exporter feature currently support the following file formats :
#  - Blender model (Both static models, and Cal3D ones)
#  - OBJ/MTL model (thanks David PHAM-VAN)
#  - .png images
#  - .jpeg images 


# Imports and inits Soya (see lesson basic-1.py).

import sys, os, os.path, soya

soya.init()
soya.path.append(os.path.join(os.path.dirname(sys.argv[0]), "data"))

# Creates the scene.

scene = soya.World()

# Loads the knife model.

# To use auto-exporter, simply put your Blender models in {soya.path}/blender/ , your
# OBJ/MTL models in {soya.path}/obj/ and your textures in {soya.path}/images/ .
# Soya will automatically exports models to Soya worlds ans models, and textures to
# materials, if the corresponding Soya doesn't exist OR is not up-to-date.

# Here, the knife model doesn't exist as a Soya model yet, but the original Blender model
# is in {soya.path}/blender/knife.blender ; so Soya will find it, export it to
# a world and then compile the world into a model.

# Soya will save the exported world and model, so if you run the lesson again, the model
# won't be exported again. If you want so, just modify the model and/or the texture.

knife_model = soya.Model.get("knife")

# The Blender model has a Text buffer called "soya_params".
# This buffer is analyzed and gives additionnal information ; here it contains
# "cellshading=1" and thus enable cell_shading for the model.

# The list of ATTR=VALUE code usable in the text buffer corresponds to the options
# available at the beginning of the blender2soya.py script (see this script), e.g. :
#     scale=1.0
#     shadow=1
#     cellshading=1
#     cellshading_shader=shader_name
#     cellshading_outline_width=5.0
#     =5.0
#     =5.0
#     
# The MATERIAL_MAP option has a different syntax. E.g. the following will replace the
# material called "old_material_name" by the one called "new_material_name".
#     material_old_material_name=new_material_name
# 
# You can also make curent a specific position of an animation (called Action by Blender)
# as following :
#     animation=animation_name
#     animation_time=1

# If you want to generate SEVERAL different models from a SINGLE Blender file,
# you can use alternative text buffers. For example the following :

knife_model2 = soya.Model.get("knife@with_sword_material")

# will read the Blender text buffer "with_sword_material" in the model in addition to
# "soya_params". Here is contains "material_knife=epee_turyle", which replace the knife
# material by the sword one (In French, epee=sword).


# The rest of the script is the same than lesson-2.

# Creates a rotating body class.

class RotatingBody(soya.Body):
	def advance_time(self, proportion):
		soya.Body.advance_time(self, proportion)
		self.rotate_y(proportion * 5.0)


knife    = RotatingBody(scene, knife_model )
knife.x  = -1

knife2   = RotatingBody(scene, knife_model2)
knife2.x = 1

# Creates a light.

light = soya.Light(scene)
light.set_xyz(0.5, 0.0, 2.0)

# Creates a camera.

camera = soya.Camera(scene)
camera.z = 3.0
soya.set_root_widget(camera)

soya.MainLoop(scene).main_loop()

Jan-Peer
User
Beiträge: 166
Registriert: Dienstag 2. Oktober 2007, 10:55

Das Totlaufen könnte unter anderem daran liegen, daß du zu große Stücke von Quellcode einfach postest. Auslagern wäre hilfreich.

Zum Thema: Daß es keine .py* Datei gibt, wundert mich nicht. Such mal nach .so .dll etc.
sechsrad
User
Beiträge: 173
Registriert: Montag 31. März 2008, 17:09

ich habe alles durchsucht mit dem wort "blender*.*"

es gibt sie nicht..hm...eigenartig!

import kann doch eigentlich nur py, pyc oder pyd sein,oder?

mfg
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

``import Blender`` bei soya bezieht sich auf Blender3d.

Hast du Blender installiert, und auch in Version >= 2.42, wie es auf der Soya3d Seite empfohlen ist?

PS: nutz http://paste.pocoo.org

PPS:
Blender hat schon etwas damit zu tun, bei jedem Ausführen von Soya wird versucht die Datein im data Ordner von .blend (und anderen Format) in das Soya Format zu bringen.
Da Blender stark mit Python zusammenarbeitet ist es nicht unwahrscheinlich das Blender da einiges an Bibliotheken mitbringt.
Zuletzt geändert von Sr4l am Sonntag 13. April 2008, 11:08, insgesamt 1-mal geändert.
BlackJack

@sechsrad: Okay, langsam glaube ich Du bist ein Troll. In Zeile 25 steht sehr deutlich:

Code: Alles auswählen

# You NEED Blender to run this lesson.
Wieso behauptest Du dann immer noch so felsenfest, dass das nichts mit Blender zu tun hat!?
sechsrad
User
Beiträge: 173
Registriert: Montag 31. März 2008, 17:09

ich habe blender grösser 2.4.2 installiert. ich habe einmal blender gestartet und den körper knife.blend eingeladen. habe dann soya3d gestartet mit diesem nichtfunktionierenden programm . habe blender geschlossen und dann dieses soya3d gestartet. immer die gleiche fehlermeldung: das die importdatei Blender fehlt.

es gibt nirgendwo die importdatei blender die eingeladen werden soll.

das ist ja erstmal die fehlermeldung die vom programm kommt, die ich beseitigen möchte, dann geht es weiter wenn weitere fehlermeldungen kommen.

das hat nichts mit troll zu tun.
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

@ sechsrad

Bei mir geht dein Code (mit meinen beiden Blender Versionen 2.43 und 2.44)
*************************** Blender exporter ***********************

The Blender exporter has been tested with Blender 2.35 ; you need a
Blender with a separate Python (i.e. Blender must be able to import
Soya).
Habe in Blender die ScriptConsole aufgemacht und ``import soya`` getippelt und kein Fehler.
Deine Soya -- Blender verbindung stimmt nicht.

Denkbar wäre weil Blender nach Soya installiert wurde.
Versuch mal in Blender "import soya" zu machen, wenn es ne Fehlermeldung gibt liegt es daran.
Ansonsten Build Soya doch nochmal neu.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

sechsrad hat geschrieben:ich habe blender grösser 2.4.2 installiert. ich habe einmal blender gestartet und den körper knife.blend eingeladen. habe dann soya3d gestartet mit diesem nichtfunktionierenden programm . habe blender geschlossen und dann dieses soya3d gestartet. immer die gleiche fehlermeldung: das die importdatei Blender fehlt.

es gibt nirgendwo die importdatei blender die eingeladen werden soll.

das ist ja erstmal die fehlermeldung die vom programm kommt, die ich beseitigen möchte, dann geht es weiter wenn weitere fehlermeldungen kommen.

das hat nichts mit troll zu tun.
Führst Du den Code denn in Blender aus? Von der Konsole o.ä. dürfte er wohl nicht funktionieren. Das solltest Du Dir zum Scripting in Blender evtl. mal durchlesen: http://de.wikibooks.org/wiki/Blender_Do ... in_Blender
MfG
HWK
Benutzeravatar
Sr4l
User
Beiträge: 1091
Registriert: Donnerstag 28. Dezember 2006, 20:02
Wohnort: Kassel
Kontaktdaten:

Doch das oben genannte Script wird in Python ausgeführt.

Der Importer für Blenderdateien ruft dann Blender auf und führt dort ein Python Script aus.
Nur falls Soya nicht schafft Blender zuöffnen, oder das Blender-Python einen Fehler meldet, z.B weil es Soya nicht finden kann, dann gibt es Fehler.
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Sr4l hat geschrieben:Doch das oben genannte Script wird in Python ausgeführt.

Der Importer für Blenderdateien ruft dann Blender auf und führt dort ein Python Script aus.
Nur falls Soya nicht schafft Blender zuöffnen, oder das Blender-Python einen Fehler meldet, z.B weil es Soya nicht finden kann, dann gibt es Fehler.
Gut zu wissen!
sechsrad
User
Beiträge: 173
Registriert: Montag 31. März 2008, 17:09

hallo, schönen dank für die hilfe, habe den fehler gefunden:
musste in :
systemsteuerung/system/erweitert/umgebungsvariablen/path "d:\blender" eingeben, weil blender dieses nicht gemacht hat.
erst durch eingeben im pathverzeichnis findet soya den blender.
ich dachte das geht über die registry.

aber jetzt läuft es.
jetzt kann ich meine eigenen erstellten 3d-körper mit blender in soya3d nutzen.

mfg
Antworten