Суббота, 21 Декабря 2024, 15:58

Приветствую Вас Гость

Меню сайта
Категории каталога
Создание игр [358]
Статьи об общих понятиях связанных с созданием игр.
Программирование [84]
Гайды по программированию на разных ЯП.
Движки и Гейммейкеры [149]
Статьи о программах для создания игр, уроки и описания.
Софт [44]
Различные программы, в том числе в помощь игроделам.
2D-графика [14]
Уроки по рисованию, растр, пиксель-арт, создание спрайтов и пр.
3D-графика [17]
Уроки по моделированию, ландшафт, модели, текстурирование и пр.
Моддинг игр [5]
Модификация компьютерных игр, создание дополнений, перевод, хакинг.
Игры [169]
Статьи об играх, в том числе и сделанных на гейммейкерах.
Разное [133]
Статьи, которые не вошли в определённые разделы.
Наш опрос
Что в своих играх используете от стороннего производителя?
Всего ответов: 9581
Главная » Статьи » Создание игр

3D RAD-создание "инвентаря" (и системы урона) #1
Пожалуй сразу и начнем! Для создания инвентаря ,во-первых ,нужно создать и систему урона...чтобы потом мы смогли со спокойной совестью, надеть(например)наш любимый доспех, для защиты от (например) лучника....
Чтобы нас смогли "убить", мы делаем следующее:"создаем-
"Cam1StPerson" (соединяем)Terrain.
"SkyBox".
"Cam1StPerson" (соединяем)G-Force.
"Projectile "-соединяем "галочками"с RigidBody A(желательно поставить для начала шарики,ими мы и будем стрелять) , и ставим тип взаимоотношений"Projectile"

попутно соединяем "Projectile" с EventOnInput.... "Заходим" в EventOnInput (который мы соединили с "Projectile",и ставим отношение -Start on Input. Все с Projectile закончили.
Беремся за наш RigidBody A ,который мы ранее соединяли с Projectile. Дополнительно соединяем его "галочкой" с (только что созданными EventOnContact)."Заходим" в
EventOnContact(который мы соединили с RigidBody A) находим окошко Relationships(взаимоотношения) ,видим что наш RigidBody A "находится" в IGNORE... смело меняем "Игнор" на (взаимоотношение) "MONITOR"(это делается левым нажатием "мыши")...Оставляем в покое "RigidBody A", и беремся за "EventOnContact".Следующими действиями мы соединяем (галочкой) "EventOnContact", с нашей "ходячей камерой" (Cam1StPerson)..."Заходим"в "EventOnContact" , и меняем взаимоотношение (между камерой и нашим EventOnContact) на "MONITOR".Теперь мы создаем "SCRIPT" ,если кто-то боится этого слова, попрошу выдохнуть, ничего заумного мы писать не будем, и я сразу же ,попытаюсь объяснить действие "нашего" скрипта.Но для начала, соединим его галочкой с EventOnContact(который мы создали до этого , надеюсь вы про него не успели забыть*)...Теперь зайдем в EventOnContact ,ну и опять "помучаем" взаимоотношения , и выставим -Start On Input.(напротив скрипта)
Примечание-заранее в настройках скрипта, снимите галочку с "WORKING AT START"-это мы сделали для того, чтобы скрипт включался не при запуске игры, а только тогда, когда наш шарик ударит "камеру"(ходячую*)

Теперь "зайдем" в скрипт и вобьем следующую "строчку":
void Main()
{
{
iObjectStart(OBJ_"номер нужного объекта");
}
}
Сразу скажу, можно было обойтись без скрипта, но его все же изучать то надо.
Теперь пояснение.Вот эта строчка, всего навсего запускает нужный нам объект, но объект не всегда значит предмет, это может быть и "event"(событие)...Я например взял ExitFade,и теперь при ударе "по голове*)" нашим "шариком"(RigidBody A),игра будет "выходить",можно сделать так,чтобы она выходила меню, или сразу же запускала сохранение, или чтоб играла музыка и шли титры,воощем всё, что вашей "душе" угодно.Можно сделать так,чтобы показывались жизни ,и при ударе отнималось определенное колличество , и когда будет совершено нужное количество ударов , "персонаж" умирал, но я сделал "хардкор" ,и он будет умирать при первом же ударе...
Убедительная просьба, чтобы сработал EventOnContact,необходимо соединить галочками RigidBody и "камеру"

Всё ,с этого момента можно приступать к созданию инвентаря, теперь мы смертны, и нам нужна защита, чтобы ненароком не потерять (например) руку в сражении,или без глаза не остаться.

Создаем:
Берем ранее созданную Cam1StPerson,создаем дополнительно 2-ва EventOnInput,создаем CamChase(камера должна быть расположена как можно ниже "земли" "террайна", вообщем чтоб мы видели с этой камеры "пустой"вид , или скай бох(SkyBox),и нужно в настройках "камеры" убрать галочку с "RENDERING At START").Соединяем один EventOnInput с Cam1StPerson, а другой с CamChase.Устанавливаем отношения(в EventOnInput) : Cam1StPerson- switch on input
CamChase -S/H switch on input
кнопку(которая активирет) можете поставить любую ,только она должна быть одинаковой для двух "ивентов"(EventOnInput)-например "С".
Теперь при нажатие на кнопку, у вас переключаются камеры, т.е с "ходячей камеры" вы переключаетесь на "неходящую" ,которая ,по-моему совету должна распологаться где то в "космосе".Это надо сделать для удобства, теперь задний вид вы можете определить сами при помощи "Sprite".Во время переключения , наша "ходячая" камера будет неподвижна, но уязвима,следует это учесть.
Теперь создаем спрайт(создадим наш задний вид инвентаря).Sprite соединяем с CamChase(галочками) ,в настройках спрайта убираем галочку с "VISIBLE AT START",
width/height ставим по 100.Ниже строчки detect mouse over event ,есть "столбики" которые можно менять , ставим "Render as background".И соединяем наш спрайт "галочками" с одним из EventOnInput , которые мы создавали для наших "камер".И ставим взаимоотношения "S/H switch on input".Всё, теперь при нажатие на кнопочку, у нас меняется камера ,и есть задний вид....Теперь нужно создать Спрайт Инвентаря.Создаем Sprite соединяем "галочками"с camechase , в настройках спрайта убираем "галочку" с (VISIBLE AT START),width/height-это размеры спрайты ,выбираем на свой вкус, ставим "Render over texts".И соединяем "галочками" (так же как и прошлый спрайт, с одним из EventOnInput,который мы делали для "камер").И теперь при нажатие на кнопочку ,у нас меняется камера, появляется задний фон, и инвентарь.Уже не плохо!*)
Продолжим: вернемся к Cam1StPerson, для начала создадим EventOnLocation(сделайте побольше размеры),SkinMesh("скин меш" следует поставить в область "EventOnLocation")
Теперь соединим "галочками" Cam1StPerson и EventOnLocation (поставим взаимосвязь"отношения" -Check for entering (OFFSET 1)).
Теперь создадим EventOnInput,в настройках EventOnInput, уберите "галочку с "WORKING AT START"...Соедините EventOnInput с ранее созданным SkinMesh,установите отношения -HIDE ON INPUT(кнопку назначайте отличную от кнопки ,для ранее созданных EventOnInput(которые были созданы для камер) .
EventOnInput соедините с EventOnLocation(которую мы раньше соединяли с Cam1StPerson ), и поставьте взаимоотношения -Start On condition.

Теперь когда мы подходим к нашему "скин мешу", т.е. мы попадаем в EventOnLocation(ведь "скин меш" должен находится в EventOnLocation), потом мы нажимаем на кнопку ,недавно назначенную , и у нас пропадает "скин меш",создается иллюзия ,как будто мы подобрали предмет.
Теперь давайте установим связь с инвентарем(чтобы то, что мы подобрали ,отражалось у нас в инвентаре),для этого создадим спрайт(желательно взять картинку той вещи ,которую мы подбираем) И начинается самое страшное...
В настройках спрайта уберите "галочку" с VISIBLE AT START ,поставьте "Render over texts" ну и размеры на свой вкус, теперь создадим EventOnInput в настройках снимите "галочку" с WORKING AT START(ВАЖНО: УСТАНОВИТЕ КНОПКУ (INPUT CONTROL)такую же ,как и для других спрайтов ,которым мы назначали раньше), соедините его (EventOnInput) с ранее созданным спрайтом установите связь -S/H switch on input.
Теперь соедините "галочками" этот EventOnInput с другим EventOnInput (который мы делали для SkinMesh(чтобы при нажатии исчезал SkinMesh ,иллюзия того ,как будто мы его взяли)).
Теперь в этом EventOnInput(который для SkinMesh) установите связь ,с ранее созданным EventOnInput(для спрайта,вещи) -Start on release.
Теперь ,когда мы будем "подбирать" "скин меш" ,у нас в инвентаре будет появляться его иконка(спрайт)(он будет появлятся , только после того, как мы вызовем окно инвентаря) , желательно поместить его в ячейку инвентаря, чтобы было красивее.

В ДЕМКЕ СТАНДАРТНЫЕ СПРАЙТЫ И СКИН МЕШИ*)-версия рада 6.50

Категория: Создание игр | Добавил: Nasa13 (01 Февраля 2011)
Просмотров: 14980 | Комментарии: 10 | Рейтинг: 3.7/3 |
Теги: Скриптование, 3D Rad, урон, инвентарь, Системы урона, Создание игры, RigidBody, скриптинг, AngelScript, Урок
Дополнительные опции:
Также если вы считаете, что данный материал мог быть интересен и полезен кому-то из ваших друзей, то вы бы могли посоветовать его, отправив сообщение на e-mail друга:

Игровые объявления и предложения:
Если вас заинтересовал материал «3D RAD-создание "инвентаря" (и системы урона) #1», и вы бы хотели прочесть что-то на эту же тему, то вы можете воспользоваться списком схожих материалов ниже. Данный список сформирован автоматически по тематическим меткам раздела. Предлагаются такие схожие материалы: Если вы ведёте свой блог, микроблог, либо участвуете в какой-то популярной социальной сети, то вы можете быстро поделиться данной заметкой со своими друзьями и посетителями.

Всего комментариев: 10
+0-
10 vadimman   (11 Апреля 2014 17:02) [Материал]
vadimmanспс афтору, продолжай в том же духе. вот только что то не понятно <<...Но для начала, соединим его галочкой с EventOnContact(который мы создали до этого , надеюсь вы про него не успели забыть*)...Теперь зайдем в EventOnContact ,ну и опять "помучаем" взаимоотношения , и выставим -Start On Input.(напротив скрипта)...>> в eventoncontact нету же взаимотношение "start on input" и что делать?? wacko sad

+0-
9 Nasa13   (04 Февраля 2011 16:48) [Материал]
Nasa13Всегда рад, помочь*) Уже готова 2 часть статьи, она находится на проверке!*)

+1-
8 Max-Osovsky   (04 Февраля 2011 13:32) [Материал]
Оформлено слегка запутанно,но я разобрался! Спасибо и респект автору! biggrin biggrin biggrin biggrin biggrin biggrin

+0-
7 Nasa13   (02 Февраля 2011 19:50) [Материал]
Nasa13Его нету, т .к. это первая часть статьи*) мы будем вместе создавать инвентарь, и в конце , я смогу его предоставить...

+0-
6 LibertyClaw   (02 Февраля 2011 19:01) [Материал]
LibertyClawа где в примере инвентарь? Я не заметил...

+1-
5 Nasa13   (02 Февраля 2011 11:08) [Материал]
Nasa13Да , дальше еще страшнее*) согласен , сплошным текстом было не совсем уместно писать.

+0-
4 ezhickovich   (02 Февраля 2011 09:40) [Материал]
ezhickovichОформление реально ужасное... Всё сплошным текстом... =/
А так не читал, уж больно много путаницы уже во втором абзаце... (а что дальше мне даже страшно представить)

+1-
3 Nasa13   (01 Февраля 2011 21:41) [Материал]
Nasa13И там не скрипт разбирать надо, а связи, которые реально запутанные!Это же 3д раД ,в котором есть ивенты , а если делать с помощью них, то все очень запутанно выходит !

+1-
2 Nasa13   (01 Февраля 2011 21:39) [Материал]
Nasa13Хмм.... я это учту, просто само объяснение такое*)запутанное..в следующей статье, я попытаюсь улучшить оформление, и более доступно изложить основную мысль.

+-1-
1 TLT   (01 Февраля 2011 20:59) [Материал]
TLTСтатья ужасно непонятна и оформлена куриной лапой. Проще скачать пример и самому разобраться в скрипте, чем читать автора. sad

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Поиск по сайту
10 случ. движков
  • Asphyre Sphinx
  • Devana
  • Twine
  • Construct 3
  • Intersect Engine
  • SoftPixel Engine
  • GZDoom
  • World Forge
  • Point&Click Dev Kit
  • SRPG Studio
  • Друзья сайта
    Игровой форум GFAQ.ru Перевод консольных игр
    Все права сохранены. GcUp.ru © 2008-2024 Рейтинг