Глюк с полигонами

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 04.12.2003 (Чт) 22:51

Ты в Максе анимацию уже делал? Так вот, после того, как сделаешь анимационную модельку конвертишь в 3ds, потом в Х, анимация сохраняется. В dx 7 загрузка анимационных моделей была очень простой, а в вот в dx8 посмотри sdk.

Yurich
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 675
Зарегистрирован: 05.03.2003 (Ср) 3:43
Откуда: DONBASS/Gorlovka

Сообщение Yurich » 04.12.2003 (Чт) 23:38

Считаю, что для *.х не имеет значения какая анимация делалась в максе. Результат преобразования будет покадровым, ДХ не понимает костей. Мне удалось анимировать несколько моделей, но анимация простая - поворот, наклон, изгиб. Костяшной не занимался. Как использовать знаю только для ДХ7. Ниже пример кода класса AnimDoor для анимации двери. *.х конвертить с опциями -Т -А. По просьбе кину пример готового *.х или *.max (версия 4.0)

Dim AnimFrame As Direct3DRMFrame3 ' фрейм анимации
Dim AnimSet As Direct3DRMAnimationSet2
Dim Anim As Direct3DRMAnimation2
Dim AnimArray As Direct3DRMAnimationArray
Public StartTime As Single ' номер первого кадра анимации
Public EndTime As Single ' номер последнего кадра анимации
Public CurrentTime As Single ' номер текущего кадра
Public RunAnimate As Boolean ' анимация включена
Public TimeMultiplier As Single ' множитель, определяет скорость
Public DoorOpening As Boolean ' дверь открыта
Dim AutoClosing As Boolean
Public AutoClosingInterval As Single
Dim CurrentInterval As Single

' переменные для звуковых эффектов
Dim OpeningSound As DirectSoundBuffer ' стартовый звук
Dim ClosingSound As DirectSoundBuffer ' звук окончания

' создать фрейм анимации
' все поверхности должны быть с текстурами, иначе завал!!!

Public Sub CreateDoor(xFileName As String)
Set AnimFrame = D3DRM.CreateFrame(Nothing)
Set AnimSet = D3DRM.CreateAnimationSet
AnimSet.LoadFromFile xFileName, 0, D3DRMLOAD_FROMFILE, Nothing, Nothing, AnimFrame
Set AnimArray = AnimSet.GetAnimations
Set Anim = AnimArray.GetElement(AnimArray.GetSize - 1)

Dim Frame As Direct3DRMFrame3
Dim Children As Direct3DRMFrameArray
Dim ChildFrame As Direct3DRMFrame3
Dim ChildSize As Long
Dim MeshBuild As Direct3DRMMeshBuilder3
Dim ChildFace As Direct3DRMFace2
Dim ChildTexture As Direct3DRMTexture3

Dim S As Long, i As Long, j As Long
Set Frame = Anim.GetFrame
Set Children = AnimFrame.GetChildren
ChildSize = Children.GetSize
For i = 0 To ChildSize - 1
Set ChildFrame = Children.GetElement(i)
Set MeshBuild = ChildFrame.GetVisual(0)
For j = 0 To MeshBuild.GetFaceCount - 1
Set ChildFace = MeshBuild.GetFace(j)
Set ChildTexture = ChildFace.GetTexture ' завал здесь!!!
ChildTexture.SetDecalTransparentColor 0
ChildTexture.SetDecalTransparency D_TRUE
Next j
Next i
End Sub

' добавить фрейм анимации в сцену
Public Sub AddDoorToScene(Parent As Direct3DRMFrame3)
Parent.AddVisual AnimFrame
End Sub

' убрать фрейм анимации из сцены
Public Sub DeleteDoorFromScene(Parent As Direct3DRMFrame3)
Parent.DeleteVisual AnimFrame
End Sub

' изменить положение фрейма с анимацией
Public Sub SetDoorPosition(x As Single, y As Single, z As Single)
AnimFrame.SetPosition Nothing, x, y, z
End Sub

' изменить ориентацию фрейма с анимацией
Public Sub SetDoorOrientation(dX As Single, dY As Single, dZ As Single, uX As Single, uY As Single, uZ As Single)
AnimFrame.SetOrientation Nothing, dX, dY, dZ, uX, uY, uZ
End Sub

' запустить анимацию
Public Sub OpenDoor(Optional AutoClos As Boolean = False)
If RunAnimate Or DoorOpening Then Exit Sub
CurrentTime = StartTime
RunAnimate = True
If AutoClos Then
AutoClosing = True
CurrentInterval = AutoClosingInterval
End If
If OpeningSound Is Nothing Then Exit Sub
AnimSoundPlay OpeningSound, False, True
End Sub

Public Sub CloseDoor()
If AutoClosing And CurrentInterval > 0 Then Exit Sub
If RunAnimate Or Not DoorOpening Then Exit Sub
CurrentTime = EndTime
RunAnimate = True
SetNewTime 0
If ClosingSound Is Nothing Then Exit Sub
AnimSoundPlay ClosingSound, False, True
End Sub

' вывести новый кадр
Public Sub SetNewTime(ByVal dTime As Single)
If Not RunAnimate Then Exit Sub
If dTime < 1 Then dTime = 1
If Not DoorOpening Then
CurrentTime = Fix(CurrentTime + dTime * TimeMultiplier)
If CurrentTime > EndTime Then
CurrentTime = EndTime
If Not AutoClosing Then RunAnimate = False
DoorOpening = True
End If
Else
If AutoClosing Then
CurrentInterval = Fix(CurrentInterval - dTime * TimeMultiplier)
If CurrentInterval <= 0 Then
AutoClosing = False
CurrentTime = EndTime
RunAnimate = True
If ClosingSound Is Nothing Then Exit Sub
AnimSoundPlay ClosingSound, False, True
Else
Exit Sub
End If
End If
CurrentTime = Fix(CurrentTime - dTime * TimeMultiplier)
If CurrentTime < StartTime Then
CurrentTime = StartTime
RunAnimate = False
DoorOpening = False
End If
End If
AnimSet.SetTime CurrentTime
End Sub

' загрузить звуки
Public Sub LoadOpenigSound(WavName As String)
If m_ds Is Nothing Then Exit Sub
' Загружаем в буфер Wav-файл
Set OpeningSound = m_ds.CreateSoundBufferFromFile(SoundPath & WavName, BufferDesc, WaveFormat)
' Установим "свойства" паннинга и громкости
OpeningSound.SetPan 0
OpeningSound.SetVolume SndVolume
End Sub

Public Sub LoadClosingSound(WavName As String)
If m_ds Is Nothing Then Exit Sub
Set ClosingSound = m_ds.CreateSoundBufferFromFile(SoundPath & WavName, BufferDesc, WaveFormat)
ClosingSound.SetPan 0
ClosingSound.SetVolume SndVolume
End Sub

' Код проигрывания музыки
Public Sub AnimSoundPlay(ByRef SoundBuffer As DirectSoundBuffer, Repeat As Integer, Optional Reset As Boolean = False)
If Reset = True Then
SoundBuffer.Stop
SoundBuffer.SetCurrentPosition 0
End If
SoundBuffer.Play Repeat
End Sub

Public Sub AnimSoundStop(ByRef SoundBuffer As DirectSoundBuffer, Optional Reset As Boolean = True)
If SoundBuffer Is Nothing Then Exit Sub ' Если буфер пуст, то выйдем из процедуры
SoundBuffer.Stop
If Reset = True Then
SoundBuffer.SetCurrentPosition 0
End If
End Sub

Последовательность создания:
Dim NumTime As Single ' интервал времени после вывода
' предыдущего кадра (стабилизирует
' анимацию во времени), можно задать
' константой

Dim Door As New AnimDoor
Dim Scene As Direct3DRMFrame3

With Door
.CreateDoor "HomeDoor.x"
.LoadOpenigSound "DoorOpn.wav"
.LoadClosingSound "DoorClos.wav"
.AddDoorToScene Scene
.SetDoorPosition 0, 0, 0
.EndTime = 90 ' номер последнего кадра, начальный
' по умолчанию = 0
.TimeMultiplier = 1.1 ' задает скорость движения
.AutoClosingInterval = 1000 ' интервал перед закрытием
End With

Door.OpenDoor True

' в цикле рендера
Door.SetNewTime NumTime

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 05.12.2003 (Пт) 18:15

Ух...

d3drm писал(а): а в вот в dx8 посмотри sdk.

Увы, но не имею, а хотелось бы анимацию на DX8.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 05.12.2003 (Пт) 23:19

Посмотрю у себя то, что тебя интересует. Кстати, может конвертер на пару сделаем? из *.x ( с анимацией) в свой формат?

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 06.12.2003 (Сб) 11:54

d3drm писал(а):Кстати, может конвертер на пару сделаем?


Ты же у нас супер программер. Но могу в чём ни будь помоч.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 06.12.2003 (Сб) 14:25

Ну я-то конечно супер, но одному делать лень. Тем более, что он у меня уже есть, но только как часть движка :)

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 06.12.2003 (Сб) 18:01

Что мне далать то надо?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 07.12.2003 (Вс) 15:34

Не знаю... Давай ты сделаешь модель солдата а я к ней игру напишу?

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 07.12.2003 (Вс) 16:25

А причём тут конвертер?
Можно конечно, но времени у меня моловато. Солдата может и слеплю,а вот текстуру на него накладовадь муторно. Там же ещё анимация. Ну да ладно, что это я о грустном.
Если ты насчёт объедениться (ты программинг я графика), то я за. Если торопить не будешь. :wink: Ну а ты?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 07.12.2003 (Вс) 17:58

Я тоже за! Тем более, что спешить некуда. А если солдата лепить муторно, то может какую-нить мутированную штучку сделаешь с анимацией. Ну там типа ползающего мутанта паука, который бы мог набрасываться на игрока? Или что-то типа того... В данный момент я собираю из того, что уже есть новый движок, причем хочу его максимально оптимизировать. Вроде получается... Кому интересно, то все щас выкладываю на сайт... С примером. А редактор карт я буду делать отдельный. Так что будет время, попробуй что-нить сделать...

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 07.12.2003 (Вс) 18:17

Лучше тогда по мылу переписываться и начинать я думаю с оружия надо.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 08.12.2003 (Пн) 13:24

У меня с мылом гемор полный... Давай в форуме... Вроде не такой уж интимный разговор... На счет оружия... Думаю, тут все зависит от игры. Для начала наверно следует сделать что-нить фантастическое, ибо тут намного проще с моделями. Чо хочешь, то и лепишь, верно? А там уже дело за тобой. Есдинственное что, модель оружия должна быть а анимацией(качание из стороны в сторону, толчек при стрельбе...), плюс не забудь руку к ней приделать :)

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 08.12.2003 (Пн) 18:23

А тебе так рука нужна, попробую что нибудь придумать.
Ну ладно, думаю время игре выберем будущее?

Может если идея кокого нибудь оружия на ум прийдёт, то говори.

Так, тебе бластер или пушку, пулями которая стреляет?

И про анимацию, я всю анимацию в одном файле подряд делать буду.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 08.12.2003 (Пн) 20:39

Лучше для начала обыкновенный пистолет в руке. Для бластера еще придется с эффектами трудиться, это потом. Так что обыкновенный пистолет (то есть такой, как ты его себе представляешь, главное, чтоб на пистолет похоже было). А действие в игре... Да, как всегда - будущее, везде мутанты, пришельцы и шлю... В общем мало ли кто там будет! А анимация в одном файле это очень даже хорошо. Жду успехов! Желаю ответа! То есть наоборот...

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 08.12.2003 (Пн) 22:23

Ты наверное, как и я, любитель всяческих футурестических коридоров, со всяческими выступами и впуклостями и выдуманного оружия. Ну да ладно, это уже лирика.
d3drm писал(а):Лучше для начала обыкновенный пистолет в руке.

Постараюсь, что нибудь слепить...

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 09.12.2003 (Вт) 19:10

Вот набросок:
http://flock0www.nm.ru/cgi-bin/dendolo.cgi/gun_01.jpg?session_id=mBin0c60mANzdHfatpWTvnUkC5Zd6e0X&file=/gun_01.jpg
Как тебе форма?
Это только набросок, может предложешь, что на него налепить ещё можно?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 10.12.2003 (Ср) 21:06

Файл не качается :( Проверь ссылку, пожалста...

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 10.12.2003 (Ср) 21:59

http://flock0www.nm.ru/cgi-bin/dendolo. ... gun_01.jpg
На всякий случай я тебе на почту кинул.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 11.12.2003 (Чт) 21:45

На какую почту скинул? Нет ничего не разу! Вот что ты выпендриваешься? Выложи сюда, на форум!

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 12.12.2003 (Пт) 17:40

Блин, что за фигня с сылкой...
У вас нет доступа для просмотра вложений в этом сообщении.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 12.12.2003 (Пт) 17:42

Слушай, офигенно! Quake отдыхает! Ты можешь теперь к этому чуду анимацию и руку приделать?

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 12.12.2003 (Пт) 17:45

Спасибо за похвалы, но в переди текстурирование...

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 12.12.2003 (Пт) 17:47

Да... Вот это уже трудновато... Надеюсь ты справишься, потому что я хочу это видеть! :)

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 12.12.2003 (Пт) 17:48

Кстате, это самое неприятное в 3D моделировании.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 12.12.2003 (Пт) 17:57

Я понимаю... А ты с редакторами карт bsp не работал никогда?

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 12.12.2003 (Пт) 18:25

Работал, а что?

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 12.12.2003 (Пт) 18:34

Да ничего... Карты тоже делать как-то надо... Я редактор сделал, но как-то уж неудобно на нем что-либо делать... И еще вопрос. Если я тебе дам готовую модель, сможешь ли ты ее анимировать?

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 12.12.2003 (Пт) 19:14

Если я тебе дам готовую модель, сможешь ли ты ее анимировать?

Могу попробовать.
Я редактор сделал, но как-то уж неудобно на нем что-либо делать...

Самый удобный, в котором я сидел, это был Hammer для Half-Life.

Maxwell
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 182
Зарегистрирован: 01.10.2003 (Ср) 15:48
Откуда: Russia

Сообщение Maxwell » 12.12.2003 (Пт) 20:31

Обтекстурил пока небольшую часть, можешь заценить...
У вас нет доступа для просмотра вложений в этом сообщении.

d3drm
Астролог
Астролог
Аватара пользователя
 
Сообщения: 2873
Зарегистрирован: 29.05.2002 (Ср) 23:34
Откуда: МаСКвА

Сообщение d3drm » 12.12.2003 (Пт) 21:53

Я думаю, что мне не надо говорить лишний раз, что все это выглядит круто, ты и сам знаешь... Скажу только что было бы неплохо, чтоб ты поимел ICQ чтобы мы могли с тобой общаться в реальном времени. Продолжай в том же духе, а я пока буду заниматься движком.

Пред.След.

Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 33

    TopList  
cron