Unity

Установка
 Установить Unity Hub
 Переназначить папку хранения Unity x.x.x в  Unity Hub
 Найти в архиве Unity 2019.3.12
 Автоматическая установка IDE Microsoft Visual Studio x Community


Создание Приложения для платформ
1. PC
2. Android

using  System.Collections.Generic;
using  UnityEngine;
public class Меш{/// квадраты из двух треугольников{public List#l#square#r#sqa = new List#l#square#r#();}
// vertex - вершины{public List#l#Vector3#r# vs = new List#l#Vector3#r#();}
// triangles - индексы вершин для квадратов (двух треугольников){public List#l#int#r# ts = new List#l#int#r#();}
// развёртка для квадратов (двух треугольников){public List#l#Vector2#r# uvs = new List#l#Vector2#r#();}
///собираем результат меша
public Mesh ToMesh(){if (vs.Count == 0)
return null;

Mesh mesh = new Mesh();
mesh.vertices = vs.ToArray();
mesh.triangles = ts.ToArray();

//развёртка
mesh.uv = uvs.ToArray();
mesh.RecalculateNormals();
mesh.RecalculateBounds();

return mesh;
}
}

using UnityEngine;

static public class gui_cube
{
static public void ВыполнитьТест()
{
gui_button();
color_gui.example();
MathHelper_hit.info_hit();
}
static public void gui_button()
{
GUILayout.BeginHorizontal();
if (GUILayout.Button("Default"))
ObjectManager.Кубы.transform.ОдинКуб(false, true);
GUILayout.EndHorizontal();
}
}

using System.Collections.Generic;
using UnityEngine;
public class cube
{
static public byte atlas_x = 3;
static public byte atlas_y = 2;
public Vector3 Центр;
public Dictionary#l#byte,bool#r#fs = new Dictionary#l#byte, bool#r#();
public cube(Vector3 Центр,bool целый)
{
this.Центр = Центр;
if (целый)
for (byte i=0;i<6; i++)
fs.Add(i, true);
}

}

using UnityEngine;
/// квадрат с развёрткой текстуры
public class square_uv : square
{
/// начало развёртки по оси x
public int uv_x = 0;
/// начало развёртки по оси y
public int uv_y = 0;

public square_uv(Vector3 Центр, byte F, byte LV, int uv_x, int uv_y):base(Центр,F,LV)
{
this.uv_x = uv_x;
this.uv_y = uv_y;
}
}

using UnityEngine;

public class world_sqa : MonoBehaviour{//тестовый проект треугольники}

Подкатегории

  1. класс создаётся в виде скрипта
  2. все классы хранятся в файле формата cs от С#
  3. имя класса соотвествует имени файла, в котором находится сам класс
  4. по умолчанию пустой класс C#  наследует класс MonoBehaviour от Unity
  5. класс может иметь свои или наследуемые методы
  6. класс может объявляться с присваиванием значений по умолчанию для полей
  7. класс может привязывается к игровому объекту сцены unity если наследует класс MonoBehaviour 

Без вызова Экземпляра
 Класс
  статическая get,set статического класса
  статическая функция статического класса
  статическая метод-функция класса
Класс предка MonoBehaviour
  статическая get,set класса предка MonoBehaviour
  статическая метод-функция класса предка MonoBehaviour

Вызвать Экземпляр
 Класс
  get,set класса
  метод-функция класса
 Класс предка MonoBehaviour
  get,set  класса предка MonoBehaviour
  метод-функция  класса предка MonoBehaviour

Функция
 объявление локальной переменной внутри функции неявно или типизированным способом
Класс
 объявление поля только типизированным способом

ключевые слова в C#

применяется для определения или разрешения использования типов как пространств имен

Модуль - сборка 

  1. настройка среды разработки для С# или JavaScript для скрипта
    Edit\Preferences..\External Tools\External Script Editor="Visual Studio 2017 (Comminity)"
  2. редактор сцены или уровня
    File\Open Scene... -> Assets\Scenes\SampleScene.unity
  3. настройка свойств объекта в инспекторе
  4. управление объектами в виде иерархического дерева
  1. создание проекта
    UnityHub\Projects\Add\{Version}{3D}{ProjectName}{Location}\Create->открывается Редактор
  2. сохранение проекта
    в Редакторе -> File\Save Project
  3. открыть проект
    UnityHub\Projects\->выбрать проект
  • открыть Проект
  • первая созданная сцена Unity
    File\Open Scene... -> Assets\Scenes\SampleScene.unity
  • создать новую сцену
    File\New Scene... -> Assets\Scenes\...\New.unity
  • сохранить текущую сцену
    File\Save
    File\Save As... -> Assets\Scenes\...\New.unity
  • GameObject
  • Базовый класс для всех объектов на сценах Unity
    создание пустого игрового объекта на сцене Unity
    открыть Сцену->Tab Hierarchy -> RBM (Right Button Mouse)-> Create Empty

Инспектор

Компоненты

  • гайки и болты Игровых Объектов и поведения в игре
  • Они являются функциональными частями каждого Игрового Объекта
    Фундаментальный объект в сценах Unity, который может представлять персонажей, реквизиты, пейзажи, камеры, путевые точки и многое другое
  1. открыть проект
  2. настройка среды разработки для С# или JavaScript в Редакторе для скриптов
    Edit\Preferences..\External Tools\External Script Editor="Visual Studio 2017 (Comminity)"
  3. создание пустого скрипта С#
    в Редакторе Tab Project->директория->RBM (Right Button Mouse)->create\C# Script ->Имя.cs (имя соотвествует имени класса в самом файле)

Все основные элементы языка C# для создания скриптов на Unity

для шейдера
от Unity
описательный язык программирования шейдера
cодержит в себе шейдерный код CG
обеспечивает взаимодействие с инспектором и материалом
включает в себя встроенные переменные и функции, облегчающие процесс написания шейдера
описывает свойства шейдера
содержит множество решений для различного графического оборудования

Каналы youtube

{

TheGameDev

{

Shader Forge часть 1

{

тесселяция dx11

}

Shader Forge часть 2

{

Custom Lighting

{

закручивание

ломка текстуры при помощи каналов цвета

плавная периодичность ломки текстуры

накладывание двух текстур

встроенная анимация

}

Lit (Basic)

{

тесселяция

}

Post Effect для камеры

{

тип шейдера

красивая загрузка

Game over

}

Shader Forge часть 3

{

ZWrite

глубина отрисовки объекта за стеной

}

}

}