I have a scene in Unity where it is required to choose from three different projectiles. Each one already exists on the stage and has different settings for mesh, materials, rigid body and so on. These projectile objects are to represent wood, metal and rock.
I have a fourth object on the scene which is loaded on to a catapult. By default it is a carbon copy of the wood projectile. I want to be able to swap its attributes with those set by the other projectiles on the scene so that it takes their form, rigid body(mostly for a change in mass) and material. The scaling of each object is the same so this one isn’t needed.
So far I have this but it doesn’t seem to work…
var projectile : GameObject;
var rigid : Rigidbody;
var woodrenderer : MeshRenderer;
var woodcollider : MeshCollider;
var woodfilter : MeshFilter;
var woodtexture : Texture2D;
var woodmaterial : Material;
var stonerenderer : MeshRenderer;
var stonecollider : MeshCollider;
var stonefilter : MeshFilter;
var stonetexture : Texture2D;
var stonematerial : Material;
var metalrenderer : MeshRenderer;
var metalcollider : MeshCollider;
var metalfilter : MeshFilter;
var metaltexture : Texture2D;
var metalmaterial : Material;
function Update () {
if(Input.GetKey ("1"))
{
projectile = new GameObject ("Projectile");
projectile.tag = "projectile";
woodcollider = projectile.AddComponent("MeshCollider");
woodrenderer = projectile.AddComponent("MeshRenderer");
rigid = projectile.AddComponent("RigidBody");
projectile.rigid.mass = 1;
woodfilter = projectile.AddComponent("MeshFilter");
projectile.renderer.material.mainTexture = woodtexture;
}
if(Input.GetKey ("2"))
{
stonecollider = projectile.AddComponent("MeshCollider");
stonerenderer = projectile.AddComponent("MeshRenderer");
rigid = projectile.AddComponent("RigidBody");
projectile.rigid.mass = 20;
stonefilter = projectile.AddComponent("MeshFilter");
projectile.renderer.material.mainTexture = stonetexture;
}
}
the code for the switch to metal isn’t added in yet as i was only testing between rock and wood.
Could anybody help with this? I can provide more info if needed.