I understand the concept of sharing data from the original object but I think these attributes are important for instanced objects. Instancing is great for copying a single object all over a map but it's use is limited if each instanced object can't be modified independently to match their environment.
This isn't a bug but I don't agree with it's implementation.
make object sphere 1,3
autocam off
position object 1,-2,0,2
instance object 2,1
position object 2,2,0,2
make object sphere 3,0.5
position object 3,0,-1,-1
`Add ambience
set ambient light 50
set object ambient 3,rgb(255,255,255)
set object diffuse 3,rgb(255,0,0)
set object ambient 2,rgb(255,255,255)
set object diffuse 2,rgb(255,0,0)
do
loop
I also have a question for Lee:
Isn't it enough just to instance the mesh? Would instancing without mirroring an object's attributes really cause things to slow down?
I can see the advantage for instancing objects (objects load incredibly fast, very low memory footprint per-object) but it's use it limited if it's restricted to instancing both the mesh and its attributes. A flag to share or keep attributes independent would be a useful addition, similar to CLONE OBJECT's flag.
For example, it makes sense to create instances of a "peasant" model for a town because there's no reason to load the same mesh twice. But I'll also want control over each instance's texture independently.
The true value of instancing is wasted with the current restricted implementation.
Unfortunately, there is no effective instancing solution in DBP. Instancing is ideal, but it's use is limited by sharing all attribute data. CLONE OBJECT works as an alternative solution but has a high memory footprint, is more taxing and lowers fps.
The only solution that works is LOAD OBJECT which is painfully slow for loading objects, is also taxing on DBP, lowers fps, and has the greatest memory footprint.