Esempio n. 1
0
    void Start()
    {
        tr = transform;
        rb = GetComponent <Rigidbody>();
        vp = GetComponent <VehicleParent>();

        //Tell VehicleParent not to play crashing sounds because this script takes care of it
        vp.playCrashSounds = false;
        vp.playCrashSparks = false;

        //Set up mesh data
        tempMeshes    = new Mesh[deformMeshes.Length];
        damagedMeshes = new bool[deformMeshes.Length];
        meshVertices  = new meshVerts[deformMeshes.Length];
        for (int i = 0; i < deformMeshes.Length; i++)
        {
            tempMeshes[i]                = deformMeshes[i].mesh;
            meshVertices[i]              = new meshVerts();
            meshVertices[i].verts        = deformMeshes[i].mesh.vertices;
            meshVertices[i].initialVerts = deformMeshes[i].mesh.vertices;
            damagedMeshes[i]             = false;
        }

        //Set up mesh collider data
        tempCols    = new Mesh[deformColliders.Length];
        damagedCols = new bool[deformColliders.Length];
        colVertices = new meshVerts[deformColliders.Length];
        for (int i = 0; i < deformColliders.Length; i++)
        {
            tempCols[i]                 = (Mesh)Instantiate(deformColliders[i].sharedMesh);
            colVertices[i]              = new meshVerts();
            colVertices[i].verts        = deformColliders[i].sharedMesh.vertices;
            colVertices[i].initialVerts = deformColliders[i].sharedMesh.vertices;
            damagedCols[i]              = false;
        }

        //Set initial positions for displaced parts
        initialPartPositions = new Vector3[displaceParts.Length];
        for (int i = 0; i < displaceParts.Length; i++)
        {
            initialPartPositions[i] = displaceParts[i].localPosition;
        }
    }
Esempio n. 2
0
	void Start()
	{
		tr = transform;
		rb = GetComponent<Rigidbody>();
		vp = GetComponent<VehicleParent>();

		//Tell VehicleParent not to play crashing sounds because this script takes care of it
		vp.playCrashSounds = false;
		vp.playCrashSparks = false;

		//Set up mesh data
		tempMeshes = new Mesh[deformMeshes.Length];
		damagedMeshes = new bool[deformMeshes.Length];
		meshVertices = new meshVerts[deformMeshes.Length];
		for (int i = 0; i < deformMeshes.Length; i++)
		{
			tempMeshes[i] = deformMeshes[i].mesh;
			meshVertices[i] = new meshVerts();
			meshVertices[i].verts = deformMeshes[i].mesh.vertices;
			meshVertices[i].initialVerts = deformMeshes[i].mesh.vertices;
			damagedMeshes[i] = false;
		}

		//Set up mesh collider data
		tempCols = new Mesh[deformColliders.Length];
		damagedCols = new bool[deformColliders.Length];
		colVertices = new meshVerts[deformColliders.Length];
		for (int i = 0; i < deformColliders.Length; i++)
		{
			tempCols[i] = (Mesh)Instantiate(deformColliders[i].sharedMesh);
			colVertices[i] = new meshVerts();
			colVertices[i].verts = deformColliders[i].sharedMesh.vertices;
			colVertices[i].initialVerts = deformColliders[i].sharedMesh.vertices;
			damagedCols[i] = false;
		}

		//Set initial positions for displaced parts
		initialPartPositions = new Vector3[displaceParts.Length];
		for (int i = 0; i < displaceParts.Length; i++)
		{
			initialPartPositions[i] = displaceParts[i].localPosition;
		}
	}