Game Maker - создание игр | HellRoom Games
Март 26, 2025, 00:34:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.

Войти
Новости:
 
   Начало   Game Maker Помощь Правила форума Поиск Календарь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Поворот моделей и 3D объектов  (Прочитано 3663 раз)
0 Пользователей и 1 Гость смотрят эту тему.
2009yasha2009
GM Pro user
*

Репутация: 114
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]500 сообщений!
API: GameMaker Studio 2
Сообщений: 776



« : Февраль 10, 2014, 14:23:38 »

Всем привет!
Я в курсе того, что чтобы повернуть в 2D объект следует изменить direction. Для спрайта использовать image_angle=direction
Но как реализовать такой поворот в отношении оси Z и центра объекта??? Если использовать d3d_transform_set_rotation_z то вращается объект, но не модель (созданная из вершин).
Подскажите пожалуйста!!!
Записан
Fantom
I am... All of me
Гл. Администратор
*

Репутация: 1325
Offline Offline

Пол: Мужской
Награды:
5000 сообщений!За постоянность! [500 дней на форуме]За лояльность! [+1000 репутации]За отличные статьи по Game Maker!Тру Админ :DЗнаток Game Maker...
API: GameMaker Studio Master
Сообщений: 5026



« Ответ #1 : Февраль 10, 2014, 14:30:17 »

Ищи в правильном разделе.
Записан

2009yasha2009
GM Pro user
*

Репутация: 114
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]500 сообщений!
API: GameMaker Studio 2
Сообщений: 776



« Ответ #2 : Февраль 10, 2014, 15:54:48 »

Там нет!(

У меня ведь не модель, а построение "простыми" фигурами, вот код:
d3d_primitive_begin(pr_trianglelist);
    d3d_vertex(x-16,y+32,0);
    d3d_vertex(x,y-32,0);   
    d3d_vertex(x,y-32,10);
   
    d3d_vertex(x+16,y+32,0);
    d3d_vertex(x,y-32,0);   
    d3d_vertex(x,y-32,10);
 
  d3d_primitive_end();

спрайт объекта 32х64  При d3d_transform_add_rotation_z   ничего не изменяется, либо крутится игрок.=(
Записан
puzko.e
Пользователь
***

Репутация: 11
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Деятельность: Программист
Сообщений: 81


« Ответ #3 : Февраль 10, 2014, 16:55:15 »

Исходник дай!
Записан

Orsha_Phoenix
Посетитель
**

Репутация: 6
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Сообщений: 33


« Ответ #4 : Февраль 10, 2014, 16:59:01 »

Код:
d3d_transform_set_translation( x , y , z )
d3d_transform_add_rotation_z( direction )
    d3d_primitive_begin( pr_trianglelist )
    d3d_vertex( -16 , 32 , 0 )
    d3d_vertex( 0 , -32 , 0 )
    d3d_vertex( 0 , -32 , 10 )

    d3d_vertex( 16 , 32 , 0 )
    d3d_vertex( 0 , -32 , 0 )
    d3d_vertex( 0 , -32 , 10 )
    d3d_primitive_end()
d3d_transform_set_identity()
Записан
2009yasha2009
GM Pro user
*

Репутация: 114
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]500 сообщений!
API: GameMaker Studio 2
Сообщений: 776



« Ответ #5 : Февраль 10, 2014, 17:44:14 »

Код:
d3d_transform_set_translation( x , y , z )
d3d_transform_add_rotation_z( direction )
    d3d_primitive_begin( pr_trianglelist )
    d3d_vertex( -16 , 32 , 0 )
    d3d_vertex( 0 , -32 , 0 )
    d3d_vertex( 0 , -32 , 10 )

    d3d_vertex( 16 , 32 , 0 )
    d3d_vertex( 0 , -32 , 0 )
    d3d_vertex( 0 , -32 , 10 )
    d3d_primitive_end()
d3d_transform_set_identity()
О! Супер!!! Спасибо^_^  Плюс
Только крутится вокруг позиции (0;0) =(
Записан
Orsha_Phoenix
Посетитель
**

Репутация: 6
Offline Offline

Пол: Мужской
API: Game Maker 8.0 Pro
Сообщений: 33


« Ответ #6 : Февраль 10, 2014, 18:52:39 »

Только крутится вокруг позиции (0;0) =(

Поэтому координаты надо забивать так, что-бы нужная ось вращения находилась в точке (0;0)

И кстати, лучше в Draw рисовать не примитив а модель, которую нужно создать в Create.
Записан
2009yasha2009
GM Pro user
*

Репутация: 114
Offline Offline

Пол: Мужской
Награды:
За постоянность! [50 дней на форуме]500 сообщений!
API: GameMaker Studio 2
Сообщений: 776



« Ответ #7 : Февраль 11, 2014, 11:32:34 »

Только крутится вокруг позиции (0;0) =(

Поэтому координаты надо забивать так, что-бы нужная ось вращения находилась в точке (0;0)

И кстати, лучше в Draw рисовать не примитив а модель, которую нужно создать в Create.
Окей. Исправлюсь) Спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  

HellRoom Games © 2006-2012 All Rights Reserved
Powered by SMF 1.1.21 | SMF © 2013, Simple Machines
Страница сгенерирована за 0.101 секунд. Запросов: 29.