Вторник, 05 Ноября 2024, 19:47

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
3D и текстуры в Game Maker
ZiPДата: Суббота, 11 Сентября 2010, 08:48 | Сообщение # 1
почетный гость
Сейчас нет на сайте
Подскажите, пожалуйста, как в Game Maker наложить текстуру на модель?
P.S. Напишите код в ответе, если конечно Вам не сложно, а то я "нуб" в GML.
P.S.S. Читал спраку, но она не помогла, создавал стандартные фигуры, но эффект один и тот же, они просто чёрные, хотя там есть аргумент texid, который я заполнял названием текстуры.




TernoxДата: Суббота, 11 Сентября 2010, 22:46 | Сообщение # 2
Light my fire
Сейчас нет на сайте
ZiP, нужно писать не название текстуры, а короткий код: background_get_texture(background), где background - название текстуры. И перед кодом рисования модели обязательно пропиши: draw_set_color(c_white)

Ternoxgames.com. Разрабатывают игры и выпускаю их на консолях.
FedenkoVadikДата: Воскресенье, 12 Сентября 2010, 01:05 | Сообщение # 3
Level 5 Gentleman
Сейчас нет на сайте
блин, короче там где ты пишешь название текстуры, пиши
Code
background_get_texture()
и уже в скобках этой функций пиши названия бэка, это как бы конвертация из бэка в текстуру...
ZiPДата: Воскресенье, 12 Сентября 2010, 05:54 | Сообщение # 4
почетный гость
Сейчас нет на сайте
FedenkoVadik, Ternox, огромное Вам спасибо! Тока вот у меня теперь другой вопрос, а можно ли текстуру назначить на какой либо полигон, например на верх одна текстура, а на боковые полигоны другая?



TernoxДата: Воскресенье, 12 Сентября 2010, 10:12 | Сообщение # 5
Light my fire
Сейчас нет на сайте
ZiP, если у тебя просто в квадрат, то можно создать поверх нужного тебе полигона ещё один очень узкий квадрат. Например:

Code
d3d_draw_block(x,y,0,x+32,y+32,z+32,background_get_texture(background1),1,1) // основной объект
d3d_draw_block(x,y+32,0,x+32,y+33,z+32,background_get_texture(background2),1,1) // боковая грань

Если же не квадрат, и ты хочешь строить модели через d3d_model_, то там текстура только одна на всю модель будет.


Ternoxgames.com. Разрабатывают игры и выпускаю их на консолях.
ZiPДата: Воскресенье, 12 Сентября 2010, 12:18 | Сообщение # 6
почетный гость
Сейчас нет на сайте
Ternox, спасибо! Правда у меня есть еще вопрос, а как теперь в комнате назначить фон? Он не отображается, виден только цвет заливки фона, по умолчанию в GM он серый.



TernoxДата: Воскресенье, 12 Сентября 2010, 12:25 | Сообщение # 7
Light my fire
Сейчас нет на сайте
ZiP, хм... попробуй создать огромный блок, внутри которого и будет происходить игра. Будет нечто похожее на скайбокс. К примеру
Code
d3d_draw_block(0,0,0,2000,2000,5000,background_get_texture(background3),1,1)


Ternoxgames.com. Разрабатывают игры и выпускаю их на консолях.
ZiPДата: Воскресенье, 12 Сентября 2010, 13:58 | Сообщение # 8
почетный гость
Сейчас нет на сайте
Ternox, я создал сначала блок, а потом, решил вместо блока, сделать floor(пол), т.к. вид у меня сверху. Ternox, а ты случайно не знаешь как делать свет, я создаю обьект света с таким кодом
Code
d3d_set_lighting(true)
d3d_light_define_point(1,96,96,16,0,c_white)
d3d_light_enable(1,true)

И после добавления этого обьекта в комнату у меня все обьекты становятся черными и серыми, что я не так делаю или какой код надо добавить в обьекты для того, чтобы они подсвечивались?






Сообщение отредактировал ZiP - Воскресенье, 12 Сентября 2010, 14:00
TernoxДата: Воскресенье, 12 Сентября 2010, 14:19 | Сообщение # 9
Light my fire
Сейчас нет на сайте
ZiP, к сожалению, 3д изучал только поверхностно, и со светом так и не разобрался, поэтому не знаю.

Ternoxgames.com. Разрабатывают игры и выпускаю их на консолях.
FedenkoVadikДата: Воскресенье, 12 Сентября 2010, 14:30 | Сообщение # 10
Level 5 Gentleman
Сейчас нет на сайте
Quote (Ternox)
можно создать поверх нужного тебе полигона ещё один очень узкий квадрат

ахах, вот по-этому на ГМ виснет 3Д, по не осторожности, ни когда не делайте лишнее, в таком случае нужно сделать floor, но не block, забирающий в 5 раз больше производительности, (+10 полигонов, +30 вертексов)
Quote (ZiP)
можно ли текстуру назначить на какой либо полигон

Quote (Ternox)
хочешь строить модели через d3d_model_, то там текстура только одна на всю модель будет

ЛоЛ, причем тут 1 текстура, когда нужно назначение текстуры на вертекс?
d3d_vertex_texture(x,y,z, а вот тут, то что тебе надо, здесь пиши от 0 к 1 (это точка на текстуре по оси Х) например если у тебя текстура 64х64 и ты напишешь тут 0.5 то текстура будет из 32 пикселя по оси х , тут тоже самое, но ось у)
Quote (Ternox)
попробуй создать огромный блок

в таких случаях обычно делают элипсе, повернутый на 90 градусов, но тут сверху, по этому нужно чето вроде этого: (сорри, пишу без гамака, но все вроде верно)
Code
d3d_draw_floor(0-1000,0-1000,0,room_width+1000,room_height+1000,0,texture,room_width/100,room_height/100)

Quote (ZiP)
d3d_set_lighting(true)

это пиши только 1 раз в креате в 1 объекте.
лол, смотри что у тебя:
Code
d3d_light_define_point(1,96,96,16,0,c_white)

там где у тебя 0 - это мощность света, а оно ноль)))
смотри как делаю я (делал, забыл о гм) создай объект, он будет у тебя в качестве лампочки, у него в креате пиши:

Code
d3d_light_define_point(id,x,y,128,1000,c_white)  
d3d_light_enable(id,true)

если у тебя объект лампы динамичный, т.е. подвижный, пиши этот код в Шаге, если он не двигается, как например столб, пиши в креате


Сообщение отредактировал FedenkoVadik - Воскресенье, 12 Сентября 2010, 14:34
ZiPДата: Воскресенье, 12 Сентября 2010, 14:35 | Сообщение # 11
почетный гость
Сейчас нет на сайте
Ternox, эх... жаль конечно, но ладно, спасибо, что помог с освоением 3d в GM.)



FedenkoVadikДата: Воскресенье, 12 Сентября 2010, 14:42 | Сообщение # 12
Level 5 Gentleman
Сейчас нет на сайте
ZiP, обнови страничку))
ах да, теперь эту лампочку ставь там где надо в комнате, их можно поставить по больше, но свет, по неаккуратности жрет много силы у компа...а вообще со светом работать не советую, будет проблема с отображением света на многих моделях, опять же по неаккуратности (и неопытности)...
ZiPДата: Вторник, 14 Сентября 2010, 06:16 | Сообщение # 13
почетный гость
Сейчас нет на сайте
FedenkoVadik, ОГРОМНОЕ спасибо!

Добавлено (13.09.2010, 09:14)
---------------------------------------------
FedenkoVadik, ты случаем не знаешь как сделать вот такое:
Нажимаем на персонажа левой кнопкой мыши и вокруг него появляюся все доступные действия, поясню, у меня есть 3d модель персонажа, я делаю у него в событиях Нажатие левой кнопки мыши, после чего добавляю в это событие действие:

Code
if plr.ability1_num>0 and if instance_number(ability1)=0
{
instance_create(ability1,plr.x+37,plr.y+52)
}

Но при проверки в игровом процессе, кликаю по персонажу, но ничего не происходит, затем я попробывал убрать проверку сделал вот так:
Code
instance_create(ability1,plr.x+37,plr.y+52)

Но результат тот же. Что надо сделать? Модет создать обьект? Но я создавал 3d обьект который должен появиться при нажатии в итоге он не появлялся и вообще я заметил один глюк, когда делаешь событие Mouse enter, то при навидении его на персонажа ничего не происходит, а вот если мышь поднять вверх, то появляется обьект(но только 3d), а простой обьект без использования 3d не появляется. Так вот как сделать то, что я задумал?

Добавлено (14.09.2010, 06:16)
---------------------------------------------
HELP! help




  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг