|
3D-программирование Вопросы, касающиеся программирования 3D мира |
16.08.2010, 18:44
|
#16
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
Перепутал с LoadAnimSeq
С ExtractAmimSeq не работал, так что хз...
|
(Offline)
|
|
16.08.2010, 18:46
|
#17
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
это по идее тоже самое, только где мне его написать???
__________________
...мама я больше не буду!
|
(Offline)
|
|
16.08.2010, 18:49
|
#18
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
LoadAnimSeq загружает анимацию модели из файла
ExtractAnimSeq берет анимацию из уже загруженной модели.
Давным давно я при загрузке игры загружал ресурсы в глобалы ( )
И была функция, которая грузила модель, а также анимации к этой модели.
Функция выполнялась один раз при старте игры.
|
(Offline)
|
|
16.08.2010, 18:59
|
#19
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
как бы ты написал этот кусок?
__________________
...мама я больше не буду!
|
(Offline)
|
|
16.08.2010, 19:05
|
#20
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
Function LoadModels()
model = LoadModel = bla bla bla;
an1 = ExtractAnimSeq (model, 1,20)
an2 = ExtractAnimSeq (model, 21,40)
End Function
Вот такой вот псевдокод
И эту функцию вызываем один раз в игре.
|
(Offline)
|
|
16.08.2010, 19:31
|
#21
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
не работает!не вижу модели!это код загрузки фрица:
Function create_friz(x#,y#,z#,turn#)
num%=num%+1
abc(num)=New frizen
; abc(num)\friz=LoadAnimMesh("media\officer.b3d")
abc(num)\friz=frize
abc(num)\frizbox=CreateSphere()
EntityAlpha abc(num)\frizbox,0.00001
PositionEntity abc(num)\frizbox,x#,y#+1.1,z#
ScaleEntity abc(num)\friz,0.025,0.025,0.025
ScaleEntity abc(num)\frizbox,0.35,0.8,0.3
PositionEntity abc(num)\friz,x#,y#,z#
TurnEntity abc(num)\friz,0,turn#,0
TurnEntity abc(num)\frizbox,0,turn#,0
EntityType abc(num)\frizbox,friz_type
EntityParent abc(num)\friz,abc(num)\frizbox
abc(num)\count_bull%=8
abc(num)\times1%=1
abc(num)\times2%=5
abc(num)\count=1
End Function
а это код который в начале игры:
Function load_model()
frize=LoadAnimMesh("media\officer.b3d")
ExtractAnimSeq(frize,1,32 ) ; 1- idle
ExtractAnimSeq(frize,33,83 ) ; 2- look_around
ExtractAnimSeq(frize,84,117 ) ; 3- walk
ExtractAnimSeq(frize,118,134 ) ; 4- run
ExtractAnimSeq(frize,135,150 ) ; 5- arm
ExtractAnimSeq(frize,150,159 ) ; 6- shoot_forward
ExtractAnimSeq(frize,161,181 ) ; 7- disarm
ExtractAnimSeq(frize,182,197 ) ; 8- shoot_down
ExtractAnimSeq(frize,198,213 ) ; 9- shoot_up
ExtractAnimSeq(frize,214,239 ) ; 10- reload
ExtractAnimSeq(frize,240,270 ) ; 11- die1
ExtractAnimSeq(frize,271,311 ) ; 12- die2
ExtractAnimSeq(frize,312,325 ) ; 13- die3
End Function
че делать?
__________________
...мама я больше не буду!
|
(Offline)
|
|
16.08.2010, 19:36
|
#22
|
Элита
Регистрация: 26.07.2008
Сообщений: 1,972
Написано 1,095 полезных сообщений (для 3,923 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
Тут нужны опытные блитцеры, я с блица перешел на unity, где все уже за меня сделано, и забыл синтаксис блитца ^_^
По идее
frize=LoadAnimMesh("media\officer.b3d")
frize должна быть глобальной.
|
(Offline)
|
|
16.08.2010, 19:39
|
#23
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
так так вроде и есть!
__________________
...мама я больше не буду!
|
(Offline)
|
|
16.08.2010, 22:49
|
#24
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
abc(num)\friz=LoadAnimMesh("media\officer.b3d")
abc(num)\friz=frize
|
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
16.08.2010, 22:59
|
#25
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
а что это меняет?
__________________
...мама я больше не буду!
|
(Offline)
|
|
16.08.2010, 23:40
|
#26
|
Оператор ЭВМ
Регистрация: 13.08.2009
Сообщений: 22
Написано 0 полезных сообщений (для 0 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
не работает!не вижу модели!это код загрузки фрица:
|
EntityAlpha abc(num)\frizbox,0.00001 ?
|
(Offline)
|
|
17.08.2010, 00:07
|
#27
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
Сообщение от Mark Castle
а что это меняет?
|
abc(num)\friz=LoadAnimMesh("media\officer.b3d")
abc(num)\friz=frize
|
LoadAnimMesh грузит модельку с винчестера с текстурами и т.д. Что уже само по себе дело небыстрое. Поэтому правильно, славно загружать модельку один раз в начале проги, а потом, когда надо создать монстра (ну, или для чего там эта моделька) при помощи CopyEntity копируют заранее загруженную модельку. Копируется вся анимация и т.д., кроме того - это в сотни раз быстрее, чем её заново грузить.
Вот этот пост сделал меня задуматься:
http://forum.boolean.name/showpost.p...12&postcount=6
Вы нас так тонко троллите или действительно не понимаете сарказма(всё должно стать ясно даже если просто перевести название предложенной функции на русский язык)?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
17.08.2010, 00:36
|
#28
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
Сообщение от ABTOMAT
LoadAnimMesh грузит модельку с винчестера с текстурами и т.д. Что уже само по себе дело небыстрое. Поэтому правильно, славно загружать модельку один раз в начале проги, а потом, когда надо создать монстра (ну, или для чего там эта моделька) при помощи CopyEntity копируют заранее загруженную модельку. Копируется вся анимация и т.д., кроме того - это в сотни раз быстрее, чем её заново грузить.
|
еще раз посмотри
он грузит модель в переменную, а потом приравнивает ее к другой
скорее всего в ней в этот момент ничего нет
и ваще, нахрена вам дебаггер ?
__________________
|
(Offline)
|
|
17.08.2010, 00:39
|
#29
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
тонко троллим)
__________________
...мама я больше не буду!
|
(Offline)
|
|
17.08.2010, 01:00
|
#30
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: Помогите оптимизировать ф-ю
а ведь кстати, все равно глючит!
__________________
...мама я больше не буду!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 13:29.
|