|
3D-программирование Вопросы, касающиеся программирования 3D мира |
25.07.2010, 15:49
|
#1
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Глюк с анимацией после Fitmesh entity...
Есть такая проблема - гружу модели автоматом из папки , гружу как аниммеши, анимацию играю просто animateentity entity.
Возникла проблема - объект "взрывается" после использования команды фит меш, ставил после фитмеша resetentity - проблема осталась.
Кто нибудь сталкивался с похожей проблемой - если есть решение подскажите.
Спасибо!
|
(Offline)
|
|
25.07.2010, 16:00
|
#2
|
Разработчик
Регистрация: 02.06.2009
Адрес: Город Герой Ленинград
Сообщений: 392
Написано 33 полезных сообщений (для 74 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
а ты убери команду fitmesh
__________________
Самый первый и самый великий программист - это Бог.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
25.07.2010, 16:02
|
#3
|
Разработчик
Регистрация: 24.02.2010
Адрес: Новороссийск
Сообщений: 485
Написано 112 полезных сообщений (для 329 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
когда из макса экспортишь модели, применяй resetxform.
__________________
299 792 458
|
(Offline)
|
|
26.07.2010, 03:32
|
#4
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
Сообщение от Ganociy
а ты убери команду fitmesh
|
какой ты умный однако - ЕСЛИ ОНА У МЕНЯ В КОДЕ ПРИСУТСТВУЕТ ЗНАЧИТ МНЕ ТАК НАДО!!!
|
(Offline)
|
|
26.07.2010, 03:32
|
#5
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
Сообщение от DeeJex
когда из макса экспортишь модели, применяй resetxform.
|
все это сделано, но баг есть
|
(Offline)
|
|
26.07.2010, 03:42
|
#6
|
ТЫ ЧООО?
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений (для 7,192 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
Сообщение от Alex_Noc
все это сделано
|
Значит плохо сделано. Сталкивался с тем, что резет не всегда срабатывал. Теперь я для верности делаю так с персонажами:
1) Применяю резетхформ, причём жму дофига раз для верности
2) Конверт ту эдитабл поли
3) Пивот Center to object
И только потом уже Скиню.
__________________
Вертекс в глаз или в пиксель раз?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
26.07.2010, 06:20
|
#7
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
Писец
полное непонимание основ анимации
я снес несущую стенку, а крыша упала на голову
почему ?
отцентруй модель в максе
потом привяжи кости
анимируй
экспорти
и никаких операций с мешем в блитце, если не хочешь крышу на голову
__________________
|
(Offline)
|
|
Эти 5 пользователя(ей) сказали Спасибо tormoz за это полезное сообщение:
|
|
26.07.2010, 14:26
|
#8
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
Сообщение от ARENSHI
Значит плохо сделано. Сталкивался с тем, что резет не всегда срабатывал. Теперь я для верности делаю так с персонажами:
1) Применяю резетхформ, причём жму дофига раз для верности
2) Конверт ту эдитабл поли
3) Пивот Center to object
И только потом уже Скиню.
|
Научу неучей (11 лет работы в максе мой опыт, и 6 лет работы аниматором)
Чтоб по тыщу раз не тыкать для "верности" --> Xform
Ткни для проверки правой кнопкой на кнопке трансформации и ротации - Xform можно проверить в том окошечке что у тебя вылезет - все должно быть по 0.
Либо если тебе не нравиться пользоваться инструментом Xform - то в панели иерархии есть резет трансформации и ротации.
Ну мучай больше кнопки компа и свои пальцы!!!
А главное не думай что ты самый умный , а те кто задал вопрос на форуме нубы!!!
Я просто так вопросов не задаю!
Есть проблема - есть вопрос.
|
(Offline)
|
|
26.07.2010, 14:32
|
#9
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
Сообщение от tormoz
Писец
полное непонимание основ анимации
я снес несущую стенку, а крыша упала на голову
почему ?
отцентруй модель в максе
потом привяжи кости
анимируй
экспорти
и никаких операций с мешем в блитце, если не хочешь крышу на голову
|
Ответ выше частично касается и твоего ответа.
Ты попробуй сам - прежде чем ответить.
Я просил ответ у того кто сталкивался с похожей проблемой, а не начинать тут флудить не по теме собирая благодарности от еще более незнающих людей.
Модель стоит строго в - 0,0,0
Xform-ом пользоваться умею поверь уж, к костям как ты понял также умею привязывать, анимировать также умею (пост выше), а уж экспортить поверь знаю как если все же анимация играется в блице, и сама модель присутствует.
Вопрос остается актуальным.
|
(Offline)
|
|
26.07.2010, 15:23
|
#10
|
Дэвелопер
Регистрация: 14.02.2007
Сообщений: 1,471
Написано 824 полезных сообщений (для 2,920 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
Если моделлер намоделил так, что в коде приходится устраивать пляски с бубном вокруг модели - избить этого моделлера бейсбольной битой до полусмерти, чтобы больше так не делал (суровая правда геймдева).
Для упоротых, ищущих ответы на идиотские вопросы - никак, блитз не делает преобразование иерархии костей при таких шаманствах.
А главное не думай что ты самый умный , а те кто ответил на твой вопрос на форуме нубы!!! (с) Я типа имел несчастье изучать исходники блитза и знаю о чем говорю.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо Knightmare за это полезное сообщение:
|
|
26.07.2010, 16:29
|
#11
|
ТЫ ЧООО?
Регистрация: 26.02.2007
Сообщений: 3,369
Написано 2,020 полезных сообщений (для 7,192 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
Сообщение от Alex_Noc
Научу неучей
|
Мде? Только почему-то у неучей (вроде меня) всё работает баз шаманства в блице 5 лет тыканья в максе и мучанья пальцев меня кое чему научили видимо.
__________________
Вертекс в глаз или в пиксель раз?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
26.07.2010, 18:28
|
#12
|
Разработчик
Регистрация: 02.04.2007
Сообщений: 353
Написано 54 полезных сообщений (для 289 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
Во первых сам все и моделю и анимю и прогаю, так что ошибки в этих аспектах исключены.
Нуа шаманства мне всеже нужны раз: для экономии ресурсов(дабы заюзать несколько элементов по разному)
второе: Arenshi <-- видимо хреново научили , если тычешь по многу раз для одной операции. Подучись лучше из того что я тебе написал - а не начинай выкаблучиваться - дело говорю!
И если нету ответа на мой вопрос - то ненужно ничего писать.
|
(Offline)
|
|
26.07.2010, 18:56
|
#13
|
Гигант индустрии
Регистрация: 14.12.2005
Сообщений: 2,785
Написано 1,183 полезных сообщений (для 4,437 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
Для особо упоротых: применять любые операции с мешем для анимированных моделей нельзя
читать до просветления
__________________
|
(Offline)
|
|
26.07.2010, 20:12
|
#14
|
Ференька
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений (для 15,675 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
Тут был феерический срач, суть такова:
1. *Mesh-функции не трансформируют иерархию объектов, поэтому приводят к непредсказуемым последствиям при работе с анимацией.
2. *Entity-функции трансформируют всё вместе, поэтому глюков с анимацией не дают.
3. Аналога функции FitMesh среди *Entity-функций нету, так что в случае с анимированной моделью придётся искать обходные пути.
Не хотел вмешиваться, но прерванная дискуссия уже вполне могла спровоцировать бан каким-нибудь менее лояльным модератором.
Давайте жить дружно!
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**
* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо ABTOMAT за это полезное сообщение:
|
|
06.08.2010, 03:58
|
#15
|
[object Object]
Регистрация: 01.08.2008
Адрес: В России
Сообщений: 4,355
Написано 2,471 полезных сообщений (для 6,853 пользователей)
|
Ответ: Глюк с анимацией после Fitmesh entity...
Да факин щет! Всем -1!
FitMesh - Масштабирует и перемещает все вершины сетки объекта так, чтобы она вписалась в указанные размеры.
Ну чтож. Значит надо написать аналог самому.
Для этого нужно узнать Размеры аним меша.
После этого нужный_размер поделить на размер_аним_меша и вычислить фактор скейла по каждой из осей.
Moka в своё время писал:
Function AnimMeshWidth#(Mesh) Local MinW#=999999,MaxW#=-999999 Local VertX# Local ChildCnt%,SurfCnt%,VertCnt% ChildCnt=CountChildren(Mesh) For n1=1 To ChildCnt Child=GetChild(Mesh,n1) SurfCnt=CountSurfaces(Child) For n2=1 To SurfCnt Surf=GetSurface(Child,n2) VertCnt=CountVertices(Surf) For n3=0 To VertCnt-1 VertX=VertexX(Surf,n3) If VertX>MaxW MaxW=VertX If VertX<MinW MinW=VertX Next Next Next Return Abs(MaxW-MinW) End Function Function AnimMeshHeight#(Mesh) Local MinH#=999999,MaxH#=-999999 Local VertY# Local ChildCnt%,SurfCnt%,VertCnt% ChildCnt=CountChildren(Mesh) For n1=1 To ChildCnt Child=GetChild(Mesh,n1) SurfCnt=CountSurfaces(Child) For n2=1 To SurfCnt Surf=GetSurface(Child,n2) VertCnt=CountVertices(Surf) For n3=0 To VertCnt-1 VertY=VertexY(Surf,n3) If VertY>MaxH MaxH=VertY If VertY<MinH MinH=VertY Next Next Next Return Abs(MaxH-MinH) End Function Function AnimMeshDepth#(Mesh) Local MinD#=999999,MaxD#=-999999 Local VertZ# Local ChildCnt%,SurfCnt%,VertCnt% ChildCnt=CountChildren(Mesh) For n1=1 To ChildCnt Child=GetChild(Mesh,n1) SurfCnt=CountSurfaces(Child) For n2=1 To SurfCnt Surf=GetSurface(Child,n2) VertCnt=CountVertices(Surf) For n3=0 To VertCnt-1 VertZ=VertexZ(Surf,n3) If VertZ>MaxD MaxD=VertZ If VertZ<MinD MinD=VertZ Next Next Next Return Abs(MaxD-MinD) End Function Function MeshCenterX#(Mesh) Local MinW#=999999,MaxW#=-999999 Local ChildCnt%,SurfCnt%,VertCnt% Local Count%,Ans# ChildCnt=CountChildren(Mesh) For n1=1 To ChildCnt Child=GetChild(Mesh,n1) SurfCnt=CountSurfaces(Child) For n2=1 To SurfCnt Surf=GetSurface(Child,n2) VertCnt=CountVertices(Surf) For n3=0 To VertCnt-1 Count=Count+1 Ans=Ans+VertexX(Surf,n3) Next Next Next Return (Ans/Count) End Function Function MeshCenterY#(Mesh) Local MinH#=999999,MaxH#=-999999 Local ChildCnt%,SurfCnt%,VertCnt% Local Count%,Ans# ChildCnt=CountChildren(Mesh) For n1=1 To ChildCnt Child=GetChild(Mesh,n1) SurfCnt=CountSurfaces(Child) For n2=1 To SurfCnt Surf=GetSurface(Child,n2) VertCnt=CountVertices(Surf) For n3=0 To VertCnt-1 Count=Count+1 Ans=Ans+VertexY(Surf,n3) Next Next Next Return (Ans/Count) End Function Function MeshCenterZ#(Mesh) Local MinD#=999999,MaxD#=-999999 Local ChildCnt%,SurfCnt%,VertCnt% Local Count%,Ans# ChildCnt=CountChildren(Mesh) For n1=1 To ChildCnt Child=GetChild(Mesh,n1) SurfCnt=CountSurfaces(Child) For n2=1 To SurfCnt Surf=GetSurface(Child,n2) VertCnt=CountVertices(Surf) For n3=0 To VertCnt-1 Count=Count+1 Ans=Ans+VertexZ(Surf,n3) Next Next Next Return (Ans/Count) End Function
Теперь вычислив факторы можно скейлить.
Function ResizeAnimMesh(Entity,width#,height#,depth#,proporcional=0) If EntityClass(Entity)="Mesh" mw#=AnimMeshWidth(Entity) mh#=AnimMeshWidth(Entity) md#=AnimMeshWidth(Entity) ScaleEntity( Entity, width/mw, height/mh, depth/md) EndIf End Function
* естественно без ResetXForm нормально работать не будет
И чо я самый умный чтоли? Не верю!
__________________
Retry, Abort, Ignore? █
Intel Core i7-9700 4.70 Ghz; 64Gb; Nvidia RTX 3070
AMD Ryzen 7 3800X 4.3Ghz; 64Gb; Nvidia 1070Ti
AMD Ryzen 7 1700X 3.4Ghz; 8Gb; AMD RX 570
AMD Athlon II 2.6Ghz; 8Gb; Nvidia GTX 750 Ti
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 03:32.
|