Real time append scene form different blend file?

you can also, as I am doing for my enemies, just use the add object actuator. That’s basically all it does, duplicate the object and make it local. Once again thank you SOO much for this! This will make everything way more efficient!

You can use objects from external .blend files by linking them? I can’t believe I didn’t know about this!

Here’s a question, though: What happens if you link an object named “Object” from myBlend.blend, but you then rename the file myOldBlend.blend and create a new file named myBlend.blend with a different object named “Object”? Would the new object be linked instead of the old? (I’m not at home, so I can’t test it, but I will when I have opportunity if no one else does.) Just so you understand, I’m thinking of this idea for prototyping reasons… the programmer could use “stand-in” files and the artist could make a new version, then just swap it in later.

Wow, I never knew about this. That’s so cool, will make file organization a lot simpler. Thanks Matt for the question!

You can use objects from external .blend files by linking them? I can’t believe I didn’t know about this!
Like wise.

Anyways, (to clear up any questions) let say my main blend is called “mainblend”. My external blend file is called “externalblend”. I have an object called “myobject” which I link from the “externalblend” to the “mainblend”. Once, I link the object to my game (mainblend), I can not edit the object in the mainblend. However, I can edit, rotate, move, etc the linked object in the external file.

Here’s a question, though: What happens if you link an object named “Object” from myBlend.blend, but you then rename the file myOldBlend.blend and create a new file named myBlend.blend with a different object named “Object”? Would the new object be linked instead of the old? (I’m not at home, so I can’t test it, but I will when I have opportunity if no one else does.)

Blender will print an error in the console and your linked object won’t “exist” (it won’t import the object).

Hey guys, did you saw the last technical BGE demo of Apricot?. I noticed that they uses external blend files like libraries, but the loaded objects in the “mainblend” are editable!!! (can be scaled, moved and duplicated, but can not edit their geometry)
Does anybody know how is this possible?

P.S. just open “./level/arena_demo.blend” and see in the console window how other files that contains objects, are loaded.

dupligroups

Unfortunately all of this is not true :no: All objects, including those in hidden layers are loaded in memory when a game starts (I just tested it). I was hoping there was a way to load models from disk in realtime, but AFAIK it’s not possible. Large games have to be split into multiple scenes, which causes loading pauses when scenes are switched (bad in GTA style games). Ok, in theory you could reuse objects by rotating and repositioning and have infinite maps, but it would become very complicated with irregular meshes like terrains which don’t “fit” together as easily as buildings etc. Sorry if this was bit off-topic :eyebrowlift2:

Linking external blends might be useful, but remember that you can also link between scenes.

I assume you are thinking of sandbox games like Gothic that load terrain cells dynamically. I don’t see how this is possible with the Blender GE. You can still create a world map and split your game in map areas similar to what Vampire: Bloodlines did and use the scene actuator to load those maps.

The Apricot demo uses linked objects from different blender files with the Proxy feature i believe. You can read more about proxys here:

http://www.blender.org/development/release-logs/blender-243/proxy-objects/
http://www.blender.org/development/release-logs/blender-246/constraint-improvements/

Yeah, using multiple scenes seems to be the only way. I’m making a sandbox/simulator game right now and this is a real problem. I estimate that on average there would be a 5 second loading pause for every two minutes with a fast computer (vehicle travelling 1 km per minute, scene size is 2 km x 2 km).

Use Ctrl+Alt+P “Make Proxy”. Read more about it toward the bottom of this page: http://wiki.blender.org/index.php/Manual/Using_Linked_Libraries

Thanks blendenzo,
so at the end, we actually can use dynamically linked libraries. Great!

thanks for this info - makes my life and latest project much easier