sanek_47, в Max Payne 1/2 играл? Могу дать только такой совет - сделай фильмы в телевизоре как там. Аудиодорожка полноценная, а кадры - лишь вяло меняющиеся 10 картинок вместо 100500. Тогда никакого оверфлоу не будет, и самому меньше париться придётся.
Спрайтами делать итемы - считаю не правильным. Гозза свободно тянет 3D модели, зачем же тогда делать плоскими предметы? Монстяков куда ещё не шло, потому что не реально пока в 3D сделать крутых монстров в Лоу-Поли. Для этого нужен другой движок чем у Гоззы. Был бы Unreal 4 - вот тогда дело другое, но всё равно, не факт что монстяки были бы качественными как оригиналы.
Да причем тут монстры, ue4 и т.д. я тебе пишу о том что 3д сфера при таком раскладе визуально ну ничем вообще не отличается от 2д спрайта! Так смысл мучиться, если можно тупо отрендерить эту сферу в спрайт, может получиться даже лучше и + к производительности пусть и совсем мизерный!
Получился спрайт) Так не проще ли было сразу на дифузке нарисовать блик или вообще сделать из этой сферы нормальный спрайт?
Вопрос к автору оригинальной модели, не я ее рисовал/моделлил
А если ты имеешь в виду "почему я не сделал, чтобы сама сфера не вращалась за игроком, а внутренняя морда вращалась", то там модель только передней части шара, не получится так сделать. А так, если бы модель была полноценным шариком, можно было бы разбить ее на 2 актора, и один вращать за игроком, второй нет
aivar242:
А вот саму Мегасферу я редактировал. Первый кадр анимации лица, слишком большой, на всю окружность. Лицо получается слишком крупное - можешь сравнить с оригиналом спрайта и увидишь, что первый кадр лица, не на всю сферу, где есть некое расстояние от границы. Вот я и сделал нечто похожее.
Проделай все эти манипуляции с моими PNG файлами заново
aivar242:
Был бы Unreal 4 - вот тогда дело другое, но всё равно, не факт что монстяки были бы качественными как оригиналы.
На самом деле мне жутко интересно, что в плане монстров сможет наваять veirdo в FBX формате для думсдея (но это будет не очень скоро как я понял)
На самом деле мне жутко интересно, что в плане монстров сможет наваять veirdo в FBX формате для думсдея (но это будет не очень скоро как я понял)
Есть ли в этом смысл вообще? Думсдей на данный момент уже очень тяжёл. Резкие повороты камеры ему даются очень тяжело, почему я и пересел на Гоззу. Раньше кроме Думсдей ннчего не признавал. К тому же мне очень не нравится как всё это выглядит в новых версиях Думсдей. Этот сьюит, начальный экран совершенно лишняя вещь по моему. Лучше бы мультиплеер и его меню внедрили в саму игру, выбор на стартовых титлах. Потом этот трей, с настройками по мне тоже не удобен и громосток. Его надо было бы в Options по стартовым титлам перекинуть. Ну и конечно быбор стандартных ВАДов в главном меню. Для меня важно одно правило: - В старом Думе весь текст должен быть в оригинальном мясном шрифте - это его козырь как я считаю. Сейчас, в новых играх, вообще не заморачиваются оригинальным шрифтом, что конечно не художественно и не интересно.
alekv:
Да причем тут монстры, ue4 и т.д. я тебе пишу о том что 3д сфера при таком раскладе визуально ну ничем вообще не отличается от 2д спрайта! Так смысл мучиться, если можно тупо отрендерить эту сферу в спрайт, может получиться даже лучше и + к производительности пусть и совсем мизерный!
Сейчас главное сделать фундамент, я уже говорил, прописать всё в Декорейте, моделдефе и.т.д., чтобы всё работало. А потом уже, можно делать полноценную Мегасферу в виде шара и болтающейся мордочкой внутри.
theleo_ua:
Проделай все эти манипуляции с моими PNG файлами заново
Там не скин я правил, а модель. Уменьшал модель первого кадра в анимации. Если ты не заметил, лицо - это отдельная модель, а не скин. Если лично тебе это нужно, то я могу переконвертить в md2 для тебя и кинуть. Могу в md3 кинуть. Хочу, чтобы ты объяснил, что сделал.
В таком случае, замени в том моде, что я тебе кинул, soulsphere.md2 на твою soulsphere.md3, в дефинициях поменяй soulsphere.md2 на soulsphere.md3 и отпиши о результате
Я слепой и проморгал эту цитату. Объясняю что я сделал:
1) Поменял твою md3 на оригинальную md2 (банальная проверка гипотезы "а что если проблема была из-за md3")
2) Взял оригинальные PCX файлы (из пака для думсдей что ты дал) и сконвертил их в PNG программой xnview, после чего переименовал по аналогии, как они были перименованы у тебя (и подредачил моделдеф дефиниции, поменяв там pcx на png)
Это скрипты вращения актора (сферы в нашем случае) к игроку а-ля спрайты, причем по обеим осям (ты это видел в ролике). На самом деле эти скрипты не были бы нужны если бы не недавний баг в гоззе c функцией facetarget.
Тобишь ранее, чтобы заставить модель следить за игроком как спрайт, я делал так:
Скрытый текст:
SOUL E 1 A_FaceTarget (для вращения только по горизонтали)
SOUL E 1 A_FaceTarget(0,0) (для вращения по горизонтали и вертикали)
Но в гоззе 2.2.0 перестало работать, так что приходится использовать ACS костыли
5) В моделдефе добавил INHERITACTORPITCH чтобы сфера не игнорировала мои скрипты вращения по вертикали
6) В декорейте поменял код на такой:
Скрытый текст:
ACTOR Soulsphere_Model : Soulsphere replaces Soulsphere {
а) Renderstyle Translucent и Alpha 0.5 дают модельке эффект прозрачности б) ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer") - это вызов моего скрипта, который вращает сферу к игроку в) такой скрипт надо вызывать каждый тик (ты его вызывал раз в 12 тиков, от этого твоя сфера и тормозила при вращении)
Перекинул свою модель, в md3 - всё работает. Отлично. Думаю над тем - нужна ли этой Мегасфере половинная прозрачность? Может поменьше? Так же интересует - зачем ты спрайтфреймы с залипанием сделал? ААААВВВВ - я про это. Выглядит так, как буд-то не хватает кадров для анимации, как это было в оригинальном спрайте. Нужно ли это?
Думаю над тем - нужна ли этой Мегасфере половинная прозрачность? Может поменьше?
в декорейт коде есть Alpha 0.5 замени 0.5 на любое значение от 0.0 (ничего не видно) до 1.0 (прозрачности нет)
aivar242:
Так же интересует - зачем ты спрайтфреймы с залипанием сделал? ААААВВВВ - я про это. Выглядит так, как буд-то не хватает кадров для анимации, как это было в оригинальном спрайте. Нужно ли это?
Cтоит ли заливать? Твой видос выше - то же самое что и у меня. Пусть смотрит.
Вопросики:
1. По поводу прозрачности... Как её применить, скажем только к одной модели из нескольких, для одного актора? Это возможно?
2. Тот скрипт в ACS, даёт ли он мне возможность, теперь применять всё это, для других сфер?
Так же есть мысли, по поводу не прозрачности блика. Возможно мой Фотошоп не правильно конвертнул в PNG, хотя я думаю, что дело тут в разности форматов, в одном акторе. У меня были два скина в PCX, и один в PNG. Возможно Гозза всё отрендерила под одну гребёнку, то есть для PCX.
Cтоит ли заливать? Твой видос выше - то же самое что и у меня. Пусть смотрит.
я про строку SOUL EFGHGF 1 Bright ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer") в которой нет повторяющихся фреймов
aivar242:
1. По поводу прозрачности... Как её применить, скажем только к одной модели из нескольких, для одного актора? Это возможно?
Разбить этого актора на 2 актора, где одному сделать Renderstyle Translucent, второму нет, после чего синхронизировать этих акторов, чтобы корректно работали (например когда игрок подберет предмет, чтобы исчезали оба актора, но игроку давалась только 1 копия предмета). Я так делал бутылки для еретика (стекло прозрачное, пробка и жидкость нет)
И кстати, этот способ дает еще один бонус: можно сделать, чтобы один из акторов следил за игроком, как спрайт, а другой нет (например морда внутри сферы следила за игроком, а сама сфера нет). Но для этого надо, чтобы модель шарика сферы была реально шариком, а не обрезанным куском как у тебя сейчас
aivar242:
2. Тот скрипт в ACS, даёт ли он мне возможность теперь применять всё это, для других сфер?
Да, дает. И кстати, я забыл одну вещь: возьми свою старую сферу (над которой смеялся alekv), и внимательно посмотри на плавность анимации (не поворота к игроку, а именно уменьшения/увеличения морды внутри сферы). Потом возьми то что у тебя есть сейчас (после того как ты применил все мои рекомендации), и тоже внимательно посмотри на плавность анимации. Если не устраивает (т.е. моя версия выглядит "рывками"), говори
я про строку SOUL EFGHGF 1 Bright ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer") в которой нет повторяющихся фреймов
Аа. Ну там просто дрибезжание какое-то. Скорость не реальная. Пришлось вернуть, а жаль. При обычных СпрайтФреймах, интерполяция происходит благодаря Гоззе и анимация получается плавной.
Да, ещё. Скин с бликом у Мегасферы имеет чёрный цвет - когда не прозрачен. Становясь прозрачным, этот чёрный цвет становится тёмно-прозрачным, тёмно-синим. Хотелось бы чтобы этот скин имел цвет задника этой сферы, то есть ярко-голубой. Но так наверно не выйдет, так как голубой скин с бликом будет не прозрачным? Или любой цвет может быть прозрачным? Поигрался с прозрачностью, пока 0,5 - это лучший вариант. Хотелось бы понепрозрачнее, но тогда задник за мордой темнеет, а не становится именно не прозрачным. Если ничего нельзя с этим сделать, то ладно и так очень хорошо.
Пришлось вернуть, а жаль. При обычных СпрайтФреймах, интерполяция происходит благодаря Гоззе и анимация получается плавной.
Я ж буквально сантиметром выше тебе сказал:
theleo_ua:
И кстати, я забыл одну вещь: возьми свою старую сферу (над которой смеялся alekv), и внимательно посмотри на плавность анимации (не поворота к игроку, а именно уменьшения/увеличения морды внутри сферы). Потом возьми то что у тебя есть сейчас (после того как ты применил все мои рекомендации), и тоже внимательно посмотри на плавность анимации. Если не устраивает (т.е. моя версия выглядит "рывками"), говори
Т.е. тебе нужна интерполяция? Можно заморочиться с ACS и сделать так, чтобы вот такая строка:
дала и интерполяцию, и адекватную скорость анимации, и отсутствие того эффекта, над которым смеялся alekv. Я, как руки дойдут (уже не сегодня), сделаю (там на самом деле все элементарно делается)
aivar242:
Или любой цвет может быть прозрачным?
любой
aivar242:
Да, ещё. Скин с бликом у Мегасферы имеет чёрный цвет - когда не прозрачен. Становясь прозрачным, этот чёрный цвет становится тёмно-прозрачным, тёмно-синим. Хотелось бы чтобы этот скин имел цвет задника этой сферы, то есть ярко-голубой. Но так наверно не выйдет, так как голубой скин с бликом будет не прозрачным? Или любой цвет может быть прозрачным? Поигрался с прозрачностью, пока 0,5 - это лучший вариант. Хотелось бы понепрозрачнее, но тогда задник за мордой темнеет, а не становится именно не прозрачным. Если ничего нельзя с этим сделать, то ладно и так очень хорошо.
не въехал в суть вопроса, лучше наделай скриншотов, и покажи там красным текстом и стрелочками, что не устраивает
И ответь на вопрос в чём принципиальная разница между сферой спрайтом и сферой сплющенной моделью, постоянно смотрящей на игрока.
Понимаю, что вопрос не мне, но тем не менее:
1) динамическое освещение по другому ляжет на модель (правда я без понятия, насколько это актуально для конкретно взятой соулсферы, а также конкретно для гздума)
2) я согласен, что в идеале ту сферу надо было моделить не обрезком, а полноценным шариком, и этот шарик не вращать к игроку как спрайт, чтобы был эффект объемности
3) нет проблемы "adjust sprite clipping"
4) Допустим твой спрайт нарисован в стиле "35 кадров в секунду". В таком случае плавность анимации (в результате интерполяций) конкретной модельки получается больше, чем "35 тиков в секунду" (в идеале столько, сколько у тебя сейчас фпс в игре), но опять же, неизвестно, насколько сильно это актуально конкретно для гоззы (я пока так и не знаю ответа на вопрос, умеет ли гозза интерполировать модели выше 35 фпс, например в 60фпс)
И здесь у моделлера (ну который решит спрайтом делать) возникнет вопрос: сколько кадров в секунду "рисовать" в спрайте?
З.Ы. Ни в коем случае не оправдываю модель сферы вместо спрайта
aivar242:
Ну там просто дрибезжание какое-то. Скорость не реальная. Пришлось вернуть, а жаль. При обычных СпрайтФреймах, интерполяция происходит благодаря Гоззе и анимация получается плавной.
theleo_ua:
Т.е. тебе нужна интерполяция? Можно заморочиться с ACS и сделать так, чтобы вот такая строка:
дала и интерполяцию, и адекватную скорость анимации, и отсутствие того эффекта, над которым смеялся alekv. Я, как руки дойдут (уже не сегодня), сделаю (там на самом деле все элементарно делается)
Обрати внимание на следующую строку: SOUL EFGHGF 6 Bright ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer", 6)
Как ты видишь, у нас она начинается с SOUL EFGHGF 6, т.е. по 6 тиков на фрейм, соответственно после ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer" у нас написано 6, что означает "выполнять наш скрипт 6 тиков"
Соответственно:
1) Если ты в будущем захочешь изменить количество тиков в анимации (например вместо SOUL EFGHGF 6 написать SOUL EFGHGF 3), то не забудь и после "FaceAngleAndPitchToPlayer" написать 3, т.е. полная строка (в случае 3 тиковой анимации) будет выглядеть вот так: SOUL EFGHGF 3 Bright ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer", 3)
2) Это актуально в том числе и для других сфер (и не только сфер), где ты будешь использовать этот скрипт
дала и интерполяцию, и адекватную скорость анимации, и отсутствие того эффекта, над которым смеялся alekv. Я, как руки дойдут (уже не сегодня), сделаю (там на самом деле все элементарно делается)
Вбил этот код в Декорейт, заместо (SOUL EEEEEEFFFFFFGGGGGGHHHHHHGGGGGGFFFFFF 1 Bright ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer") //A_FaceTarget(0,0) - его оказалось более чем достаточно. Всё работает очень плавно, точно по скорости. Скорость анимации регулируем числом тиков. В данном случае - 6. Чем меньше число, тем быстрее анимация. Как выглядит сфера Не могу только понять - мне показалось, или мордочка немного не успевает за моими движениями.
theleo_ua:
Или любой цвет может быть прозрачным?
любой
Это хорошо.
ZZYZX:
И ответь на вопрос в чём принципиальная разница между сферой спрайтом и сферой сплющенной моделью, постоянно смотрящей на игрока.
Во первых это модель, отчего уже подсознательно ощущаешь трёхмерность. Во вторых, мне интересно - у вас есть на примете художник, который смог бы нарисовать эту сферу в HD? Ещё и не раз, а 4-ре раза! Для анимации. Сомневаюсь что сам Адриан Кармак смог бы это сделать, потому что мне кажется что это рендер 3D модели, а не рисунок, как впрочем почти все его текстуры в Думе. Имхо. Та же мордочка внутри этой сферы, просто взятая с оригинального спрайта и добавлена резкость.
У меня странные вещи начали происходить с новыми секторами. Сделал несколько простых платформ. Монстры могут падать с них, и могут видеть сквозь них. Ну и если подойти вплотную, то получается такой эффект:
Вбил этот код в Декорейт, заместо (SOUL EEEEEEFFFFFFGGGGGGHHHHHHGGGGGGFFFFFF 1 Bright ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer") //A_FaceTarget(0,0) - его оказалось более чем достаточно. Всё работает очень плавно, точно по скорости. Скорость анимации регулируем числом тиков. В данном случае - 6. Чем меньше число, тем быстрее анимация. Как выглядит сфера
aivar242:
Не могу только понять - мне показалось, или мордочка немного не успевает за моими движениями.
Вторая цитата - результат первой. Теперь ты понял, почему вместо EFGHGF 6 (когда сфера не успевала за твоими движениями, что веселило alekv) я сначала сделал EEEEEEFFFFFF 1 (что убрало эффект тормозящего поворота сферы), а потом понял, что тебе важна интерполяция, и, соответственно надо делать вот так (тогда и повороты сферы не будут тормозить, и анимация увеличения/уменьшения морды будет плавной)
Если ты вместо такого просто сделаешь EFGHGF 6, то сфера не будет успевать за тобой вращаться
aivar242:
Не могу только понять - мне показалось, или мордочка немного не успевает за моими движениями.
гипотеза "показалось или нет" проверяется элементарно:
вместо EFGHGF 6 напиши EFGHGF 60, и побегай туда-сюда рядом со сферой
Потом возьми мой вариант, и в нем тоже увеличь количество тиков до 60: SOUL EFGHGF 60 Bright ACS_NamedExecuteWithResult("FaceAngleAndPitchToPlayer", 60) и тоже побегай туда-сюда рядом со сферой.
Тогда увидишь разницу
З.Ы. Кстати, такая проверка - еще один аргумент в пользу моделей: если модель замедлить в 10 раз, то анимация все равно будет плавной, а если спрайт, то нет (в случае если автор спрайта не ты естественно)
Добавлено спустя 21 час 29 минут 20 секунд:
ZZYZX:
И ответь на вопрос в чём принципиальная разница между сферой спрайтом и сферой сплющенной моделью, постоянно смотрящей на игрока.
Если ты вместо такого просто сделаешь EFGHGF 6, то сфера не будет успевать за тобой вращаться
Вообщем закинул твой последний скрипт, всё работает как надо, мордочка успевает за поворотами.
Вопрос: Если для одного актора имеется несколько подмоделей, из которых состоит модель (4 и больше), то Гозза при запуске выкидывает ошибку "Слишком много моделей для этого Актора" то что тогда делать в этом случае?
Если для одного актора имеется несколько подмоделей, из которых состоит модель (4 и больше), то Гозза при запуске выкидывает ошибку "Слишком много моделей для этого Актора" то что тогда делать в этом случае?
1) Если у тебя 4 сабмодели и гозза вылетет с ошибкой - такого не должно быть, надо смотреть мод.
2) Если больше чем 4, гозза такого не поддерживает. Вариант решения проблемы такой же, как и в случае с "стекло прозрачное, жидкость нет": надо делать 2 разных актора и синхронизировать их (я так делал с бутылками)