Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 07.01.2011, 17:25   #1
Sora_Musoka
AnyKey`щик
 
Регистрация: 07.01.2011
Сообщений: 7
Написано 0 полезных сообщений
(для 0 пользователей)
Как создать "Астероидное поле"?

Собственно мучает вопрос, как создать астероидное поле?

Спрайтами, сферами или сразу в 3D редакторе делать весь объект?

- от камеры "оно" будет достаточно далеко

примерная схема в приложении.
Миниатюры
Нажмите на изображение для увеличения
Название: asd1.jpg
Просмотров: 751
Размер:	51.3 Кб
ID:	12313  
(Offline)
 
Ответить с цитированием
Старый 07.01.2011, 17:33   #2
Mr_F_
Терабайт исходников
 
Аватар для Mr_F_
 
Регистрация: 13.09.2008
Сообщений: 3,947
Написано 2,189 полезных сообщений
(для 6,051 пользователей)
Ответ: Как создать "Астероидное поле"?

для чего поле предназначено? кто обозначен пивотом?
(Offline)
 
Ответить с цитированием
Старый 07.01.2011, 17:38   #3
Sora_Musoka
AnyKey`щик
 
Регистрация: 07.01.2011
Сообщений: 7
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Как создать "Астероидное поле"?

Предназначено для того, чтобы глаз радовался. Если ты имеешь ввиду будет ли с ним взаимодействие других объектов? Нет.

Пивот - просто центр вокруг которого они будут крутиться.

Можно ли, расставить спрайты случайным образом ТОЛЬКО на оранжевой зоне?
(Offline)
 
Ответить с цитированием
Старый 07.01.2011, 17:43   #4
ARA
ТЫ ЧООО?
 
Аватар для ARA
 
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений
(для 7,192 пользователей)
Ответ: Как создать "Астероидное поле"?

Можно ли, расставить спрайты случайным образом ТОЛЬКО на оранжевой зоне?
Можно! (инфа 100%)
__________________
Вертекс в глаз или в пиксель раз?
(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо ARA за это полезное сообщение:
BlackOut (15.01.2011), Hurrit (08.01.2011), IGR (07.01.2011), Reizel (07.01.2011)
Старый 07.01.2011, 17:51   #5
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Как создать "Астероидное поле"?

откуда будем смотреть на поле? с торца будем? или преимущественно сверху\снизу?
(Offline)
 
Ответить с цитированием
Старый 07.01.2011, 18:00   #6
Sora_Musoka
AnyKey`щик
 
Регистрация: 07.01.2011
Сообщений: 7
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Как создать "Астероидное поле"?

А это имеет значение?

Как в стратегиях - только сверху, под углом.
(Offline)
 
Ответить с цитированием
Старый 07.01.2011, 18:03   #7
ARA
ТЫ ЧООО?
 
Аватар для ARA
 
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений
(для 7,192 пользователей)
Ответ: Как создать "Астероидное поле"?

Можешь считывать с картинки жёлтые пикселы и на них ставить астероиды)
Можешь в максе наделать кучу пивотов, экспортнуть и на них позиционировать спрайты)
Методов масса
__________________
Вертекс в глаз или в пиксель раз?
(Offline)
 
Ответить с цитированием
Старый 07.01.2011, 18:10   #8
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Как создать "Астероидное поле"?

если только сверху - то проще создать кольца мешем и натянуть на них соответствующую текстуру (чем выводить кучу мешей (или еще хуже, кучу ентитей)). тем более если камера будет далеко
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mr_F_ (08.01.2011)
Старый 07.01.2011, 18:13   #9
DeeJex
Разработчик
 
Аватар для DeeJex
 
Регистрация: 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 за это полезное сообщение:
Артем Валерьевич (13.01.2011), Sora_Musoka (08.01.2011)
Старый 07.01.2011, 18:18   #10
HolyDel
 
Регистрация: 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 за это полезное сообщение:
Артем Валерьевич (13.01.2011), Sora_Musoka (08.01.2011)
Старый 07.01.2011, 18:35   #11
Sora_Musoka
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
HolyDel
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Sora_Musoka (08.01.2011)
Старый 08.01.2011, 12:03   #13
Sora_Musoka
AnyKey`щик
 
Регистрация: 07.01.2011
Сообщений: 7
Написано 0 полезных сообщений
(для 0 пользователей)
Ответ: Как создать "Астероидное поле"?

Спасибо, не думал что такая маленькая деталь имеет значение.
(Offline)
 
Ответить с цитированием
Старый 08.01.2011, 17:28   #14
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Ответ: Как создать "Астероидное поле"?

пожалуйсто конечно, но ты идешь неверным путем.

если тебе астероидное поле нужно чисто для декорации (астероиды не будуь падать на планету, к астероидам нельзя будет летать, нельзя будет конкретный астероид выбрать, и. т.д.) то лучше делать как написано в посте № 8.

у блица очень высокая цена ентити. пусть она(он, оно???) простой спрайт. поэтому остается либо запекать геометрию в один сюрфейс и выводить за один батч (красивее, не спорю), либо следовать совету из поста 8, и не забывай про dot3 текстуры.

вся деятельность геймдевелопера в конце концов сводится к тому - как получить наиболее красивую картинку, затратив как можно меньше ресурсов компа.
(Offline)
 
Ответить с цитированием
Старый 08.01.2011, 17:47   #15
Reizel
Задрот
 
Аватар для Reizel
 
Регистрация: 24.07.2009
Адрес: Ивановская область, г. Кинешма
Сообщений: 1,574
Написано 407 полезных сообщений
(для 863 пользователей)
Ответ: Как создать "Астероидное поле"?

фига маленькая
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 19:09.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com