Примеры простых скриптов

Создание простого объекта и его перемещения по сцене

using UnityEngine;

public class Example : MonoBehaviour
{
    public GameObject objectToMove;

    void Update()
    {
        transform.Translate(new Vector3(0, 1, 0));
    }
}

В этом примере мы создаем новый объект типа GameObject и называем его objectToMove. Затем мы определяем метод Update(), который будет вызываться каждый кадр игры. Внутри метода Update() мы используем метод Transform.Translate() для перемещения объекта objectToMove на один шаг вперед по оси X. Мы передаем в этот метод новый вектор Vector3, который содержит значение для каждого измерения (x, y, z). В данном случае мы перемещаем объект на одну единицу вверх по оси Y.

Создание и обработка спрайтов

using UnityEngine;

public class Example : MonoBehaviour
{
    public Sprite sprite;

    void Start()
    {
        // Создание спрайта
        sprite = new Sprite();

        // Установка размера спрайта
        sprite.width = 50;
        sprite.height = 50;

        // Установка позиции спрайта
        sprite.position = new Vector2(0, 0);

        // Добавление спрайта на сцену
        AddComponentInChildren(sprite);
    }

    void Update()
    {
        // Обновление позиции спрайта
        sprite.position += new Vector2(1, 1);
    }
}

В этом примере мы создаем новый объект типа Sprite и называем его sprite. Затем мы определяем методы Start() и Update() для обработки спрайта. В методе Start() мы создаем спрайт и устанавливаем его размер и позицию. В методе Update() мы обновляем позицию спрайта на один шаг вперед каждую секунду.

Создание и обработка текстур

using UnityEngine;

public class Example : MonoBehaviour
{
    public Texture texture;

    void Start()
    {
        // Загрузка текстуры
        texture = Resources.Load<Texture>("Texture");

        // Установка текстуры на объект
        gameObject.GetComponent<Renderer>().material.mainTexture = texture;
    }

    void Update()
    {
        // Обновление текстуры
        texture.mainTextureOffset = new Vector2(0.25f, 0.25f);
    }
}

В этом примере мы загружаем текстуру из ресурсов игры и устанавливаем ее на объект. Для этого мы получаем компонент Renderer объекта и устанавливаем его материал как основную текстуру. Затем мы обновляем позицию текстуры на объекте, смещая ее на четверть от ширины и высоты.

Создание и обработка звуковых эффектов

using UnityEngine;

public class Example : MonoBehaviour
{
    public AudioClip audioClip;

    void Start()
    {
        // Загрузка аудиофайла
        audioClip = Resources.Load<AudioClip>("Audio");

        // Воспроизведение аудиофайла
        audioClip.Play();
    }

    void Update()
    {
        // Остановка воспроизведения аудиофайла
        audioClip.Stop();
    }
}

В этом примере мы загружаем аудиофайл из ресурсов игры и воспроизводим его при запуске сцены. Чтобы остановить воспроизведение аудиофайла, мы вызываем метод Stop().

Создание и обработка частиц

using UnityEngine;

public class Example : MonoBehaviour
{
    public ParticleSystem particles;

    void Start()
    {
        // Создание частицы
        particles.AddEmittedParticle(0.5f, 0.5f, 0.5f);
    }

    void Update()
    {
        // Обновление частицы
        particles.Update();
    }
}

В этом примере мы создаем объект типа ParticleSystem и называем его particles. Затем мы добавляем новую частицу к системе, указав ее координаты и скорость. В методе Update() мы обновляем состояние частицы, используя метод Update().

Создание и обработка лучей

using UnityEngine;

public class Example : MonoBehaviour
{
    public Ray ray;

    void Start()
    {
        // Создание луча
        ray = new Ray(transform.position, Vector3.up);
    }

    void Update()
    {
        // Обновление положения луча
        ray.position = Vector3.Lerp(ray.position, Vector3.up, Time.deltaTime);
    }
}

В этом примере мы создаем объект типа Ray и называем его ray. Затем мы определяем методы Start() и Update() для обработки луча. В методе Start() мы создаем луч, указывая его начальное положение и направление. В методе Update() мы обновляем положение луча, используя функцию Lerp(), которая плавно переносит луч из одного положения в другое за определенный период времени.

Создание и обработка света

using UnityEngine;

public class Example : MonoBehaviour
{
    public Light light;

    void Start()
    {
        // Создание источника света
        light = new Light();

        // Установка цвета света
        light.color = Color.red;

        // Установка интенсивности света
        light.intensity = 1.0f;

        // Установка направления света
        light.direction = Vector3.up;

        // Установка позиции света
        light.position = new Vector3(0, 1, 0);

        // Добавление источника света на сцену
        AddComponentInChildren(light);
    }

    void Update()
    {
        // Обновление цвета света
        light.color = Color.green;

        // Обновление интенсивности света
        light.intensity = 0.5f;

        // Обновление направления света
        light.direction = Vector3.right;

        // Обновление позиции света
        light.position = new Vector3(0, 0.5f, 0);
    }
}

В этом примере мы создаем объект типа Light и называем его light. Затем мы определяем методы Start() и Update() для обработки света. В методе Start() мы создаем источник света и устанавливаем его цвет, интенсивность и направление. В методе Update() мы обновляем цвет света, его интенсивность и направление, используя функции Color.Lerp() и Vector3.Lerp().

Создание и обработка текстурных карт

using UnityEngine;

public class Example : MonoBehaviour
{
    public Texture2D textureMap;

    void Start()
    {
        // Загрузка текстурной карты
        textureMap = Resources.Load<Texture2D>("TextureMap");

        // Установка текстурной карты на объект
        gameObject.GetComponent<Renderer>().material.mainTexture = textureMap;
    }

    void Update()
    {
        // Обновление текстурной карты
        textureMap.mainTextureOffset = new Vector2(0.25f, 0.25f);
    }
}

В этом примере мы загружаем текстурную карту из ресурсов игры и устанавливаем ее на объект. Для этого мы получаем компонент Renderer объекта и устанавливаем его материал как основную текстуру. Затем мы обновляем позицию текстуры на объекте, смещая ее на четверть от ширины и высоты.

Создание и обработка камер

using UnityEngine;

public class Example : MonoBehaviour
{
    public Camera camera;

    void Start()
    {
        // Создание камеры
        camera = new Camera();

        // Установка фокусного расстояния камеры
        camera.focusDistance = 10;

        // Установка позиции камеры
        camera.position = new Vector3(0, 10, 0);

        // Установка ориентации камеры
        camera.rotation = Quaternion.identity;

        // Добавление камеры на сцену
        AddComponentInChildren(camera);
    }

    void Update()
    {
        // Обновление позиции камеры
        camera.position = new Vector3(0, 0.5f, 0);

        // Обновление ориентации камеры
        camera.rotation = Quaternion.Lerp(camera.rotation, Quaternion.identity, Time.deltaTime);
    }
}

В этом примере мы создаем объект типа Camera и называем его camera. Затем мы определяем методы Start() и Update() для обработки камеры. В методе Start() мы создаем камеру и устанавливаем ее фокусное расстояние, позицию и ориентацию. В методе Update() мы обновляем позицию камеры и ее ориентацию, используя функцию Quaternion.Lerp(), которая плавно переносит камеру из одного положения в другое за определенный период времени.

Создание и обработка шейдеров

using UnityEngine;

public class Example : MonoBehaviour
{
    public Shader shader;

    void Start()
    {
        // Загрузка шейдера из ресурсов игры
        shader = Resources.Load<Shader>("Shader");

        // Установка шейдера на объект
        gameObject.GetComponent<Renderer>().material.mainTexture = null;
        gameObject.GetComponent<Renderer>().material.mainTextureOffset = new Vector2(0.25f, 0.25f);
        gameObject.GetComponent<Renderer>().material.mainTexture = shader.mainTexture;
    }

    void Update()
    {
        // Обновление шейдера
        shader.mainTextureOffset = new Vector2(0.25f, 0.25f);
    }
}

В этом примере мы загружаем шейдер из ресурсов игры и устанавливаем его на объект. Для этого мы получаем компонент Renderer объекта и устанавливаем его материал как основную текстуру. Затем мы обновляем позицию текстуры на объекте, смещая ее на четверть от ширины и высоты.

Создание и обработка звуковых эффектов

using UnityEngine;

public class Example : MonoBehaviour
{
    public SoundEffect soundEffect;

    void Start()
    {
        // Загрузка звукового эффекта из ресурсов игры
        soundEffect = Resources.Load<SoundEffect>("SoundEffect");

        // Воспроизведение звукового эффекта
        soundEffect.Play();
    }

    void Update()
    {
        // Остановка воспроизведения звукового эффекта
        soundEffect.Stop();
    }
}

В этом примере мы загружаем звуковой эффект из ресурсов игры и воспроизводим его при запуске сцены. Чтобы остановить воспроизведение звукового эффекта, мы вызываем метод Stop().

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

20 + тринадцать =

Прокрутить вверх