0% found this document useful (0 votes)
5 views

Assign Material in view Unity part 4

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views

Assign Material in view Unity part 4

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

You just create a script and put in the scene this file have for parts, follow

comment p1
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using System;

[InitializeOnLoad]
public class EditorStartup
{
static EditorStartup()
{
// PART 1. Hi

Debug.Log(" ------------ Wellcome to Scrip to change multiple objects


------------");

// PART 2. WRITE YOUR MATEARIAL instead "Roof AI" your material,


// if it's pink chack that yor material exits in Assets\Resources\
YourMaterial.mat
// if not xist creat these folder and copy/past here your material
Material newMat = Resources.Load("Roof AI", typeof(Material)) as
Material;

// PART 3. WRITE YOUR GAME OBJECT instead "81_31_10"


GameObject obj = GameObject.Find("981_31_10");
MeshRenderer[] meshs =
obj.GetComponentsInChildren<MeshRenderer>();

Debug.Log("------------ 2. Model loaded!");


// PART 4. Assignement errors
foreach (MeshRenderer mesh in meshs)
if (newMat != null)
{
mesh.material = newMat;
}
else
{
Debug.LogError(" ****************** Material not found!");
}
Debug.Log("------------ 3. Material is assigned !");
}
}

public class AssignMaterialSame : MonoBehaviour


{
void Start()
{
}
void Update()
{
}
}
CharacterController characterController;
// Start is called before the first frame update

void Start()
{
characterController = GetComponent<CharacterController>();
Cursor.lockState = CursorLockMode.Locked;
Cursor.visible = false;
}

// Update is called once per frame


void Update()
{
#region Handles Movment
Vector3 forward = transform.TransformDirection(Vector3.forward);
Vector3 right = transform.TransformDirection(Vector3.right);

// Press Left Shift to run


bool isRunning = Input.GetKey(KeyCode.LeftShift);
float curSpeedX = canMove ? (isRunning ? runSpeed : walkSpeed) *
Input.GetAxis("Vertical") : 0;
float curSpeedY = canMove ? (isRunning ? runSpeed : walkSpeed) *
Input.GetAxis("Horizontal") : 0;
float movementDirectionY = moveDirection.y;
moveDirection = (forward * curSpeedX) + (right * curSpeedY);
#endregion
#region Handles Jumping
if (Input.GetButton("Jump") && canMove &&
characterController.isGrounded)
{
moveDirection.y = jumpPower;
}
else
{
moveDirection.y = movementDirectionY;
}

if (!characterController.isGrounded)
{
moveDirection.y -= gravity * Time.deltaTime;
}
#endregion

#region Handles Rotation


characterController.Move(moveDirection * Time.deltaTime);

if (canMove)
{
rotationX += -Input.GetAxis("Mouse Y") * lookSpeed;
rotationX = Mathf.Clamp(rotationX, -lookXLimit, lookXLimit);
playerCamera.transform.localRotation = Quaternion.Euler(rotationX,
0, 0);
transform.rotation *= Quaternion.Euler(0, Input.GetAxis("Mouse X") *
lookSpeed, 0);
}
#endregion
}
}

It’s full code, I hope it could help you to assign the same material fo many
onjects in Unity

You might also like