From BlenderWiki

Jump to: navigation, search
Blender3D FreeTip.gif
IMPORTANT! Do not update this page!
We have moved the Blender User Manual to a new location. Please do not update this page, as it will be locked soon.

Game Logic

Именно благодаря Game Logic в игре может что-либо происходить. Она призвана обеспечить мощный инструмент для создания логики с помощью графического интерфейса. Блок (или "кирпич") представляет собой запрограммированную функцию, с помощью настройки и объединения блоков можно создать игру или приложение. Система состоит из трёх частей: сенсоры, контроллеры и актуаторы. Сенсоры нужны для восприятия например столкновений или нажатия клавиши. Сенсоры связываются с контроллерами, а контроллеры с актуаторами. Приведу пример: сенсор "Keyboard" получил нажатие клавиши и сигнал пошёл на контроллер, после контроллера сигнал идёт на актуатор и выполняется какое либо действие. При загрузке панели Game Logic впервые, либо нажав F4 F4 или выбрав кнопку Game LogicGM Selecting the Game Logic Pannel.png, вы увидете нечто подобное на изображении ниже.

The Logic context.

Чтобы вам лучше понять панель Game Logic мы расширили некоторые меню и пронумеровали их. Мы будем смотреть на каждую секцию индивидуально как пронумерованы по изображению ниже.

The different parts of the Logic context.


1 Связь с объектом

Logic for several objects.

Логика в движке блендера связана с объектами. Объекты сортируются по имени и появляются в окне логики когда они выбраны. Вы можете выбрать один объект как на картинке выше или несколько объектов как на картинке справа. Логика объекта видна только тогда, когда выбран объект связанный с логикой.

2 Физика

Эти параметры определяют, как объект ведет себя в игре. Меню типа объекта определяет:

  • Soft body - физический, деформируется при столкновениях.
  • Rigid body - физический.
  • Dynamic - физический, всегда остаётся в вертикальном положении.
  • Static - физический, на него не действует сила тяжести.
  • Sensor - для продвинутых сенсоров (release notes).
  • No collision - не физический.
  • Occluder - для меньшей нагрузки на GPU. (release notes).

Другие настройки зависят от типа объекта, только соответствующие параметры настройки будут видны. Для некоторых типов есть и меню "Advanced" с большим количеством вариантов. Некоторые параметры физики могут быть получены в панели материалов, при нажатии кнопки DYN в вкладке Material.

Дополнительные параметры физики см. во вкладке Mist/Stars/Physics в панеле World. Более глубокий взгляд на это можно найти на странице Тип объекта.

3 Свойства

Свойства походят на переменные на других языках программирования. Они используются, чтобы сохранить и получить доступ к данным, связанных с объектом. Следующие типы доступны:

  • Timer - подсчитывает время.
  • String - дерхит текст.
  • Float - держит десятичные числа между-10000.000 и 10000.000.
  • Int - держит целые числа между-10000 и 10000.
  • Bool - True (истина)или False (ложь).

Для более глубокого изучения смотрите Свойства.

4 Сенсоры

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

Для более всестороннего взгляда, см. Сенсоры.

5 Контроллеры

Контроллеры оценивают сигнал от сенсоров и посылают сигнал актуаторам. Типы контроллеров:

  • AND - все подключённые сенсоры должны послать положительный сигнал, чтобы сработал актуатор.
  • OR - один или несколько подключённых сенсоров должны быть положительными.
  • XOR - только один подключённый сенсор должен быть положительным.
  • NAND - актуатор работает если от сенсора(ов) поступает отрицательный сигнал. Например если нажать клавишу на клавиатуре и отпустить её сенсор начнёт постоянно отправлять отрицательные сигналы. Актуатор перестаёт работать если от сенсоров одновременно начинает получать положительный сигнал(ы). И возобновляет свою работу если снова начинает поступать отрицательный сигнал.
  • NOR - актуатор работает если от сенсора(ов) поступает отрицательный сигнал. Например если нажать клавишу на клавиатуре и отпустить её сенсор начнёт постоянно отправлять отрицательные сигналы. Актуатор перестаёт работать если хотя бы от одного из сенсоров начинает получать положительный сигнал(ы). И возобновляет свою работу если перестаёт поступать положительный сигнал.
  • XNOR - актуатор работает если от сенсора(ов) поступает отрицательный сигнал. Например если нажать клавишу на клавиатуре и отпустить её сенсор начнёт постоянно отправлять отрицательные сигналы. Актуатор перестаёт работать если от одного из сенсоров начинает получать положительный сигнал. И возобновляет свою работу если перестаёт поступать положительный сигнал. При получении положительных сигналов от всех подключённых сенсоров актуатор всё равно продолжает работать.
  • Expression - ввод собственного выражения.
  • Python - контроллер для подключения скрипта или модуля на python.

Для более всестороннего взгляда, см. Контроллеры.

6 Актуаторы

С помощью актуаторов совершаются действия с объектами, их свойствами, сценами, самой игрой и т.д.

Для более всестороннего взгляда, см. Актуаторы.

7 Связи

Связи служат для направления потока сигналов в логике объекта(ов). Чтобы создать связь между блоками зажмитеLMB Template-LMB.png на одном из узлов (жёлтый круг) и протяните связь до другова узла. Связь может идти только из сенсора в контроллер и из контроллера в актуатор. Из любого узла можно протянуть несколько связей к другим узлам.Вы не можете напрямую соединить сенсор и актуатор.