RU

(Полу)автоматическое преобразование текста в игру/фильм (анимацию)

vedaviz #595 27.06.2012 06:25 55 comments 31990 views

Такой вопрос для участников форума - нравится ли вам такая идея - программы, которая сама (или почти сама) будет преобразовывать текст в игру или фильм (анимацию, мультфильм).
http://sourceforge.net/projects/vedaviz/
здесь я выкладываю последние версии программы.
Сейчас в программе можно открыть текст, делать по нему поиск, добавлять ссылки для быстрого отыскания предложений во всем тексте, сопоставление с картинками из внетренней базы данных и добавление пользовательских картинок (из графических растровых файлов), и плюс - простая анимация. Анимация пока недоделана - для ее реализации нужно отображать смену кадров, причем по-разному для разных видов движений, и по-разному - для разных объектов/субъектов (ну или предметов, героев, существ проще говоря).

Главное, что самое интерсное должно быть в программе - она должна находить в предложениях существительные и глаголы (для этого нужен словарь таких слов + соответствующие графические модули, возможно в будущем в 3d анимации opengl/directx). Разобранное предложение можно представить потом в виде “шахматной нотации”. Объясню - есть такой файловый формат для шахмат - Portable Game Notation (PGN, не путать с картинками png - portable network graphics). И в программах которые его поддерживают можно такой файл открыть или записать. Если сыграть игру в шахматы, программа запишет историю всех ходов, и запишет это в файл. Потом можно опять открыть все такие игры (их уже есть в интернете дестяки тысяч даже за предыдущие столетия, за 15-й век в т ч например), и показать их пошагово. То есть получается такая вот анимация - программа считывает текст в шахматной нотации, но он потом преобразуется - буквенные обозначения соответствующих фигур шахмат преобразуются в комманды для этих фигур, и фигуры начиная со стартовой позиции каждый раз производят разные ходы, если открывать разные файлы. Вобщем, это одно дело - шахматы.
Другое дело - есть такая программка - spinnake Story Machine - в ней можно писать текст уже посложнее, использовать глаголы, существительные, артикли, числительные, даже местоимения. Потом слова преобразуются в картинки, а если указаны глаголы, то эти картинки анимируются, производится движение, то есть существа двигаются по экрану - получается анимация. Вобщем как в шахматах. Теперь если эту же идею посмотреть шире - получится, что если в программе будет не просто скажем так - 6 видов фигур (как в шахматах) и не 1,5-2 десятка существительных (как в стори машине), а если добавить несколько сотен (хотя бы) а то и тысяч картинок и существ - то будет уже намного интереснее. Например другая программа - http://drupal.widgit-online.com/node/add/pagesymbolbody - позволяет вводимый текст преобразовывать в картинки “на лету” (есть бесплатная версия на сайте - вобщем программа такая образовательная, и поскольку у меня программа также неприбыльная - я включил в нее также картинки из виджит). Виджит поддерживает уже не только картинки для существительных и картинки глаголо (жаль, они там вообще никак не анимируются и не дивгаются), но картинки для любых частей речи, однако - только это только более менее “детские” слова - сложный философский текст с больших количеством абстрактых слов будет неопознан. Однако неизвестные слова можно заменять синонимами или аналогичными картинками (в виджит можно для некоторых слов выбрать другую картинку из набора, но нельзя добавить свою, они все “прошиты” в программу что ограницивает возможности). Итак, Пока у меня такая идея - находить в тексте слова, которым соответствуют картинки в виджите, и для них показывать картинки на экране. Что-то подобное я уже сделал - картинки просто добавляются в случайном месте на экране. Есть аналогичная программа - называется scribblenauts - там также можно написать то или иное слово - и существо (или даже Бог если написать слово Бог, God) появляется на экране, и что-то происходит. Но в этой программе также можно писать только отдельно слова и словосочетания, но не целый большой текст или книгу.
И еще есть конечно же такие языки программирования как Элис или Скретч - для детей, но там можно визуально выбрать трехмерные (Alice) объекты, задать им движение и получится простая “игра” (скорее анимация). Но это также только часть моей идеи. Элис выигрывает за счет графики, но там нет также модуля чтения текстов.

А теперь о текстовых играх. Вобщем я даже попробовал сделать программу преобразования текста в игру - в текстовом виде… Получилось что-то вроде mind-map (диаграммы связей). Но понятно что часть информации теряется если нет соотвтетствия графического. Еще та же Алиса в стране чудес говорила - “книга без картинок - не интересная”. (И еще я помню есть такие системы обучения где любое даже сложное предложение можно выразить в “демо-наборе”, то есть вместо любого слова можно подставить какие-то объекты, бусть даже условные, но лучше конечно подставлять реальные соответствия что возможно в играх или фильмах, мультиках).

Вобщем такая идея. Похоже что она не нова - я поднял эту тему - мнея давали разные ссылки на похожие программы - например - http://www.xtranormal.com/ - также пишет что можно “Tell your story with any of these collections!” - выбирая из 1-2-х наперед заданных героев, и просто подставляя им текст который они говорят. Но эта программа имеет только “300xp” в бесплатной версии, что значит что за эти 300xp можно “купить” только простые преобразовалки текст-ролик. Да и ограниечние похоже только в том что они могут только говорить, только один-два персонажа, и никакого интерактива (да, фильм - так и написано “text to movie”). Вобщем я понимаю что есть подобные программы, и также что никто не заменит мышление. ПОэтому текстовые игры, и просто книги - это классика, без них не было бы ни фильмов, ни игр, ни мультиков (скорее всего, ведь даже сценарий надо вначале написать на бумаге текстово, не так ли?).

На в любой их таких программ я виже одно ограничение - или же уклом=н в сторону языка, или в сторону только графикиЮ, анимации или игры. Но так чтобы все это было связанно - нашел только в виджит. Собственно я вижу свою программку как что-то лучше чем виджит (или пусть как добавление анимации к виджит, и расширение его к виду 3d, + анализ словосочетаний существительное-глагол как в “шахматной натации”). Собственно вобщем-то кажется не такая сложная. Понтяно что есть готовые машинные переводчики - они разбирают досттаочно неплохо тексты, и даже переводят их с языка на язык. Но также факт - они не переводят все на 100%. Но анализ предложений делают. Для этого им помогают языки программирования Искуственного интеллекта вроде lisp/prolog. то же и с графикой - когда в игры добавляют ИИ для персонажей - чтобы ходить, что-то обходить, что-то делать. С другой стороны, не сложно просто сделать анимацию персонажей в 3d - для этого есть даже бесплатные программы вроде daz3d - из нее можно “перегнать” анимацию персонажа в другой фалйовый формат, а потом - в язык программирования и в opengl/directx (через разные конвертировщики графических форматов и анимации). Есть даже целый виртуальный мир - secondlife - где покупают и продают разные такие трехмерные объекты и модификации к ним (виды движений например). То есть понятно что это также может быть с одной стороны прибыльно для разработчиков, с другой - за это должен платить пользователь. Лично для себя я хотел бы такую программу бесплатно (и поскольку я такой не нашел - проще сделать свою). Сейчас она доступна бесплатно (но использует картинки из виджит, поэтому я не могу ее “расркутить” и продавать), и в ней доступны разные возможности из указанных мной программ, может быть в лучшем (или упрощенном виде - это касается конечно отсутствия трехмерной графики, сложной анимации, и пока нет разбора предложений).

Но чтобы продолжать все это делать я ищу людей которые в этом заинтересованы. Если это никому не нужно - то я не буду это делать для других (возмжно только для себя - чтобы читать текст с “авто-иллюстрациями”, по крайней комикс получается так точно - если только записывать всю “историю ходов” как в шахматах.) Сделать из этого мультик или фильм/игру - это только дело техники и умения/знания (ну и времени) - есть игровые движки, разные технологии которые могут расширить такую программу до чего-то более серьезного.

Если кому интетесно пишите. Я ни в коем случае не хочу быть “конкурентом” подобных программ или продуктов для создания игр или фильмов и т д. Есть даже мысль такая - могу все делать с открытыми исходными кодами, если кто-то к этому подключится и сможет делать какие-то части более качественно, так что в результате будет что-то хорошее… Ведь мне также иногда говорят что такое невозможно сделать за жизнь. Но я показываю своей программой - что это возможно. Но нужны единомышленники.

Отозвитесь все кому интересно (ну или все кто прочитал и кому не интересно также). Это нужно для статистики и для принятие решений - что дальше делать в этом проэкте (или не делать). По крайней мере чтобы не “изобретать велосипед” опять, не делать то что уже сделано. Я понимаю что те же текстовые игры - это прообраз современных графических игр. Раньше можно было вводить текстовые комманы - и видеть только текстовый результат. Теперь вывод всего - графический. Но у текстовых игр одно безусловное преимущество - не надо ограничивать себя в идеях, в технических средствах. Фактически можно очень просто создать любую текстовую игру за считанные минуты - нужен только текст и просто добавить интератив.

Но мне все-таки будущее игр видится в сочетании их с графикой. Ведь даже в QSP я вижу использование картинок.
(P.S. Вопрос к разработчикам QSP - а вам интересен такой модуль - добавления графики для многих других слов? добавление анимации? или вы считаете это ущербным для геймплея?)

Всем спасибо наперед.

Не проходите мимо - напишите что-нибудь

Воден:

Хотя как концепт механизма для поиска материала для иллюстраций каких-то фрагментов текста эта программа может взлететь.

Вот как раз такой модуль и предполагаю в новой версии программы. Пользователь открывает текст (файл), потом выделяет в нем нужную часть для визуализации (поскольку обработка всего текста может быть намного дольше), и текст передается в мастер преобразования в графику. В мастере пользователь выбирает имена персонажей и их реплики, а также действия, прежде всего - куда и кому переместиться - также исходя из логики текста предложений (скажем, сказок). Если один раз создана картинка, файл Microsoft Agent - ее/его можно использовать сколько угодно раз в любом аналогичном тексте.
Что я имею ввиду?
Смотрите мой сайт -
https://sites.google.com/site/fairytalesmagicplayer/
Можно видеть, что в программе открывается например сказка колобок. В программе уже есть персонажи - старик, старуха, колобок, заяц, медведь, волк, лиса… Пользователю всего лишь нужно выделить реплики персонажей, и сопоставить их с теми или иными говорящими лицами, персонажами (обычно кто говорит реплику, можно понять по тексту, хотя компьютеру это сделать сложнее).
Итого:
- Если в программе открыть сказку, в которой опять есть те же старик, старуха, эти же животные из колобка - они будут в программе отображаться и для другого текста сказки и т д. Получается - сложность только в том, что если для того или иного персонажа нет готового файла Microsoft Agent (он умеет воспроизводить под сотню анимаций - как в играх, в мультиках конечно сложнее, и важно - синтезировать речь) - его просто можно быстро создать пользователю -
- просто открыть редактор Microsoft Agent Character Editor, и в нем создать новую анимацию - добавив один кадр для персонажа - его можно быстро найти в гугл, тот же кто умеет рисовать - может нарисовать сам. Вобщем преимущество подхода в том, что не нужно создавать персонажа Microoft Agent опять, если он уже есть.
Недостаток в том, что MS AGent поддерживает только 256 цветов, и это двухмерная анимация. Сделать трехмерную анимацию все же можно - через тот же Unity3d + mixamo и т д. Но для пользователя это может быть сложнее и дольше.

UncleJunkie:

Поэтому основной объем работы ляжет на художника. В принципе, для начала можно создать базу изображений из скетчей-набросков.

А если художника нет, но картинки (слайд-шоу или спрайты) можно найти в интернет - то просто работа состоит в поиске картинок и добавлении их в Microsoft Agent + добавить голос, и прописать нового персонажа, скажем, в системном реестре - по такому-то пути - с указанием какие слова (существительные или словосочетания существительных ему соответствуют).
Потом программа будет просто использовать этого персонажа для найденых слов (по словарю), и для начала - отображать их на экране - когда они найдены в тексте. А в дальнейшем - показывать и анимацию, или хотя бы передвижение + синтезировать для персонажей речь - соответственно пользователь должен в мастере потвердить предположения программы - какие реплики и глаголы движения (например “колобок покотился”) соответствуют персонажам (их именам).
Вцелом я пока решил не трогать трехмерный вариант (Unity3d) - он конечно же интересный, разрешает крутить камеру и т д, но пока не скомпилировался даже первый бета-проэкт, я дальше не пойду. Тем более что персонажей добавлять в Unity3d вобщем-то сложнее - точно такая же разница как и между двухмерными мультиками или играми - и трехмерными. Двухмерные сделать намного легче.
Я пока решил проработать концепт в 2-мерном варианте, а уже что будет с трехмерной версией - посмотрим. Это, возможно дело времени - пока программа вроде Unity3d станет более простой и доступной, и увеличится кол-во бесплатных трехмерных анимаций существ. В двухмерном варианте пока делаю без анимации, но с большим кол-вом персонажей, чем в Unity3d, и для меня это интереснее, чем даже трехмерная графика - виден сразу результат, а в юнити - только простейшие анимации - человек идет, бежит, прыгает и т д… А как добавить других персонажей? Другие анимации? Конечно понятно, компьютеры появились только где-то в 60-70-х годах, и люди не успели сделать более продвинутых технологий, так что я наверное много хочу от современных технологий, ну да ладно. Будет идя для следующих поколений…

UncleJunkie:

Одно могу сказать наверняка: у такого проекта будет тем больше аудитории, чем менее сложным и громоздким будет ввод сценария, даже если на выходе получится не слишком интерактивное повествование, наподобие BombayTV http://www.grapheine.com/bombaytv/ и подобных проектов, где визуализация склеивается из целых видофрагментов, а текст пишется только в субтитрах.
Ну и конечно популярность будет впрямую зависеть от объема нарисованного контента - сцен, персонажей, предметов, эффектов и прочего

Я уже решил, что делать фильмы я врядли буду - вот что-то вроде мультиков-игр на MS Agent - это для меня вполне приемлимо.
Склеивать из видео-фрагментов… Да я думал, что можно просто брать скажем наборы gif-анимаций, и просто их вставлять в программу… Но при таком подходе, будет только по одной анимации для персонажа, и часто такие видеофрагменты из мультиков или фильм, или даже игр не очень. А вот если делать через игровой движок, или хотя бы через MS Agent - это интереснее…

По поводу ввода сценария… Да, например Обосмейся.ру сделали всего двух роботов. Конечно если я сделал персонажей только сказки колобок - то ограничения будут сказками в к-рых также есть эти персонажи… Почему я писал на текстовом форуме игр… Потому что я думал - что делать если для такого-то персонажа нет картинки…

Мои соображения по этому поводу… :
-Во первых. Я пытался сделать аналогичную программу в текстовом варианте… Она Просто представляет из себя программу в которой можно разместить на экране те или иные слова, словосочетания. Впринципе вариант работает очень быстро, и скорее подходит для поиска текста, чем для визуализации. Но я хотел эти слова, “текстовые метки” как-то соединять между собой как в “тучке тегов”, просто с добавлением картинок. Что-то подобное уже сделали widgit - просто для слов и их картинок можно также и создавать связи -
http://www.widgit.com/products/ideas/index.htm
Понятно что это - “карта памяти”, в которой скажем между существительными (скажем, Колобок и Волк) можно указать связь (нарисовать линию, вектор, с узлами на слове или картинке Колобок и Волк), а на этой линии - имя глагола, например - “покотился”. Если еще добавить стрелку, то есть добавить разницу между первым и вторым узлом, воспринимая первый и второй как координаты времени (как в физике - t1, t2) - получится уже что-то приближающее нас к раскадровке, и даже программе Spinnakers Story Machine. При помощи таймера я эту штуку уже проработал, хотя оказалось что легче такую анимацию перемещения легче сделать в MS Agent, - просто я как-то не догадался его использовать в своей программе раньше и не знал что это открытая технология - и похожа на игровые движки.

Однако программа на подобии Communicate: Ideas (Mind mapping with Symbols) больше похожа на простой mind-map, и в ней нет намека на автоматический анализ текста, как он делается в переводчиках на подобии Промт или Гугл переводчик.
(Что-то похожее придумали в ABYY Compreno для КиноЯзыка Базелевс - но без связи с картинками)…
(А как говорила Алиса в стране чудес - без картинок и разговоров - не интересно)… Хотя и головой думать никто не мешает.

Вобщем я понял что есть разница между анимацией (пре-виз)/мультиком, и фильмом. Фильмы пока отпадают. Что касается анимации - они также отличаются от мыслей в голове - именно для них создают эти Mind-map - карты или диаграммы связей.

Разумеется, быстрее идею придумать, чуть дольше ее сделать в виде карты памяти - с добавлением картинки или картинок, и связей между ними - например передвижения. Вобщем здесь надо считать и думать…
Я также общался с людьми, работающими в кино - мне сказали, что чем меньший бюджет фильма, тем он становится лучше. А хорошей экранизации вообще никогда не было за всю историю кино… ну может и так… тогда да - лучше просто все представлять в голове, а не на компьютере. Хотя на компьютере бывает интереснее…

Вета:

Не понимаю я, почему дебаты на форуме ТЕКСТОВЫХ игр…

на случай если я решу что мне не нужно делать этих персонажей (ведь я не художник), и если я решу ограничиться чем-то вроде карт памяти (mind map)… Хотя не факт. Просто смотрю на себя с двух сторон - когда я читаю текст - я представляю себе что-то в голове. Но когда я читаю тот же текст как программист или лингвист - то могу себе представить, как этот процесс можно формализировать как алгоритм - просто нужны картинки для MS Agent - и в текст быстро добавляется двухмерная иллюстрация персонажа, причем говорящего… Разве не интересно?
Я могу согласиться, конечно, что искусственный интеллект - не должен заменить человеческий… Хотя как то нам препод философии рассказывал что все таки иногда это можно сделать… Вот я и думаю как применить это на практике…

Ajenta:

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

Резюме - такая прога возможна, но имхо изначально дико ущербна. Так что проще и лучше автору находить картинки для своей игры самому, чем ею пользоваться.

что-то все же возможно. Разве нет баз картинок в интернет разных там существ? есть… их можно накачать и наделать много файлов ms agent - с синтезом речи… Для сказок - идеальный вариант…
О лингв разборе. Да, Базелевс Киноязык используют технологию ABBY Compreno. Они потратили 20 млн долларов на инвестиции… (Но они кинокомпания). Есть бесплатные переводчики - даже с открытым исходником - но пока до них руки не дошли… Что касается поиска картинки в базе… Я придумал сделать просто - в системный реестр вписываю нового персонажа - например сотню животных и прочих существ добавляю - их имена файлов, и каким словоформам они соответствуют. Получается несложно. Создается ветка реестра, в ней - главное слово - в изначальной форме. Значение по умолчанию - это имя файла ms agent. другие ключи - это слова для обозначения того слова в разных формах - например на разных языках или просто в разных падежах и т д - например колобок, колобка, колобку, и т д… Нужно просто в реестр загнать эти слова из какого-то словаря, но синтез парадигмы - это все сделать можно несложно (см Национальный корпус текстов - http://www.ruscorpora.ru/)
По поводу большого коллектива - ну, да, но я сам делаю картинки на MS Agent и нормально. Хотя да, продуктивность получается не сотни картинок или мс-агент файлов, а скажем там несколько штук в день (чтобы не напрягаться).

По поводу того что лучше самому находить картинки… могу согласиться в том смысле, что правда, мне могут быть интересны другие тексты, а пользователям другие - значит наши картинки не совпадают, будут разные базы данных картинок или персонажей ms agent. Но это именно то что делают кинокомпании или мультипликационные, или создатели игр - они берут один сценарий, и только по нему делают игру мульт или фильм… Вцелом подход правильный… Может даже качество получается выше… но я почему этим заинтересовался - чтобы хотя бы для ручного создания игр или мультов знал - где найти такую технологию… Ведь то что я делал раньше - просто рисование картинок на форме скажем через GDI+ DrawGraphics - это не так интересно… хотя хорошо, что так можно сделать хоть тысячу картинок за пару дней (как в widgit) - не нужно делать ms agent. Но ms agent может говорить - это интереснее, и важнее чем иметь много второстепенных картинок, особенно для реплик… Хотя визуализация в виде картинок даже прямой речи тоже интересно иногда, особенно если текст огромный, и автор говорит о многих других лицах, персонажах, и их действиях и т д…

Так что проще и лучше автору находить картинки для своей игры самому, чем ею пользоваться.

Что-то в этом есть… хотя как программист мне совсем не сложно сделать программу с использованием картинок… так что немного спорно…

HIman:

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

У нас дергают что угодно, даже платное (например как дергал пират Билл Гейтс - так и мы у него дергаем). Дело не в том что платно что нет… хотя это вопрос - зачем делать то, что не приносит денег?
Кстати, а мультики и двухмерные игры - это разве не серия сменяющихся кадров, картинок?

http://animopticum.com/activities/master-classes/make-flipbook/
Флипбук — это английское название известной, пожалуй, каждому с детства оптической игрушки — блокнота с рисунками на краях страниц. Быстро пролистывая блокнот, можно увидеть, как оживают картинки.
http://www.youtube.com/watch?v=g0f-B-7eB5E

http://ru.wikipedia.org/wiki/%D0%9A%D0%B8%D0%BD%D0%B5%D0%BE%D0%B3%D1%80%D0%B0%D1%84
Кине?ограф (Kineograph) — приспособление для создания анимированного изображения, состоящего из отдельных кадров, нанесённых на листы бумаги, сшитые в тетрадь. Зритель, перелистывая особым способом тетрадь, наблюдает эффект анимации. Кинеография является одной из форм мультипликации.
Название кинеограф запатентовано в 1868 году англичанином по имени Джон Бернс Линнет.


найти художника не легче… то есть вы хотите сказать, что то о чем я говорю это почти то же что работа иллюстратора, только каждый раз я предлагаю делать одни и те же иллюстрации для одного и того же текста или слова - в разных книгах? да, может это и не совсем правильно…
что касается задумки автора - я согласен… в каком-то смысле текст создается часто одновременно с картинками, но не всегда. Понимаете, есть невизуализированные тексты, и почему-то никто не хочет их визуализировать… вот я думаю как это сделать тогда вручную… мне даже интересно… неужели вы думаете это не интересно другим?

goraph:

Хорошая идея! Если картинки искать в интернетах автоматически, их большая часть будет носить ярко выраженный порнографический характер, что сделает сервис забавным и востребованным!

ну если вы только такие тексты и читаете что ж… я такие картинки в программу в любом случае включать не буду… не серьезно…
вы имеете ввиду сделать робота, к-рый будет автоматически с Гугл-Картинок выдавать картинки для программы?…
это насколько я знаю тем же Гугл запрещено (автоматизированные запросы считаются вирусом), и после многих быстрых запросов Гугл просит ввести код. Так что забудьте… Вручную надо искать… так качественнее…
Вообще-то… Если сделать немного абстрактно программу - например просто показывать скелетную анимацию, а не полностью персонажей со всеми их лицами, “скинами” - это тоже вариант… Он даже будет намного дешевле, но поскольку тогда будет много одинаковых или похожих “скелетов”, то нужно будет персонажей подписывать как-то (как в играх хотя бы) - чтобы не перепутать.

кстати то как это сделали обосмейся ру мне не нравится

Cheshire:

Чувааак, ты придумал крутую штуку! Давай назовём её… «Язык программирования»!

вы думаете что пользователю нужно самому учить язык программирования чтобы это программа у него работала?
нет, это точно не ЯП… Возможно язык скриптов или сценариев… Базелевс назвали это КиноЯзыком…
Но они все разрабатывают кажется на Unity3d/C++/C#… То что делаю я, например с версии 2009-го года - это просто программа в к-рой открывается текст пользователем, и он добавляет в нее картинки… Думаю можно сделать то же самое, но с персонажами Ms Agent… Хотя да это уже близко к программированию… хотя можно этих персонажей двигать, задавать им речь - без программирования… вот наверное это и нужно сделать… просто пусть пользователь открывает текст - сказку и т д - создает для нее вручную нескольких персонажей MS Agent, добавляет их в программу - и они будут говорить и двигаться…
хотя да, я думал как это сделать более приемлимым для пользователя… все равно должен быть какой-то промежуточный язык или набор комманд, которые не совсем сложные (как в языке программирования), и не совсем сложные (как в ествественном языке, например русском или английском)… Короче получается что нужно текст адаптировать - через мастер удалять ненужный текст, и писать текст в виде как это делают Базелевс -

ПЕРСОНАЖ
“Реплика”

Персонаж2 - к Персонажу1

ПЕРСОНАЖ2
“Реплика”

Персонаж1 - к Персонажу2


получился и правда киноязык…
и мне это интересно


Пример (пока без передвижений персонажей, но форматированный для синтеза речи):

Жил-был старик со старухою. Просит старик:

СТАРИК:
“Испеки, старуха, колобок.”

СТАРУХА:
“Из чего печь-то? Муки нету.”

СТАРИК:
“Э-эх , старуха! По коробу поскреби, по сусеку помети; авось муки и наберется.”

Взяла старуха крылышко, по коробу поскребла, по сусеку помела, и набралось муки пригоршни с две. Замесила на сметане, изжарила в масле и положила на окошечко постудить. Колобок полежал-полежал, да вдруг и покатился — с окна на лавку, с лавки на пол, по полу да к дверям, перепрыгнул через порог в сени, из сеней на крыльцо, с крыльца на двор, со двора за ворота, дальше и дальше. Катится колобок по дороге, а навстречу ему заяц:

ЗАЯЦ:
“Колобок, колобок! Я тебя съем!”

КОЛОБОК:
“Не ешь меня, косой зайчик! Я тебе песенку спою,— сказал колобок и запел: Я по скребён метен, на сметане мешон, Я в масле пряжон, на окошке стужон; Я от дедушки ушел, я от бабушки ушел, От тебя, зайца, не хитро уйти!”
И покатился себе дальше; только заяц его и видел! Катится колобок, а навстречу ему волк:

ВОЛК:
“Колобок, колобок! Я тебя съем!”

КОЛОБОК:
“Не ешь меня, серый волк! Я тебе песенку спою! Я по сусеку скребён, на сметане мешон, Я в масле пряжон, на окошке стужон; Я от дедушки ушел, я от бабушки ушел, Я от зайца ушел, От тебя, волка, не хитро уйти!”
И покатился себе дальше; только волк его и видел! Катится колобок, а навстречу ему медведь:

МЕДВЕДЬ:
“Колобок, колобок! Я тебя съем.”

КОЛОБОК:
“Где тебе, косолапому, съесть меня! Я по сусеку скребён, на сметане мешон, Я в масле пряжон, на окошке стужон; Я от дедушки ушел, я от бабушки ушел, Я от зайца ушел, я от волка ушел, От тебя, медведь, не хитро уйти!”

И опять укатился; только медведь его и видел! Катится, катится колобок, а навстречу ему лиса:

ЛИСА:
“Здравствуй, колобок! Какой ты хорошенький!”

А колобок запел:

КОЛОБОК:
“Я по сусеку скребён, на сметане мешон, Я в масле пряжон, на окошке стужон; Я от дедушки ушел, я от бабушки ушел, Я от зайца ушел, я от волка ушел, От медведя ушел, От тебя, лиса, и подавно уйду!”

ЛИСА:
“Какая славная песенка!”

ЛИСА:
“Но ведь я, колобок, стара стала, плохо слышу; сядь-ка на мою мордочку, да пропой еще разок погромче.”

Колобок вскочил лисе на мордочку и запел ту же песню. Лиса высунула свой язык и сказала:

ЛИСА:
“Спасибо, колобок! Славная песенка, еще бы послушала! Сядь-ка на мой язычок да пропой в последний разок,”

Колобок сдуру прыг ей на язык, а лиса - ам его! - и скушала.


пользователь вручную выбирает пару строчек -
персонаж + его реплику… также нужно убрать слова автора…
и выделенный текст добавляет в программу… потом программа может воспроизводить текст, синтезировать речь через того или иного персонажа…

я думаю - нужно ли делать отдельное текстовое окно для сценариев, или все делать в оригинальном тексте… хотя это уже все равно получится немного работа сценариста… точнее литературного редактора…

я хочу все же сделать возможность чтобы пользователь в тексте мог находить существительные + глаголы, сопоставлять их для передвижений (хотя бы)… Чтобы текст

И покатился себе дальше; только волк его и видел! Катится колобок, а навстречу ему медведь:

превращался через “Мастер преобразования текста в аудиовизуальный ряд”
в текст на подобии
“Колобок - к медведю”
или даже
“Колобок -> медведь”
(как в языках программирования… есть такая форма записи)

получится просто расширенный spinnakers story machine, с добавленными многими персонажами… возможно действия и можно убрать… оставить только перемещение и синтез речи…

Cheshire:

Чувааак, ты придумал крутую штуку! Давай назовём её… «Язык программирования»!

Получается как в шахматах -
http://unity3d.ru/distribution/viewtopic.php?f=105&t=9766&p=73363
Составляешь список из всех фигур(юнитов) на поле. У каждой фигуры есть список действий которые она может выполнять + условие для выполнения действия. Еще нужно знать какое начальное состояние доски - уровня, либо оно у тебя должно быть одинаковое заведомо известное. Алгоритм такой:
1. Восстанавливаешь на сцене начальное состояние(для шахмот все фигуры стоят на стартовых позициях).
2. Читаешь пару существительное-глагол из файла;
в Unity3d глагол считывается. Что касается существительных… пусть пользователь сам ищет в тексте те слова, для которых ему нужна картинка…
для сопоставления пары существительное+глагол просто использовать мастер, к-рый добавляет пару слов (существительное+глагол) - в комманды киноязыка. Можно использовать словарь существительных и глаголов. Или хотя бы разбить текст на слова, и пусть пользователь сам сопоставляет слова с частями речи… Главное, чтобы программа запоминала в базе -
или даже в системном реестре слова. Потом их можно искать автоматически в следующий раз… Ну или вместо реестра использовать что-то свое (нужно тогда морочиться с файлами)…
Через реестр сопоставлять существительное и глагол думаю можно…

3. Смотришь в списке сущностей есть ли у тебя такая фигура? да - пункт 4: нет - п.2;
если персонажа нет - создать. открыть ms agent character editor. потом добавить ссылку на файл персонажа в программу.

4. Есть ли в списке действий сущности такое действие? да - п.5: нет - п.2;
два действия - это
1 сказать
2 переместиться
другие действия - это на будущее…

5. Выполнены ли условия для действия? п.6: п.2;
6. Фигура выполняет действие;
получается как в spinnakers story machine, но с расширением словаря и картинок

7. Достигнут конец файла? конец программы: п.2;
ура

Aleks Versus Moderator 24.04.2013 15:33 (12 years ago)

Не обязательно адаптировать. Ты забываешь о Силе. То есть о парсере. Ты можешь написать такой парсер, который будет интерпретировать словосочетание: “Гуг сказал…” как команду, которая заставит модельку Гуга толкать речь. Теоретически, если очень постараться, можно написать парсер, который будет интерпретировать любой текст, как набор команд. И даже “Тучи надели нарядные платья золотистых и алых цветов.” будет воспроизводиться правильно. Вся сложность затеи в том, чтобы:
1) Написать соответствующий парсер. Он должен быть ОЧЕНЬ мощным.
2) Создать подробнейшую базу объектов и моделей действий над объектами. Даже в плане отыгрывания ролей моделями человеков - это весьма и весьма громоздкая и трудоёмкая задача.

Добавлено: пока я постил этот пост, ты накатал ещё страницу. Пора всё привести в умозрительный вид. Подвести черту так сказать. Что это должно быть, и что это будет?

Log in or Register to post comments.