|
3D-программирование Вопросы, касающиеся программирования 3D мира |
07.01.2011, 17:25
|
#1
|
AnyKey`щик
Регистрация: 07.01.2011
Сообщений: 7
Написано 0 полезных сообщений (для 0 пользователей)
|
Как создать "Астероидное поле"?
Собственно мучает вопрос, как создать астероидное поле?
Спрайтами, сферами или сразу в 3D редакторе делать весь объект?
- от камеры "оно" будет достаточно далеко
примерная схема в приложении.
|
(Offline)
|
|
07.01.2011, 17:33
|
#2
|
Терабайт исходников
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений (для 6,051 пользователей)
|
Ответ: Как создать "Астероидное поле"?
для чего поле предназначено? кто обозначен пивотом?
|
(Offline)
|
|
07.01.2011, 17:38
|
#3
|
AnyKey`щик
Регистрация: 07.01.2011
Сообщений: 7
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Как создать "Астероидное поле"?
Предназначено для того, чтобы глаз радовался. Если ты имеешь ввиду будет ли с ним взаимодействие других объектов? Нет.
Пивот - просто центр вокруг которого они будут крутиться.
Можно ли, расставить спрайты случайным образом ТОЛЬКО на оранжевой зоне?
|
(Offline)
|
|
07.01.2011, 17:43
|
#4
|
ТЫ ЧООО?
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений (для 7,192 пользователей)
|
Ответ: Как создать "Астероидное поле"?
Можно ли, расставить спрайты случайным образом ТОЛЬКО на оранжевой зоне?
|
Можно! (инфа 100%)
__________________
Вертекс в глаз или в пиксель раз?
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо ARA за это полезное сообщение:
|
|
07.01.2011, 17:51
|
#5
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Как создать "Астероидное поле"?
откуда будем смотреть на поле? с торца будем? или преимущественно сверху\снизу?
|
(Offline)
|
|
07.01.2011, 18:00
|
#6
|
AnyKey`щик
Регистрация: 07.01.2011
Сообщений: 7
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Как создать "Астероидное поле"?
А это имеет значение?
Как в стратегиях - только сверху, под углом.
|
(Offline)
|
|
07.01.2011, 18:03
|
#7
|
ТЫ ЧООО?
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений (для 7,192 пользователей)
|
Ответ: Как создать "Астероидное поле"?
Можешь считывать с картинки жёлтые пикселы и на них ставить астероиды)
Можешь в максе наделать кучу пивотов, экспортнуть и на них позиционировать спрайты)
Методов масса
__________________
Вертекс в глаз или в пиксель раз?
|
(Offline)
|
|
07.01.2011, 18:10
|
#8
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Как создать "Астероидное поле"?
если только сверху - то проще создать кольца мешем и натянуть на них соответствующую текстуру (чем выводить кучу мешей (или еще хуже, кучу ентитей)). тем более если камера будет далеко
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
07.01.2011, 18:13
|
#9
|
Разработчик
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений (для 329 пользователей)
|
Ответ: Как создать "Астероидное поле"?
Можно ли, расставить спрайты случайным образом ТОЛЬКО на оранжевой зоне?
|
pitch# = Rnd(360)
yaw# = Rnd(360)
roll# = Rnd(360)
dist# = Rnd(100,150)
x# = sin(pitch)*dist
y# = cos(yaw)*dist
z# = sin(roll)*dist
башка щас плохо соображает, могут быть ошибки
__________________
299 792 458
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо DeeJex за это полезное сообщение:
|
|
07.01.2011, 18:18
|
#10
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Как создать "Астероидное поле"?
тогда уж так:
pitch# = Rnd(360)
yaw# = Rnd(360)
dist# = Rnd(100,150)
x# = sin(yaw)*dist
y# = 0
z# = cos(yaw)*dist
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо HolyDel за это полезное сообщение:
|
|
07.01.2011, 18:35
|
#11
|
AnyKey`щик
Регистрация: 07.01.2011
Сообщений: 7
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Как создать "Астероидное поле"?
Помогите разобраться на простом примере:
Graphics3D 640,480
SetBuffer BackBuffer()
camera=CreateCamera()
PositionEntity camera, 0, 100, 0
;pitch# = Rnd(360)
;yaw# = Rnd(360)
;dist# = Rnd(100,150)
;x# = Sin(yaw)*dist
;y# = 0
;z# = Cos(yaw)*dist
Dim ast(100)
For i=0 To 100
ast(i)=CreateSphere(8, asterPoint)
PositionEntity ast(i), Sin(Rnd(360))*Rnd(100,150), 0, Cos(Rnd(360))*Rnd(100,150)
EntityColor ast(i), 255, 0, 0
Next
light=CreateLight()
RotateEntity light,90,0,0
; Создаем сферу
sphere=CreateSphere()
ScaleEntity sphere, 2, 2, 2
PositionEntity sphere,0,0,5
PointEntity camera, sphere
While Not KeyDown( 1 )
RenderWorld
Flip
Wend
End
|
(Offline)
|
|
08.01.2011, 05:55
|
#12
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Как создать "Астероидное поле"?
не
PositionEntity ast(i), Sin(Rnd(360))*Rnd(100,150), 0, Cos(Rnd(360))*Rnd(100,150)
а
yaw# = Rnd(360)
dist# = Rnd(100,150)
x# = sin(yaw)*dist
y# = 0
z# = cos(yaw)*dist
PositionEntity ast(i), x, y, z
заметь - сначала высчитывается угол и расстояние, затем высчитывается позиция в мировых координатах.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
08.01.2011, 12:03
|
#13
|
AnyKey`щик
Регистрация: 07.01.2011
Сообщений: 7
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Как создать "Астероидное поле"?
Спасибо, не думал что такая маленькая деталь имеет значение.
|
(Offline)
|
|
08.01.2011, 17:28
|
#14
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Ответ: Как создать "Астероидное поле"?
пожалуйсто конечно, но ты идешь неверным путем.
если тебе астероидное поле нужно чисто для декорации (астероиды не будуь падать на планету, к астероидам нельзя будет летать, нельзя будет конкретный астероид выбрать, и. т.д.) то лучше делать как написано в посте № 8.
у блица очень высокая цена ентити. пусть она(он, оно???) простой спрайт. поэтому остается либо запекать геометрию в один сюрфейс и выводить за один батч (красивее, не спорю), либо следовать совету из поста 8, и не забывай про dot3 текстуры.
вся деятельность геймдевелопера в конце концов сводится к тому - как получить наиболее красивую картинку, затратив как можно меньше ресурсов компа.
|
(Offline)
|
|
08.01.2011, 17:47
|
#15
|
Задрот
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений (для 863 пользователей)
|
Ответ: Как создать "Астероидное поле"?
фига маленькая
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 09:41.
|