There are several ways to import other blender objects in to a blender file.
The simplest way is to have both blend files open, and simply copy the object from one file and paste it into the other.
Select the object in the 3D view, then with the mouse still in the 3D view press CrtlC to copy. To paste the object in to the other file pressCrtlV.
For the second method you only need the file that you want both objects inside to be open (prior to 2.8 you have to be in object mode), and then Append the object you want.
You can import items from another blend file without exporting to other file formats. There are two methods that offer different benefits.
. This will copy the selected item/s into the current blend file.File->Append
. This will allow you to use the external item/s in the current blend file, this is referred to as a linked library. This differs from append in that the item data stays in the external file while it is visible in the current file. Note that editing of the item can only be done in it's original file which will then be visible in the blend file it was linked into. To animate an item, a proxy is made to allow limited editing of the external object.File->Link
In both cases when a blend file is selected in the file browser, you will get to choose different items within the blend file. This allows you to choose individual objects, materials, groups...

Note that importing an object will also import dependencies, such as the armature used in the armature modifier that the object has as well as the material it uses.
There are two ways to import .blend files. You can use the Append (File > Append...) or the Link (File > Link...) operator.
Append makes a direct copy of the elements in the .blend file, while Link links the elements directly to the original .blend. The difference when it comes to working with these, is that when you use append, you can modify the objects in the new file. It won't cross over to the original file. With link, you can't modify the objects in the new file, but instead need to go to the original file.
Now both of these operators work a bit differently than you'll be expecting. Instead of directly copying everything from a file in like import does, they copy parts of the file, called datablocks.
A datablock is essentially a piece of information in a file.
When you click the link or append operator, the file browser will come up for you to navigate to the file you want to use. Once you're at that file, when you click on it, it will expand just like a folder. Inside there will be several folders for different parts of the file. What you'll probably want to do, is go into the objects folder, select everything (A) and then append/link them in.
are just string lists, in this case, the names of materials in the Blend file designated by the path. data_from is a string list of the names of the materials you want to be loaded. So, whatever names you put in data_to will be loaded from the designated Blend file's material data block into the current material data block. After that, you access those materials in the material data block, i.e., data_to.materials. So, your code should read:bpy.data.materials
with bpy.data.libraries.load(path) as (data_from, data_to):
data_to.materials = data_from.materials
mat = data_to.materials
cnt=0
for m in data_to.materials:
cnt=cnt+1
if (cnt>1):
break
# Assign material
obj=bpy.context.scene.objects.active
material1 = bpy.data.materials[mat[cnt]]
obj.active_material = material1
Note that this could give unexpected results if a material name already exists in the material data block.
There is some archaic way you could do this with but a better way is to work with the api available via bpy.ops.wm.append().bpy.types.BlendDataLibraries
import bpy
# using a relative path
path = "//file_name.blend"
with bpy.data.libraries.load(path) as (data_from, data_to):
data_to.materials = data_from.materials
As a sanity check or for logging purposes, you can loop through what was appended and see if everything is there as it should be
for mat in data_to.materials:
if mat is not None:
print(mat.name)
As it relates to many files, it should be simple enough to extend the script to also loop through a list of filenames to append materials from. A final note, the materials appended have no users so make sure to stick them somewhere before closing your file.
If the scenes are in the same .blend file:
If the scenes are in different files
The Import is for other file formats, you're looking for Link Ctrl-Alt-O or Append Shift-F1 both are accessible from the file menu.
While Append creates an independent copy of your appended objects, Link just references them from the original file.
If you char consist of more than a single object, you should group Ctrl-G them, this makes it easier to Append or Link.
You can append the world settings from this file to yours.
To append type Shift + F1 or go to File --> Append. Navigate to where you saved this file, then click it, and then the world "subfolder". Select the item called "World" within.
Then go to your world settings in the Properties Windows --> World Tab, and choose the new world (Probably "World.001") from the dropdown menu.
