Blender-Studio
Studio für Videosequenzen für das Spiel.
Auf dieser Seite findest Du alles, was Du zum Modellieren in Blender wissen musst.
Hier findest Du das Blender Starter-Kit.
Klicke hier, um das Blender Starter-Kit herunterzuladen.
Es beinhaltet:
Blender-Starter.blend
: Hiermit startest Du ein neues Asset für das Spiel.House.blend
: Referenz-Datei mit den Häuser aus dem Spiel für Größen.Tiles.blend
: Referenz-Datei mit den Tiles aus dem Spiel für Größen.textures/ColorPalette_Summer.png
: Die sommerliche Farbpalette.textures/Windscale.png
: Die Skala für Wind-Effekte.scripts/BoundfoxStudios-Export.py
: Referenz-Datei mit dem Skript zum Exportieren der Modelle.Bitte beachte, dass die Texture und das passende Material bereits in der Blender-Starter.blend
eingebunden sind.
Du musst diese nur noch benutzen.
Am besten ist es, wenn Du die Blender-Starter.blend
als Grundlage nutzt, um eigene Assets zu erstellen.
Dort ist bereits die Farbpaletten-Textur und das Export-Script hinterlegt.
Achte bitte darauf, dass Du das bestehende Material ColorPalette
nutzt.
Bitte erstelle keine weiteren Materialien und nenne das bestehende Material auch nicht um.
Das Material muss ColorPalette
heißen, da wir beim Import in Unity nach diesem Suchen und mit dem Material der Engine ersetzen.
Wenn Du mit Deinem Modell fertig bist und es exportieren willst, dann beachte bitte folgende Dinge:
Wenn Du mehrere Modelle in einer Blender-Datei hast, dann ist folgendes Script nützlich für den Export:
Das Export-Script ist in der
Blender-Starter.blend
im Blender Starter-Kit bereits enthalten.
Wechsle in das Scripting-Tab von Blender und erzeuge ein neues Script. Kopiere dann folgendes Script in den leeren Text-Editor.
Mit dem Skript hast Du zwei Möglichkeiten, einen Export anzustoßen.
In beiden Fällen werden die Dateien dort abgelegt, wo auch die Blender-Datei liegt.
Bitte beachte, dass Du im Object-Mode sein musst zum Exportieren.
# https://docs.fairytaledefender.de/docs/docs-visual/blender/#export-script
import bpy
import os
import io_scene_fbx.export_fbx_bin
import mathutils
# export to blend file location
basedir = os.path.dirname(bpy.data.filepath)
if not basedir:
raise Exception("Blend file is not saved")
view_layer = bpy.context.view_layer
obj_active = view_layer.objects.active
selection = bpy.context.selected_objects
selection_count = len(selection)
# Load the original unity settings for export
kwargs = io_scene_fbx.export_fbx_bin.defaults_unity3d()
kwargs["object_types"] = {'MESH', 'ARMATURE', 'EMPTY'};
class FakeOp:
def report(self, tp, msg):
print("%s: %s" % (tp, msg))
# use active collection if no object is selected
if selection_count == 0:
name = bpy.path.display_name_from_filepath(bpy.context.blend_data.filepath)
print(name)
fn = os.path.join(basedir, name)
kwargs["use_active_collection"] = True
io_scene_fbx.export_fbx_bin.save(FakeOp(), bpy.context, filepath=fn + ".fbx", **kwargs)
else:
kwargs["use_selection"] = True
bpy.ops.object.select_all(action='DESELECT')
for obj in selection:
bpy.context.view_layer.objects.active = obj
obj.select_set(True)
bpy.ops.object.select_grouped(
extend=True,
type='CHILDREN_RECURSIVE'
)
# Save the initial location and set the object to 0/0/0
oldLocation = obj.location.copy()
oldRotation = obj.rotation_euler.copy()
obj.location = (0, 0, 0)
obj.rotation_euler = mathutils.Euler((0, 0, 0), 'XYZ')
# some exporters only use the active object
view_layer.objects.active = obj
name = bpy.path.clean_name(obj.name)
fn = os.path.join(basedir, name)
io_scene_fbx.export_fbx_bin.save(FakeOp(), bpy.context, filepath=fn + ".fbx", **kwargs)
# Restore the old location
obj.location = oldLocation
obj.rotation_euler = oldRotation
bpy.ops.object.select_all(action='DESELECT')
print("written:", fn)
view_layer.objects.active = obj_active
for obj in selection:
obj.select_set(True)
Studio für Videosequenzen für das Spiel.