12 сентября 2011 в 18:25Рейтинг: 2
11
0
Статистика, каких вопросов задают больше всего (в первых 171 страницах темы Вопросы по созданию игр):1. Как сделать управление мышкой (mouselook) (мной зафиксировано 15 вопросов)
2. Как сделать динамические тени (7 вопросов)
3. Вопросы вроде «научите питону» и тому подобные (7 вопросов)
4. Сохранение и загрузка игры (6 вопросов)
5. Видеотекстура (отражение, картинка из камеры на текстуру, воспроизведение видео) (5 вопросов)
6. Вопросы по системе частиц (5 вопросов)
7. Нерабочая анимация костей (5 вопросов)
8. Объект проваливается сквозь стены (5 вопросов)
9. Грани рисуются только с одноц стороны (5 вопросов)
10. Вопросы по GLSL (5 вопросов)
11. Искуственный интеллект (5 вопросов)
12. Как сделать автомобиль (4 вопроса)
13. Как передавать данные между сценами (4 вопроса)
14. Что такое проперти Timer (4 вопроса)
15. Как использовать сенсор и актуатор Random (4 вопроса)
И ещё много-много вопросов.
12 сентября 2011 в 18:25Рейтинг: 2
3
0
Вопрос: как сделать вращение камерой мышкой?
Ответ: смотрим первые несколько минут видеоурока
12 сентября 2011 в 18:26Рейтинг: 1
2
0
Вопрос: как сделать управление мышкой не от первого, а от третьего лица?
Ответ: то же самое что и в предыдущем вопросе, только камеру заменяем на пустышку, и к этой пустышке с помощью Parent прикрепляем камеру.
12 сентября 2011 в 18:26Рейтинг: 0
2
0
Вопрос: как сделать динамические тени?
Ответ: создаём лампочку Spot и смотрим картинку.
Прикреплено изображение (нажмите, чтобы увеличить):
12 сентября 2011 в 18:26Рейтинг: 2
4
0
Вопрос: как сделать сохранение и загрузку уровня?
Ответ: вариант первый - учить Python и использовать стандартные функции языка для сохранения нужных значений, вариант второй - учить Python и использовать globalDict блендера:
from bge import logic
# Записываем что нужно:
logic.globalDict['HAZBAHIE'] = 'bla bla bla'
logic.globalDict['patrony'] = 120
# Сохраняем данные в файл:
logic.saveGlobalDict()
# Загружаем данные из файла:
logic.loadGlobalDict()
# Получаем нужное значение:
print(logic.globalDict['patrony'])
# Удаляем значение вообще:
logic.globalDict.pop('HAZBAHIE')
# Удаляем всё:
logic.globalDict = {}
Почитать про то, как получить нужные параметры из объектов, можно в официальной документации Blender или тут
12 сентября 2011 в 18:26Рейтинг: 0
2
0
Вопрос: как обмениваться данными между несколькими сценами?
Ответ: вариант первый - с использованием globalDict, как описано в предыдущем вопросе, он общий для всей игры. При этом не надо писать loadGlobalDict отдельно для каждой сцены - данные хранятся с самой загрузки до выхода из игры.
Вариант второй - просто с использованием переменных внутри bge.logic:
logic.blablabla = 'razdvatri'
print(logic.blablabla)
12 сентября 2011 в 18:27Рейтинг: 0
3
0
Вопрос: как включить систему частиц в BGE?
Ответ: её там нет

Но частицы можно имитировать с помощью добавления объектов с другого слоя, например так:
или так (в принципе, то же самое):
Или так (источник я потерял):
Прикреплен файл: Firekost.blend
12 сентября 2011 в 18:27Рейтинг: 0
3
0
Вопрос: не работает анимация костей! Что делать?
Ответ:0) Удалить актуатор IPO (F-Curve): он не для костей

1) Убедиться, что анимируемый объект - потомок костей (Ctrl+P)
2) Выделить кости в Object Mode
3) Создать актуатор Action
4) Найти в списке название нужной анимации (можно узнать, например, через окно DopeSheet или методом научного тыка)
5) Задать начальный и конечный кадр, выставить тип анимации и так далее
Прикреплено изображение (нажмите, чтобы увеличить):
12 сентября 2011 в 18:28Рейтинг: 0
2
0
Вопрос: объекты проходят сквозь стены, как лечить?
Ответ:1) Постараться не использовать Loc в актуаторе Motion или хотя бы уменьшить значения
2) Увеличить параметр Margin у стен и у объектов (только не переборщите, иначе объекты будут «висеть» в воздухе)
3) Сделать стены «толстыми», а не одной гранью
Прикреплено изображение (нажмите, чтобы увеличить):
12 сентября 2011 в 18:28Рейтинг: 0
3
0
Вопрос: объект слишком скользит по земле (в том числе когда отталкивается от стены), как лечить?
Ответ:0) Вспоминать школьный курс физики про инерцию и трение
1) Увеличить это самое трение для земли и для объекта в материале
2) Не использовать Loc в актуаторе Motion
Прикреплено изображение (нажмите, чтобы увеличить):
12 сентября 2011 в 18:28Рейтинг: 0
3
0
Вопрос: грань рисуется только с одной стороны, что делать?
Ответ: сперва включить аддон Copy Attributes (File - User Preferences - Add-Ons - в поиск пишем copy - ставим галочку напротив аддона).
Потом выделить все нужные грани и наложить какую-нибудь UV-текстуру, если ее нет (хоть пустую) (U - Reset например).
Вариант первый: продублировать грань (Shift+D и щелчок) и вывернуть нормаль (Ctrl+F - Flip Normals). Перейти в настройки UV-текстуры (см. рис.), отжать галочку Collision и нажать Copy Mode. Это чтобы не нагружать физический движок двойными гранями.
Вариант второй: перейти в настройки UV-текстуры, нажать галочку Twoside и Copy Mode. Но тогда освещение просчитывается не совсем корректно.
Прикреплено изображение (нажмите, чтобы увеличить):
12 сентября 2011 в 18:29Рейтинг: 0
3
0
Вопрос: что такое GLSL, зачем он нужен и как его использовать?
Ответ: «GLSL — язык высокого уровня для программирования шейдеров — программ для одной из ступеней графического конвейера, используемая в трёхмерной графике для определения окончательных параметров объекта или изображения.», - говорит нам Википедия. Что это даёт в блендере:
-возможность использовать динамические тени (см. вопрос 1)
-использовать ноды
-использовать многие настройки материалов (без них не будут отображаться текстуры, кстати)
-делать более красивое освещение, близкое к тому, что рендерит Blender Render (для простых сцен, да)
Включить GLSL можно на панели Properties (вызывается кнопкой N) во вкладке Display и выбрав режим отображения Textured (см. рисунок). Настроить его можно в панели Scene.
Прикреплено изображение (нажмите, чтобы увеличить):
12 сентября 2011 в 18:29Рейтинг: 0
2
0
Вопрос: У меня нет ни настроек GLSL в панели Scene, нет ни Margin у объекта, ни вообще настроек игровой физики, ни статиков, ни динамиков, нет даже меню Game!!! Что делать???
Ответ: включить Blender в режим Game.
Прикреплено изображение (нажмите, чтобы увеличить):
12 сентября 2011 в 18:29Рейтинг: 0
2
0
Вопрос: как сохранить игру в exe?
Ответ: включить аддон Save As Runtime (File - User Preferences - Add-Ons - в поиск пишем runtime - ставим галочку напротив аддона) и File - Export - Save As Runtime. После чего копируем папку 2.5x (например, 2.59) из папки с блендером в папку с экспортированной игрой (если Linux) и проверяем, работает ли.
12 сентября 2011 в 18:29Рейтинг: 0
2
0
Вопрос: как сделать «медленный» Parent, то есть чтобы потомок немного запаздывал за родителем?
Ответ: Включить на потомке Slow Parent.
Прикреплено изображение (нажмите, чтобы увеличить):
12 сентября 2011 в 18:30Рейтинг: 0
2
0
Вопрос: как сделать чтобы один объект смотрел на другой объект?
Ответ: актуатор Edit Object, параметр Track To. В списке выбираем объект, на который смотреть, нажмиаем кнопку 3D, по желанию задаём время (Time), на которое смотрящий объект будет запаздывать.