Как работает среда визуальных сценариев Unity3d за сценой? - PullRequest
1 голос
/ 13 апреля 2019

Я хотел бы знать, что происходит, когда я использую инструмент визуального написания сценариев в unity3d.

Допустим, я хочу создать FSM:

Первый подход - когда я нет использовать такой инструмент.В этом случае я должен делать все внутри исходного кода (C #), то есть создавать все необходимые классы и подключать весь конечный автомат вручную.

Второй подход - когда я использую инструмент, подобный Болт или NodeCanvas .Мне все еще нужно написать классы State, но на этот раз их соединение выполняется визуально с помощью редактора графов на основе узлов.

Вопрос заключается в том, как эти инструменты преобразуют этот граф вчто-то, что может использовать Unity?Генерируют ли они код C # на основе графика, используя шаблонизатор, такой как T4 Templating Engine ?Или они делают что-то еще?

Ответы [ 2 ]

1 голос
/ 13 апреля 2019

Они могут либо сгенерировать некоторый код C #, либо сохранить определения графиков в файле, добавить механизм исполнения во время выполнения в вашу игру и интерпретировать их во время игры. Они могут также использовать гибридный подход или некоторые оптимизации производительности . Таким образом, возможен любой из этих способов, и вам следует ознакомиться с документацией по разработке инструментов, чтобы убедиться.

Что касается Bolt , этого сообщения в официальном блоге разработчика, подразумевается, что текущая стабильная версия не генерирует какой-либо код C #. Но, очевидно, команда активно работает над новой версией, которая поддерживает генерацию кода.

В настоящее время мы активно работаем над Bolt 2, новой крупной версией, которая включает в себя капитальный ремонт и новые функции, такие как генерация C #, классы, вертикальный поток, анимация, дженерики, свежий взгляд и намного больше.

Что касается NodeCanvas , я не уверен, генерирует ли он какой-либо код C #, но, судя по содержимому пакета в хранилище ресурсов, похоже, что он работает аналогично Bolt.

0 голосов
/ 13 апреля 2019

Вы должны понимать lexer and parser, чтобы понять это полностью.

Когда вы пишете что-то неграфическим способом, компьютер превращает этот фрагмент кода или коды в машиночитаемый формат, поскольку компьютер не может дажеразличают a и b.Он преобразует его в binary или hexa (который позже даже превратился в binary).

Теперь остается вопрос Как работает визуальный сценарий?

Хорошо, разработчик имеет свой собственный лексер и парсер, они перебирают эти визуальные компоненты и создают из них код, затем они интерпретируются или компилируются, в зависимости от языка.

Как вы хотите знать о Unity , основан на C#, будет скомпилирован.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...