так а ты как, прямо в НеоАксис программируешь? и с каким языком - Си, Бейсик или в чем??
C#
Цитата (VedaViz)
а что без Лицензии на НеоАксис можно сделать? или только демо и все?
Функционал тот, же, что и в коммерцеской версии. Ограничения: 1 - в верхнем правом углу лого движка. 2 - невозможность использовать произвольные меши для колизий. 3 - перед запуском необходимо показывать лого движка. 4 - только для некоммерции. Я купил лицензию, теперь у меня исходники редакторов, имплементации архивов, звука, физики и ещё некоторых вещей.
Цитата (VedaViz)
Undead, если я открою тебе исходник - тебе будет интересно?
Я только на C# пишу, а у тебя вроде там на бейсике. Да и я свой конструктор пишу на неоаксисе(ещё год работы примерно). Максимум, чем смогу помоч, так это с вопросами по движку. Вcем зла.
Я только на C# пишу, а у тебя вроде там на бейсике.
да вобщем разницы почти никакой - я могу и на Си перейти без особых проблем - я его когда-то учил надо только вспомнить. Сейчас думаю надо скорее сосредоточиться на Unity3d - я так понимаю он достаточно востребован "и совершенно случайно оказался по эту сторону миллиона долларов" (да и бесплатный этот Unity3d для Windows что очень хорошо - не PRO версия)... Тем более что некий советник Папы Римского по богословским вопросам мне лично сказал - "money is good for you, you have to be responsible" ("ты должен быть ответственным, деньги - хорошо для тебя") то теперь понятно откуда взять эти деньги - из того же Юнити3Д... Вобщем учим... Да, еще оказалось что можно в него конвертировать из других программ - из того же daz3d который я как-то скачал бесплатно (там даже есть для йоги какие-то асаны в daz3d/animate2)... Вобщем разберемся, все оказалось намного проще чем я думал - не нужно писать вручную какой-то графический движок на уровне OpenGL, DirtectX и т д, а достаточно просто на Си++(#) связать вместе ABBYY Compreno и Unity3d - и вот вам программа преобразования сценария фильма - в трехмерную анимацию... ну и оказывается что один из главных элементов в этой связке - это Unity3d Character Controller - который позволяет программировать действия этих трехмерных персонажей - вобщем-то это я и искал ... То есть есть готовые физические игровые движки и достаточно просто научиться ими пользоваться и можно делать что-то вроде игр или полезных программ - думаю получше даже чем Хромосапиенс на обосмейся ру (Парамаунт Камеди)... хотя оказалось что часть компьютерной лингвистики в вакансии вообще не фигурирует - нужно только знать Си (хотя вопрос зачем - скорее все дже для графики - вобщем-то так комп лингвисты мне и сказали - наверное вам ближе графика а не языки? ну не важно)...
Итак, сегодня нашел в интернет такую вот страничку - http://www.vbnet.ru/articles/showarticle.aspx?id=45 здесь - краткая но полезная информация - как работать с Microsoft Agent-ами... Что они умют делать? Да очень немало - они умеют говорить на разных языках - синтезировать речь, и кроме того можно вручную изменять персонажей, создавать новых... На сайте http://characters.narod.ru/index.htm есть порядка сотни персонажей - и я уже попробовал нескольких из них - они правда работают! Программировать их очень просто - нужно всего лишь несколько строчек кода - главное - в Вижуал Бейсике в списке элементов управления (кнопочек - в конструкторе формы и того что на ней) выбрать в контекстном меню - добавить - и на вкладке COM - выбрать галочку "microsoft Agent" после этого в списке элементов управления должна появиться некая "мордочка" и ее нужно перетянуть на форму... А потом - все относительно просто... Например при загрузке формы можно загрузить список персонажей в какой-то список (List, ListView, TreView и т д), и потом при выборе того или иного текста, персонажа - показывать соответствующий ему файл - эти файлы можно открывать так:
Все... Итого получаем такую же штуку как на обосмейся ру - но своими усилиями - единственное что нужно - создать свои персонажи Microsoft Agent, для них - свои виды движений - и запускать их когда выбран тот или иной глагол в тексте...
получается что можно так визуализировать любой текст - это правда, и это действительно совсем несложно!
внимательно почитайте http://www.vbnet.ru/articles/showarticle.aspx?id=45 и если у вас Visual Basic - то все должно получиться как и у меня...
единственное - можно потом (для лучшей графики) перенести то же самое на Unity3d - но это другая тема...
у персонажей Microsоft Agent есть какой-то стандартный набор - небольшой - движений, но если создать своего персонажа, то кол-во таких движений можно увеличить... Вобщем технически ограничений, оказывается - нет... (конечно это сработает только для Windows, но это все равно неплохо)
Добавлено (11.02.2013, 18:39) --------------------------------------------- http://3dyuriki.com/2010/10/17/endorphin-realistichnaya-3d-animaciya-lyudej-v-2-klika/ Endorphin реалистичная 3D-анимация людей в два клика
Наверное, каждому тридешнику хочется сделать какую-то масштабную сцену "мочилова". Сцену, где один "хороший" персонаж лупит десяток-другой "плохих". Возможно, что вы даже начали такое делать, но потом забросили, посчитав, что это очень сложная или вообще невыполнимая задача для одного человека.
Оказывается, есть такая программка, в которой все это (реалистичная анимация человекоподобных) делается играясь – Endorphin от NaturalMotion. Эта программа динамического синтеза движения использует революционный искусственный интеллект и методы биомеханики, с помощью которых она очень точно симулирует физическую работу человеческого тела и его поведение во внешней среде с внешними объектами.
http://www.naturalmotion.com/products/endorphin/ http://rutracker.org/forum/viewtopic.php?t=202527 Разработчик: NaturalMotion Ltd. Кряк : Присутствует
Основная особенность Endorphin — анимация персонажей на основе технологии DMS. Суть ее заключается в достаточно точной имитации нервно-мышечной системы человека, при этом процессор компьютера используется для имитации деятельности человеческого мозга. Понятно, что схема сильно упрощена, но даже несмотря на это движения моделек получаются крайне реалистичными. Добиться такого уровня естественности локомоции в Max или Maya практически невозможно.
http://myclone.wordpress.com/2011/10/26/endorphin-drops-price/ Endorphin drops price NaturalMotion has dropped the price of its pro game-motion software Endorphin 2.7 from a humungous $10,000 to “just” $999.
-------- http://www.okino.com/conv/imp_bvh.htm Biovision and Acclaim Importer
This import converter reads in motion capture data from the Biovision (BVH) and Acclaim (.amc and .asf) file formats. These file formats describe animated skeletons in terms of joints (Biovision), bones (Acclaim), hierarchy and angle constraints.
на этом сайте можно скачать бесплатные (ну и платные тоже) скрипты для "скелетной анимации" в разных форматах - для разных программ, в т ч Unity3d.
Добавлено (25.03.2013, 22:09) --------------------------------------------- Так... Я подумал, и решил выложить исходник части программы - пусть будет - на благо всех - и для развития открытого исходного кода... Учитывая что мне не очень хочется самому делать все в этой моей идее (просто руки не доходят) - пусть будет бесплатно... А там посмортим...
Итак, что нужно сделать.: В программе Unity3d создаем новый проэкт, и добавляем в него контроллер персонажа... Плюс - добавляем камеру - ее мы будем крутить мышкой чтобы смотреть что происходит на экране... К камере можно сразу добавить стандартный скрипт для камеры + мышки... Устанавливаем привязку к персонажу, и камера должна сама направляться на него (вобщем это несложно)...
А вот что касается контроллера персонажа... К нему нужно добавить стандартные анимации (они уже там должны быть по умолчанию, но мало ли ) - это такие анимации как "run", "walk", "idle", "jump"...
План программы простой - При запуске программы void Start () должен открыться диалог выбора файла.
пишем общие переменные - public string CURRENTLINE; public string INPUTFILE ;
а для запуска будет такой код -
void Start () { INPUTFILE = EditorUtility.OpenFilePanel("Choose text file (will be converted to 3d animation)","C:\\","txt" ); }
Всего одна строчка... Она будет открывать диалог выбора файла (пусть это будет пока стандартный txt файл), и помещает название файла в переменную INPUTFILE
далее..
для того чтобы была у нас возможность дебаггинга - сделаем "процедуру" void OnGUI() она будет обновлять экран, и на нем будет показывать текст, кнопки, ну и разумеется - вывод в трехмерное изображение, в трехмерную анимацию преобразованного текста...
(хотя вобщем-то в будущем можно переделать как-то но это потом)
Добавим кнопочку - на случай если мы поменяем входной файл -
if (GUILayout.Button("Convert text into 3d animation")) { INPUTFILE = EditorUtility.OpenFilePanel("Please, choose a text file","C:\\","txt" ); }
Так, будет вверху экрана кнопочка, которой можно будет вызвать диалог выбора файла, и соответственно будет обрабатываться уже он, текст с него, а не старый файл...
далее, "декларируем" "трансформера", назовем его "аватар" (хотя моэно назвать его как угодно, но пусть будет, тем более слово хорошее =-)) )
UnityEngine.Transform AVATAR;
AVATAR=GetComponent(typeof(UnityEngine.Transform)) as UnityEngine.Transform ;
устанавливаем настройки для анимации (хотя думаю это не обязательно но пусть будет) AVATAR.animation["idle"].wrapMode = WrapMode.Once; AVATAR.animation["jump_pose"].wrapMode = WrapMode.Once; AVATAR.animation["walk"].wrapMode = WrapMode.Once; AVATAR.animation["run"].wrapMode = WrapMode.Once;
теперь - читаем файл -
System.IO.StreamReader LINEREADER = new System.IO.StreamReader(INPUTFILE);
этот LINEREADER использует INPUTFILE - именно с файла под переменной INPUTFILE будем считывать текст... ну а потом =-) - потом будем его преобразовывать в графику, анимацию в unity3d - на современном уровне...
для этого делаем цикл - для считывания строки - одной за другой... это можно сделать по-разному, но вобщем-то поскольку это сделано в Си - всеравно будет быстрее чем я делал в Бейсике (да, я понял что Бейсик и правда детская программа, ну да ладно, зато он мне помог прийти к LISP, а потом и к BOO в Unity3d, так что нечего бояться Си... Он мне даже начинает нравиться =-)) потому что в нем можно много чего интересного запрограммировать, и даже не нужно влазить в тех детали вроде OpenGL, DirectX - это меня конечно же радует =-)) Хотя если бі пришили в Unity3d что-то вроде LISP - было бы правда интереснее, ну да ладно...)
Итак,
while ((CURRENTLINE = LINEREADER.ReadLine()) != null) {}
будем читать построчно текст, пока не получим пустую строку, конец файла...
string s = CURRENTLINE; //здесь будет сложный текст... Впринципе, если разделитель - это знак абзаца, то считывать будем по абзацам... Хотя все зависит от файла... Если разделить предложения по предложениям - то есть разделителями предложений будут знаки абзаца, то CURRENTLINE - это будет предложение... Иначе - придется еще делить абзац на предложения... Хотя вобщем-то я думаю ABBYY Compreno уже что-то подобное сделали, так что я не буду в это здесь вникать... Обойдемся простым лингвистическим алгоритмом... Лингв анализатор должен определить в тексте CURRENTLINE слова по частям речи, разделить предложение на слова, найти для них теги частей речи и прочей лингв информации, но что для нас важно - это именно сочетание глагол + существительное, точнее - -- существитеьлное одушевленное, человек (или двуногое, хотя можно будет потом с mixamo Взять и четырехногих зверушек но это потом), + его действие - например "человек идет"... Анимация должна быть в character controller... Ну, где набрать столько разных анимаций - это другой вопрос... Но вобщем, для большинства текстов я думаю много анимации не нужно, стандартных движений как в играх - будет достаточно, а значит соответствующие анимации можно найти даже бесплатно ....
для простоты можно сделать 4 файла, в каждом из них - одно слово - это "Run", "walk", "jump", "is" и т д - на любом языке, в любых грамматических формах, а также их синонимы...
соответственно в таком случае, в CURRENTLINE окажется только один глагол, а применять мы его будем - ествественно - к character controller (3rd person)...
для дебаггинга можно это слово показать на экране - GUILayout.Label(CURRENTLINE);
теперь, внутри одного цикла, делаем еще один -
string[] words = s.Split(' '); foreach (string word in words) { }
s - это еще одна переменная (так требуют правила языка, ну и пусть), вот ее содержимое мы делим на слова, и проверяем каждое слово...
как я уже сказал, у нас будет простой случай - одно слово глагол в файле, хотя можно открыть любой файл с многими глаголами (такими же) - и все равно будет работать, но если они относятся к другим персонажам - то не будет работать... впринципе, нужно сделать так чтобы все эти персонажи подгружались во время работы программы ... в прочтейшем случае можно просто "клонировать " одного и того человека, то есть контроллера персонажа (character controller), главное только потом в них не запутаться - им всем нужно присвоить имена - как в spinnakers story machine... для этого достаточно чтобы в словаре был список личных имен (тогда все будет автоматически) (или добавлять имена вручную в режиме обучения - тчо тоже нормально если текст большой на сотни страниц, - то найти только персонажей пусть даже в полу автоматическом режиме - все равно это нормально)...
вобщем это потом...
а теперь самая интересная часть - вывод анимации - зависимо от слова -
это просто набор проверок в цикле ---
if (word == "goes") { AVATAR.animation.Play("walk",PlayMode.StopSameLayer);
PlayMode также можно выбрать любой, это не так важно сейчас, но вообще-то, это потом будет важно, когда мы будем создавать последовательность движений, анимаций для одного персонажа... тогда будут "накладки" одной анимации на другую, и нужно все это обрабатывать...
всего одна комманда - как в Microsoft agent - и наш персонаж уже передвигается, "ходит" (правда на месте, но идет - переставляет ноги)...
ну и добавим альтернативы - ведь в файле могут быть другие слова, другие глаголы... вообще-то в языке их тысячи, это понятно, но для каждого глагола есть свой набор синонимов, и те глаголы которые касаются движения человека - их можно ввести в программу...
else if (word == "run") { AVATAR.animation.Play("run",PlayMode.StopSameLayer); }
это бег
else if (word == "went") { AVATAR.animation.Play("walk",PlayMode.StopSameLayer);//,targetMovementWeight , 0.5f); }
это та же ходьюа, но в прошедшем времени... короче нужно просто взять список слов из словаря - и просто их сюда вставить... можно использовать массивчик, разумеется...
ну, еще... если же это будет не глагол, а существительное,... то
например если это слово - дерево... то нужно это дерево подгрузить автоматически...
else if (word == "tree") { GUILayout.Label ("Loading tree..."); }
И сюда же в скобки нужно вставить что-то вроде такого - для подгрузки дерева во время работы программы -
object tree = Resources.Load("c:\\VedaViz3d\\Resources\\tree" );
путь разумеется может быть любой... нужна библиотека трехмерных объектов, и нужно их подгружать во время работы программы...
разумеется, если в программе, то есть в ее базе данных будет сто или тысяча существительных, то для каждого нужно будет загружать подобный скрипт ---
для того чтобы дело упростить можно будет ввести проверку - есть ли такой объект или нет, и если да - то нужно будет его подгружать, ну а если нет... тогда можно обойтиьс чем-то вроде стандартного обхекта типа куба или шарика - это будет заменителем любого неизвестного существительного (или как это в саентологии - непонятого слова... а если вдруг оно станет понятно - его можно будет заменить на объект...)
вот собственно и все... те кто хоть немного знает программирование разберется в том что я написал...
аналогично можно добавить другие глаголы движения типа "пришел", "ушел", "пошел", "пойдет", ушла", "пошли" и т д и т п...
if (CURRENTLINE == "walk") { AVATAR.animation.Play("walk",PlayMode.StopSameLayer); }
else if (CURRENTLINE == "idle") { AVATAR.animation.Play("idle",PlayMode.StopSameLayer);//,targetMovementWeight , 0.5f); }
вместо idle могут быть слово "is" (есть, существует, находится и т д ...)
else if (CURRENTLINE == "jump") { AVATAR.animation.Play("jump_pose",PlayMode.StopSameLayer); }
а это прыжок...
итого... все сводится только к тому, чтобы перечислить список слов, и добавить к ним анимацию или объекты... а объекты нужно взять из какой-то общей библиотеки...
Закрытие GSC и смерть Гуфа совсем свели с ума топикстартера? Что за лютый бред на километры текста. Риторический вопрос, ответа не требуется.
Как говорил Нильс Бор - "ваша ижея конечно безумна, но вопрос в том - насколько - чтобы оказаться верной"...
АФОРИЗМЫ О БЕЗУМИИ *** Не было еще ни одного великого ума без примеси безумия. Аристотель
У всякого безумия есть своя логика. У. Шекспир
Всякий глупец найдет еще большего глупца, который станет им восторгаться. Н. Буало
Глупец думает, что он действительно умен, а мудрец знает, что он глуп. У. Шекспир
Мир полон безумцев; если не хочешь на них смотреть, запрись у себя дома и разбей зеркало. Французская пословица
http://ru.wikiquote.org/wiki/Безумие
Где глупость — образец, там разум — безумие. (Иоганн Вольфганг Гёте)
Есть своя радость в безумии, только безумцам ведомая. (Джон Драйден)
Между гением и безумным то сходство, что оба живут совершенно в другом мире, чем все остальные люди. (Артур Шопенгауэр)
Может ли совершенно здоровый человек жить в этом мире и не рехнуться?[1] (Урсула Ле Гуин)
Не можешь быть истинно мудрым, если не покажешься безумным в глазах мира. (Тертуллиан)
По временам я слышу, как безумие воет у меня в мозгу. Мысли мои – словно призраки: они танцуют предо мной, и я не могу их схватить. (Оноре Бальзак)
http://ru.wikiquote.org/wiki/Логика Глупость обычно бывает логична.[1] (Хуго Штейнхаус) Если логика говорит вам, что жизнь — пустая случайность, пошлите к чёрту не жизнь, а логику.[1] (Шайра Милгром) Если окажется, что наша логика неверна, все науки станут поэзией.[1] (Станислав Ежи Лец)
Логика лишь одобряет достижения интуиции. (Жак Адамар)
это так, я же не говорю что нужно вместо мозга поставить мою программу... =-)
"и не сообразуйтесь с веком сим, но преобразуйтесь обновлением ума вашего, чтобы вам познавать, что есть воля Божия, благая, угодная и совершенная." (К Римлянам 12:2)
VedaViz, может ты успокоишься уже?! Вряд ли кто-нибудь будет читать этот бред. Если ты хочешь делать какой-то проект, то делай... как доделаешь, покажешь, если захочешь. Зачем писать тонны пустого текста?!
//This is Unity3d program using UnityEditor; using UnityEngine; using System.Collections; using System.IO; using System;
//Global variables, functions etc public class Text_to_3d_Animation : MonoBehaviour { public string CURRENTLINE; public string INPUTFILE ;//="C:\\";
// Start text-to-3d-anim void Start () { { INPUTFILE = EditorUtility.OpenFilePanel("Choose text file (will be converted to 3d animation)","C:\\","txt" ); } Debug.Log("bla", gameObject) ;
}
void OnGUI() {
if (GUILayout.Button("Convert text into 3d animation")) { // GUILayout.Label ("KRISHNA!"); INPUTFILE = EditorUtility.OpenFilePanel("Please, choose a text file","C:\\","txt" );
}
UnityEngine.Transform AVATAR;
AVATAR=GetComponent(typeof(UnityEngine.Transform)) as UnityEngine.Transform ;
string s = CURRENTLINE;//"Krishna goes to Arjuna";
GUILayout.Label(CURRENTLINE);//word);
// // Split string on spaces. // ... This will separate all the words. // string[] words = s.Split(' '); foreach (string word in words) { //Console.WriteLine(word); // GUILayout.Label(word); // GUILayout.Label( word);
if (word == "goes") { AVATAR.animation.Play("walk",PlayMode.StopSameLayer);//,targetMovementWeight , 0.5f);
if (GUILayout.Button("Convert text to 3d-animation")) { // GUILayout.Label ("KRISHNA!"); INPUTFILE = UnityEditor.EditorUtility.OpenFilePanel("Choose text (*.txt) file to be converted to 3d-animation","C:\\","txt" );
}
}
// Update is called once per frame void Update () {
А у тебя хватит стартового капитала на требуемое количество LSD?
да вот вроде уже есть... =-) http://community.sk.ru/net/1100003/b/news/archive/2012/08/17/skolkovo-bazelevs-kremnievaya-dolina-2011.aspx Соинвестиции 153.3 млн.руб. Грант получен Презентация проекта "Киноязык" компании "Базелевс инновации"
VedaViz, Это нормально, что все считают, что ты немного того? Кстати, ты делаешь свой ведавиз? В смысле программу? Тогда выложи демку, или хоя-бы видео...
вот исходник для Unity3d. Файл назвать Text_to_3d_Animation поскольку не компилируется - демку выложить не могу (какие-то ошибки, но анимация запускается в Unity3d)
VedaViz, Я только-что из любопытства прочитал весь этот бред) Во первых нафига тебе лисп, если твоя цель и так сложная? Почему-бы не чистый Си или С++? Во вторых про религию просто забудь, хватит её тут навязывать, да еще и таким сумбурным образом, просто пиши что тебе надо и тебе ответят, почему нельзя быть короче? Понимаешь нам твое состояние души до лампочки. В третьих это тебе решать для чего ты хочешь написать свою программу и как, главное начать.
lisp возможно уже не нужен... остановлюсь на unity3d + те языки программирования, к-рые для него - С++, C#, Boo...
Но раз он столько протянул без бана, значит его автором или как минимум "хозином" является кто-то из администрации.
да, кришнаиты все из "администрации" (на самом деле я никакого отношения к админам gcup не имею, а то что меня не забанили - им отдельное спасибо =-))) )... кришнаиты администруруют все вселенные - и духовные и материальные... но это все "совершенно секретно"... так что я оставляю свою религию при себе а вы как хотите
VedaViz, бери пример с того, кто у тебя в предпоследнем посте. Краткость - сестра таланта. И да, размести где-нибудь открытую демку. Я же не вечно буду инфу сливать...
я понял... все здесь люди серьезные ... ну хорошо... впринципе могу довести до ума версию с майкрософт агентом - который синтезирует речь... но пока все равно надо решить куда дальше двигаться с этой идеей... много есть разных возможностей, время же - ограниченно...
VedaViz, ты вот столько сейчас пишешь, пока людям любопытно они прочитывают то что ты тут нам на уши льешь, но ведь для многих ты показался просто полным графоманом, который только и может лить на уши) Кто пойдет тебе помогать, если ты не можешь изложить свою мысль коротко, это в скайпе ты потом можешь лить на уши сколько хочешь или через микрофон, а тут, если то что ты пишешь не интересная книга это ни кому не надо, в итоге ты так и не соберешь нужную тебе аудиторию.
да я понял что уже прийдется пойти работать в базелевс инновации в Киноязык, а собирать свою комманду и быть руководителем значит - не для меня... хотя тоже с Киноязыком не все так просто... конечно же, обосмейся.ру - прикольно, но...
А игры какого уровня может создавать эта программа?
нет, игры она создавать не будет... думаю можно просто сделать управление с клавиатуры камерой - для ее перемещения, увеличения-удаления и т д... а так просто программа будет в движке unity3d показывать те или иные предложения - визуально...
tvmerd, согласен. Программа ТАКОГО уровня будет работать (если будет полноценная версия) где-то через 20 лет. ЖДИТЕ!
нет, 20 лет это слишком много для меня... в 2012+20-м году... в 2032 году... нет, мне уже тогда будет лет под 50, и я явно имею более важные планы в жизни - разорвать цепь повторяющихся рождений и смертей (реинкарнации) и выйти из круга самсары...
думаю конечно поехать в Базелевс Иннровации - по поводу их вакансии Киноязык... Но поскольку там нужно глубокое знание Си - это некое ограничение... Хотя вобщем-то я могу разобрать именно с той частью Си к-рая нужна для Unity3d... Тем более что я понимаю зачем это нужно - чтобы программа была более менее "конкурентной"... Вижуал Бейсик я уже несколько раз сносил с компа - действительно "хлам"...
что все же касается полноценной версии... понятно что можно сделать одну версию а потом улучшать ее и улучшать... я иду в этом направлении - от Visual-Basic c его GDI+ (и даже попытками с OpenGL/DirectX) - к Unity3d/C++/C# (Java мне не очень, Boo - неплохо, но малодокументирован)...
Вобщем-то я понимаю что могу сделать все что хочу в том же Юнити, разве кроме синтеза речи как в Microsoft agent, хотя синтез речи не входил в мою идею первоначально... Как то не учел эту деталь... Если кто то что-то говорит - то просто можно показать произносимый текст, не обязательно читать его вслух агентом...
Походу все скатывается к простому квестовому редактору. Больно уж сценарии похожи на программный код, сплошная конкретика, команды и string. Перечисление персонажей, подготовка болванок. А если сценарий написан конкретно в рамках возможностей программы, вообще лажа. Все это уже было. По художественному произведению хотелось бы. Ну хоть колобка, ы.
в каком-то смысле мне правда было интересно как делаются игры, как они пишутся - узнать это изнутри и программировать их... но дело не только в том что мне интересна игра... игры мне как раз не особо интересны - я уже говорил кажется не раз... но интересно именно то что можно сделать на игровых движках...
да по поводу колобка - я уже думал как-то сделать что-то типа сказки .... идея была такая - нужно просто выбрать главных действующих лиц... загрузить для них каких-то стандартных персонажей unity3d (программно нажеюсь это возможно)...
но даже в колобке первая проблема - нужно как-то формализировать, адаптировать текст - и преобразовать его в сценарий... вот именно эту часть нужно и как-то автоматизировать... но или чтобы хотя бы были инструменты что все это сделать максимально быстро - поиск в тексте всех персонажей и всех их действий... (для этого должен быть алгоритм вроде того что в ПРОМТ)... да по поводу профессионалов... я уже подумываю как с ними связаться...
по поводу колобка... ну опять таки - это же дело как и при создании фильма - нужно иметь интерес чтобы его снять - должен быть коллектив заинтересованных людей, и тогда можно поставить всю сценку о колобке... мне лично не очень интересно искать персонажей в инете вроде колобка, хотя разных зверушек вобщем-то можно включить в программу и чтобы они умели ходить и говорить... но тоже - где из взять ?? если они будут как в microsoft agent - Это просто... нужно только создать кучу файлов в формате *.acs - можно даже без анимации (взять картинки где-то этих зверей, колобка и т д) - и они будут что-то говорить через синтезатор речи... сделать в unity3d в 3d будет сложнее - нужно не просто где-то взять трехмерных зверушек, но и анимации для них - хотя бы ходьбу... но вобщем есть одна зверушка - собака - на mixamo.com... хотел кстати ее тоже подключить в unity3d... а как быть с другими животными?
вобщем это дело не для одного человека - уже становится понятно очень четко...
впринципе можно сделать некие ограничения, рамки - что нужно текст писать в каком-то определенном формате. действительно, так как это сделали в Хромосапиенс... ПЕРСОНАЖ "реплика" Действие1 персонажа... и т д
получится просто скрипт... но приближенный к человеческому языку... и что самое странное в каком-то смысле - такая программа не намного ушла от своего "родителя" spinnakers story machine... разница только в том что это - трехмерная графика, и персонажи говорят... вот и все... и плюс больше разных анимаций...
ну и еще что первое бросается в глаза - это то что нужно обрабатывать местоимения - чтобы слова указывали правильно на тех или иных персонажей...
мне на самом деле интереснее делать vedaviz именно чтобы визуализировать Веды (Бхагавад Гиту, Шримад Бхагаватам, Чайтанья Чаритамриту например, книги Прабхупады...)... Ну и разумеется, если так - то мне не очень интересно включать в программу колобков... хотя даже если говорить конкретно о моей идее vedaviz - то даже для того чтобы найти персонажей для Вед - нужно посидеть в интернете и поискать хотя бы картники персонажей - повырезать их, поредактировать, вставить в Microsoft Agent character editor... а эту часть невозможно заменить никем и ничем... или - придется делать все абстрактно.... вместо любого человека - показывать абстрактного одного и того же человека... ну для интереса можно им немножко разные скины генерировать - тогда да - это вобщем можно... я как-то так себе это представлял... потому что буквально находить всем фотографии или изображения лиц - потом переводить их все в трехмерные лица - это очень большой кусок работы даже если желать все вручную... автоматом это делать очень сложно и даже невозможно в наше время...
короче... если подумать что такая программа в таком случае будет визуализировать тексты таким образом что для тех или иных людей будут показываться всегда одинаковые абстрактные персонажи - например такие - http://assets0.content.mixamo.com/malebasemesh.gif (http://www.mixamo.com/c/3d-characters/free) то это в каком то смысле решение проблемы...
что касается зверушек из колобка... ну... можно ограничиться также одним "абстрактным животным" типа собаки ли коня или кошки - http://www.mixamo.com/c/3d-characters/animals хотя конечно же... это будет ужасно =-(...
ну короче, если в колобке говорится о животных - -заец -волк -медведь -лисица
+люди - -дед -баба
+колобок
то если в программу добавить "абстрактное животное" - и подставлять его вместо зайца и медведя и лисицы - то получится уже не колобок, а непонятно что... хотя можно заменить волка собакой и впринципе будет не так уд плохо... зотя конечно не то... в этом смысле улчше уж сделать в двухмерной графике - как в виджит - widgit - и просто показать реальные картинки животных... (с чего я и начинал свою программу)...
так что хотя в unity3d больше возможностей - но и больше тредбований к реалистичности.... хотя... можно перевести любые двухмерные картинки животных в unity3d - и это также будет неплохо... зато реалистично... =-)
тогда... программа получится частично в 3d, частично - в 2d (бывают такие знаю)... впринципе можно сделать в unity3d абстрактный плоский объект (паралелепипед), и натягивать на него текстуру - то есть картинку - того или иного животного - если не найден тр< * Откапывая ошибки, теряют время, которое употребили бы, быть может, на открытие истин. (Вольтер)
Добрый день! С интересом прочитал Ваш проект!!! Зайдите на наш проект "Экскалибур" - это система для создания Искусственного Интеллекта типа "Исполнитель" (Исполнитель - не только игрушка, но ... и реальный усилитель человеческого разума... Ну ... так планируется ) http://owalon.com/node/408 (в конце проекта всегда можно скачать самую свежую версию IDE "Экскалибур") ВНИМАНИЕ!!! Интерпретатор мощного Лиспо-подобного языка (Пролог, Пленер + Лисп) как и у Вас полностью написан на Vb.Net
Нам очень нужна встроенная система визуализации 3D образов, поскольку База Знаний и мышление (Сцена) у Исполнителя пространственно-схематическое. Мы пытаемся сами разработать 3D движок упрощенного схемотического типа, - что-то вроде АвтоКад + Конструктор "Лего" (чтобы ИИ мог из частей динамически собирать Образы). Давайте вместе работать.
Внимание: Наш скриптовый ИИ-движок хоть и медленный но РЕАЛЬНО многозадачный на уровне Языка ИИ и каждой задаче можно выделять не только ресурс но и СКОРОСТЬ работы, и многое другое. Задачи обмениваются сообщениями... Имеется встроенная в Язык ИИ (уже начиненная) пополняемая глобальная база знаний о Мире ( о животных, людях, строениях, транспорте, физике, космосе - более 500 понятий) На "Экскалибуре" можно создавать сложные сценарии для игр и для Агентов. Предлагаю объединить усилия в рамках общего проекта.
Писать: Nezlobiya@gmail.com
Добавлено (07.04.2013, 05:26) --------------------------------------------- VedaViz ...ваши планы по ... продлению жизни и т.п. В проекте "Экскалибур-2012" участвуют ГЕНЕТИКИ и специалисты ИИ. У нас есть серьезные планы по применению Усилителя Интеллекта (Исполнителя) для решения реальных (не игровых) задач... Но это отдельный и сложный разговор... Сначала нужно понять философию объясняющую почему мы на Земле живем в таком ... ХХХХ Есть четкая схема что, как и для чего нужно делать, причем без всякой религии и мистики... Если очень коротко: Возможности инструментального мышления мозга давно исчерпаны. Мозг эволюционировал в естественной среде сотни тысяч лет, а техногенная среда развивается слишком быстро. Проблема Землян в том, что они создав техногенную среду НЕ ИЗМЕНИЛИ СОБСТВЕННОГО МЫШЛЕНИЯ (среду инструментов - палка, молоток, станок, научный исследовательский институт - это инструменты) . Мы дикари получившие вместо дубин пушки и ракеты, вместо мускул машины, и вместо костра реакторы и электростанции. Но от этого наше мышление не изменилось. Поэтому с ростом сложности инструментов (технологий) все меньшее число людей понимает их логику (логику наук), а новые открытия приходится делать ценою огромных коллективов и материальных затрат... Это плата за интенсивный путь развития. Но он уже завел нас в тупик. Войны и угроза глобальной катастрофы - это следствие очень низкого уровня осознания людьми СУТИ и Законов Действия созданной ими техногенной среды... Проект "Экскалибур" (Подыми меч разума! )предлагает иной путь - путь Экстенсивного развития: когда с помощью Исполнителей (по Овалитянскому типу - это фантастика которая тоже есть на том сайте) люди смогут мыслить не СЛОЖНЫМИ ФОРМУЛАМИ НАУКИ И ТЕХНИКИ, А ПОНЯТНЫМИ И КОМПАКТНЫМИ образами техногенной среды. Это увеличит в тысячи раз криативные и сознательные возможности обычного человека, а возможности ученых и Изобретателей возрастут в неисчислимое количество раз... Читайте и присоединяйтесь - у нас МНОГО ОБЩЕГО http://owalon.com/node/408
Сообщение отредактировал sidi - Воскресенье, 07 Апреля 2013, 05:31
daun! Спасибо за наивысшую оценку! Это именно то, чему мы учим наших детей: "Ребята вы отличаетесь от 90% всех остальных тем, что у Вас еще Жива Душа и вы стремитесь к Сказке! Ведь, в отличие от остальных "размноженцев", вы живете не для тго, чтобы кушать вкусно, кататься на крутых тачках, захватывать чужие территории и тешится длинноногими девками..." Мы говорим им: "Вы и есть будущие Билы Гейтсы и Форды потому, что Верите в Мечту и приближаете то, над чем остальные смеются. А все эти прагматичные специалисты, кодеры, трахатели и лавочники от бизнеса, - вы их потом, для своей Мечты наймете в любом ПОТРЕБНОМ количестве..."
Очень рад Вашей похвале!
Сообщение отредактировал sidi - Воскресенье, 07 Апреля 2013, 16:52
2 sidi (в конце проекта всегда можно скачать самую свежую версию IDE "Экскалибур")
Скачал. Интересно - дерево понятий. Особенно важная часть - это существа.
Интерпретатор мощного Лиспо-подобного языка (Пролог, Пленер + Лисп) как и у Вас полностью написан на Vb.Net Хорошо. у ЛИСП есть проблема - с графикой. Есть newLisp - но там в OpenGL непонятно как писать что-то. Что касается Vb.Net - это проще - нужно только добавить Ms Agent - и уже будет синтез речи и будет показываться персонаж, ходить, что-то делать (анимироваться - если добавить спрайты) говорить (нужны хорошие голоса, но для начала такие как у роботов - покатят, хотя нужно разным существам разные голоса задавать - чтобы отличались - это понятно) и т д...
мне не совсем понятно что делает ваша программа? она как то похожа на дерево понятий как в Abbyy compreno? Если да - то было бы хорошо ее применить к анализу текстов - поиску слов из вашей базы - и потом для этих слов показывать персонажей.
сколько у вас всего существительных и глаголов в программе? она только на русском? поддерживаются разные формы слов (склонения, число, время - для глаголов и т д) ?
если только на русском - слабовато получится. -------
СОЗДАЛ ТЕМУ - http://owalon.com/node/420 (Полу)автоматическое преобразование сценария/текста - в графику(анимацию)+синтез речи
там специальный дисклеймер для критиков (чтобы они запутались испугались и разбежались как от атомной бомбы... Ну типа как Кришна сказал - Мое сияние подобно синянию миллионов солнц... Ну и в том же духе разработчик атомной Бомбы Оппенгеймер -
------ http://ru.wikipedia.org/wiki/Оппенгеймер, Роберт Широко известен как научный руководитель Манхэттенского проекта, в рамках которого в годы Второй мировой войны разрабатывались первые образцы ядерного оружия; из-за этого Оппенгеймера часто называют «отцом атомной бомбы». Aтомная бомба была впервые испытана в Нью-Мексико в июле 1945 года; позже Оппенгеймер вспоминал, что в тот момент ему пришли в голову слова из Бхагавад-гиты: «Если сияние тысячи солнц вспыхнуло бы в небе, это было бы подобно блеску Всемогущего… Я — Смерть, Разрушитель Миров.» Оригинальный текст (англ.) If the radiance of a thousand suns were to burst into the sky, that would be like the splendor of the Mighty One— I am become Death, the shatterer of Worlds.
но я конечно же за мир и против насилия. вы ничего не подумайте плохого.. это просто шутка =-) )
------
Нам очень нужна встроенная система визуализации 3D образов, поскольку База Знаний и мышление (Сцена) у Исполнителя пространственно-схематическое. Мы пытаемся сами разработать 3D движок упрощенного схемотического типа, - что-то вроде АвтоКад + Конструктор "Лего" (чтобы ИИ мог из частей динамически собирать Образы). Давайте вместе работать.
.... по поводу автокада я писал... там идея простая - макросы. только нужно эти комманды выполнять не вручную (нажимая кнопки, комманды меню и т д), а перевести все... короче говоря сделать как в unity3d - чтобы все образы подгружались автоматически... это несложно. можно или просто файлик сделать - в нем список слов и соответствующих им - именам файлов - в которых все анимации - как Microsoft Agent (набор анимаций, собранных из спрайтов - их можно набрать кстати их любительских сайтов игрушек... http://spritedatabase.net/game/2195 вцелом, для демки - это тоже неплохо - тем более с синтезом речи... но я бы хотел это переделать в каком-то Unity3d... Хотя у меня даже ничего не скомпилировалось, так что пока unity3d будет в перспективе... )
но главная сложность вот в чем... берем файл. Считываем текст. Например пословно - создаем массив, список (можно и наглядный)... можно даже сразу сопоставить словам, тексту - картинки - как в widgit - это несложно - если ограничиться одной картинкой... если не морочиться со сложными словами - то можно ограничиться простыми как я говорил существительными и глаголами... но нужно найти эти самые словосочетания... короче придется делать какой-то мастер для сопоставления глаголов и существительных... хотя я надуюьс может все как-то будет проще - и найти какой-то бесплатный переводчк с одного языка на другой в котором уже были бы готовые алгоритмы поииска словосочетаний типа СУЩЕСТВИТЕЛЬНОЕ+ГЛАГОЛ (как в шахматах) на там тогда придется разбираться в их исходниках - хоть в Си, хоть в Лисп, хоть в Вижуал Бейсике - не так просто... а потом сделать чтобы все вместе заработало... Если Базелевс Инновации на свой КИноязык потратили 20 000 000 долларов, то эти технологии не дешевые... хотя судя по тому что они выложили на сайте обосмейся ру - вроде не так все и сложно... не намного сложнее чем в spinnakers story machine...
так что у меня была вконце концов такая идея...
допустим я открываю сказку вроде колобка. потом вручную поправляю текст - для реплик и для движений персонажей...
например нужно добавить вручную строчки - Колобок - перед каждой его репликой... но это все равно интересней чем всего два персонажа как в обосмейся - какие-то два робота которые не управляемы мной. и простой алгоритм для движения я уже проработал -
если я пишу простое псевдо-предложение типа
"КОЛОБОК - К ЗАЙЦУ."
То программа просто считывает его пропускает два "слова" - (в первой версии я писал слово идет, goes, но потом подумал - а если колобок покотился, или там более сложные движения типа поплыл, поехал, попрыгал и т д и т п - то проще для "внутреннего языка сценариев" или нашего "киноязыка" просто использовать ТИРЕ - вместо глагола движения персонажа с одного места на другое или к другом персонажу...)
у меня программка работает сейчас просто - я пишу предложение типа "kolobok goes to fox."
программа рабирает предложение пословно. создает список. добавляет каждое предложение в "дерево" (Tree View) и для каждого слова - своя подсветка предложения, и там можно поставить значки как в widgit, или те же картинки что и у персонажей ms agent - вконце концов спрайты можно набрать с того же http://spritedatabase.net/game/2195
короче получается что мне теперь не нужно использовать старый метод прямого рисования на экране через gr = *.CreateGraphics но зато один важный вывод я сделал что сделать - нужно вместо комманды gr.DrawImage( Kolobok , random-x , random-y )
использовать комманду из unity3d - для подгрузки персонажа колобка -
здесь нужно решить проблему -
как в автокаде - http://docs.unity3d.com/Documentation/Manual/HOWTO-ImportObjectMax.html можно вручную в редакторе подгрузить персонажа...
а можно это сделать во время работы программы...
ну пока что средствами microsoft-agent все сделать просто... благо, программа разрешать подгрузить много персонажей...
так что если это я сделаю в microsoft-agent - то это можно будет сделать в новой версии также и в unity3d (если доживем - доживем конечно же - или если руки дойдут)
короче нужно сделать аналог widgit
но вместо картинки будет показываться micrososft-agent. очень просто. можно даже взять картинки из того же widgit (если совсем уж быть "безсовестным" (с) или просто не хватает времени чтобы потестить нормально технологию) - и ее добавить в microsoft agent character editor. но получается криво, так что лучше набирать вручную картинки через Гугл поиск картинок. плюс редактор PaintBrush Или аналог - чтобы убрать мусор. нужно потом еще поставить цвет прозрачный - понятное дело. короче с каждым кадром много заморочек... хотя хотелось бы все сделать просто - набрать с сайта mixamo разных анимаций, применить к разным зверюшкам - но их тоже нужно где то набрать четвероногих для unity3d - для того же волка, лисицы, медведя хотя бы...
зато я понял одну интересную вещь.
один раз сделал персонажа - и его можно исопльзовать много раз в любом предложении, в любом даже файле...
например раз сделал файл microsfot agent character - для деда - и можно его подставлять в любую сказку с дедом. то же самое со старухой, зайцем, волком, лисой... а вот с колобком не катит. Он уникальный, и его нужно делать отдельно - специально для сказки колобок - в других сказках он не "покатит" - его там просто нет...
короче получается почти работа иллюстратора тех или иных текстов. нужно брать конкретный текст - и для него делать иллюстрации. а делать очень абстрактно - не разумно... надо чтобы это было кому-то нужно... если детям делать - то понравится ли им голос синтезированный колобка? или любого другого существа, животного, старухи, старика?
то есть получается что чуть ли не главное творчество в мультике, игре - это создание графического персонажа, задание всех его кадров анимации - хоть спрайтов в 2д, хоть анимации в 3д (возможно даже сложнее). В 3д нужно сделать объект со всех сторон, а заставить его двигаться - это нужно еще и сопоставить скелетную анимацию с объектом... а если он не поддерживает эту анимацию - то нужно добавить эту поддержку - что будет с руками ногами или лапами существ если они будут ходить? то есть они будут трансформироваться... ну короче это если в 3д... а попростому можно просто сделать спрайты с сайта http://spritedatabase.net/game/2195 а Unity3d отложить в долгий ящик - тем более что ничего у меня в нем скомпилировать так и не удалось - хотя из движка запустилось то что я хотел - анимация по глаголам из текстового файла таки запускается...
--- Имеется встроенная в Язык ИИ (уже начиненная) пополняемая глобальная база знаний о Мире ( о животных, людях, строениях, транспорте, физике, космосе - более 500 понятий)
это хорошо... надо просто добавить картинки... как в словаре в картинках... и каждую картинку - перекинуть в microsoft agent... ну хотя бы существ... и показывать их по требованию... а уже сам ms agent легко позволяет их перемещать (мышкой или через код программы), и добавить анимацию...
На "Экскалибуре" можно создавать сложные сценарии для игр и для Агентов.
да, хорошо...
Предлагаю объединить усилия в рамках общего проекта.
мне уже позвонили заинтересованные люди... организация может найти спонсоров, (говорят что я первый этап прошел, этап отбора идей - то есть уже перешел на уровень демки. так что если найдутся инвесторы - то уже там может и какие-то деньги дадут... но надо думать на что их тратить ... а то это все равно что кредит... а потом его нужно вернуть... ведь все инвесторы рассчитывают что инвестиции не просто вернутся, но и принесут доход... так что получается что мне сказали - или ваш проэкт будет бесплатным - и тогда инвесторов мы вам конечно не найдем, или нужно делать бизнес - они сказали что могут сделать мне организацию фирму, привлечь даже с запада инвесторов, но плохо что я уже расскрыл идею... короче вобщем то понятно кому это может быть нужно - прежде всего детям, для каких-то простых текстов... это понятно. но вцелом я рад что уже меня начали искать впервые, а то я сам ходил искал не знал с какой стороны к этому подойти к этой идее заполнил анкету для инвесторов, написал чего не хватает для развития инновации - сколько займет времени чтобы окупилось, чтобы принесло прибыль, сколько нужно денег, хотя я все же сомневаюсь что кому то из инвесторов захочется серьезно вкладывать в это деньги... хотя если подумать вроде сложного ничего нет - просто купить алгоритмы поиска словосочетаний глагол+существительное, плюс купить разные анимации для глаголов с mixamo... тем более что их можно даже вручную сделать если есть оборудование специальное)
Писать: Nezlobiya@gmail.com написал
Сначала нужно понять философию объясняющую почему мы на Земле живем в таком ... ХХХХ материя - вот она такая плохая .... неживая ведь
Есть четкая схема что, как и для чего нужно делать, причем без всякой религии и мистики... ну религий много разных... но вечную религию души - каждый кому-то служит (вконце-концов, высшей душе) никто не может отменить (тем более опасно - попаданием в ад) но все атеисты рано или поздно станут верующими - если не в этой жизни так в другой... так что это не мешает сотрудничеству
Мы дикари получившие вместо дубин пушки и ракеты, вместо мускул машины, и вместо костра реакторы и электростанции. ну я себя дикарем не считаю.
Проект "Экскалибур" (Подыми меч разума! ) давайте без мечей... если говорите о философии - пусть это будет ненасилие
http://owalon.com/node/408 а исходники ваши где? какие права на них?
например можно на вашей программе в лисп анализировать текст сказки и найти в ней глагол+существительное для начала? словосочетания? мне правда легче было бы все делать в чем-то лисп-подобном, - он конечно же более простой, в смысле логичный, но как его связать с графикой не понятно... как рисуются схемы в вашей программе? это тоже лисп?
Добавлено (20.04.2013, 23:15) --------------------------------------------- ... так, мне кажется пора делать простенький сайтик для программы. хотя бы домашнюю страничку... возможно скоро сделаю на sites.google.com... уже не один раз начинал, но теперь наверное уже пора на чем то остановиться и все собирать на одной странице, на одном сайте. я подумаю как это все сделать чтобы было красиво и люди не пугались (ну и с т зрения этики и эстетики, без фанатизма), и чтобы возможно кому-то захотелось программку купить, пусть даже 1 у е... об условиях лицензирования я пока думаю... сделать полностью donation-ware (за пожертвования) - наверное не очень правильно... хотя ладно это потом... вобщем скоро будет свой сайтик для программы. уже решил. по поводу можно ли будет скачивать что-то с сайта или нет не знаю... даже с source-forge... пока инвесторы говорят чтобы я не особо светил свои исходник (хотя умные и так уже все наверное "украли" у меня ну ладно Бог судья)...
Добавлено (21.04.2013, 00:22) --------------------------------------------- https://sites.google.com/site/fairytalesmagicplayer/home сайт моей программы
Добавлено (25.04.2013, 11:51) --------------------------------------------- Ближайшие планы: - Решил добавить браузер для автоматического поиска картинок через Google Images Search. В результате быстро можно найти быстро нужную картинку для выбранного слова. Выбираю слово в тексте - программа сама открывает браузер и ищет картинку (по выбранному слову) в Google Images Search. - Далее, пользователь должен просто скопировать картинку в буфер обмена. Потом из буфера обмена программа считывает картинку, и показывает на экране (также там где пользователю нужно - по щелчку мышки или в любом месте). - Далее, в системном реестре создается новый раздел. В этот раздел вписывается выбранное слово (пользователь может его отредактировать - добавив другие словоформы - тогда просто будут добавлены дополнительные параметры реестра), а значение параметра - это будет имя файла. Именно в этот файл будет записана картинка. Как вариант можно сделать чуть сложнее - пользователь может создать свой ms agent персонаж - тогда нужно будет его вписать в системный реестр для данного слова реестр. Но через буфер обмена все намного быстрее - возможно на этом варианте придется остановиться. А MS Agent придется использовать только для синтеза речи. Короче, MS Agent в каком-то смысле "не подходит" - потому что там ограничения - на 256 цветов - а это очень плохо, так как много хороших картинок в интернет - имеют больше цветов чем 256. Но синтез речи из MASgent можно запросто использовать... Как вариант, можно даже попробовать выставлять случайным образом голоса для разных персонажей или картинок, чтобы не создавать вручную тех или иных персонажей и не морочиться каждый раз с подбором того или иного голоса... Но для большей реалистичности конечно нужно будет предусмотреть редактирование голосов - поднять или опустить скорость произношения и высоту голоса (ну и разумеется выбрать сам голос - мужской / женский и т д, + язык, кроме того для каждого языка будут есть выбор разных голосов)...
- Вобщем такой подход меня вполне устраивает. Программа быстро находит картинку в Гугл. Я ее копирую в Буфер Обмена, записываю через программу в файл, слово и путь к файлу добавляю в реестр - и настройки для программы почти готовы!
Далее нужно просто сделать как в простых играх - для каждого найденного слова по тексту - показывать в это время на экране именно этого персонажа или именно ту картинку, которая нужна в это время. Для этого программа должна будет просто с реестра считывать слово, находить соответствующий файл картинки (или даже ms agent), и показывать картинку или персонажа. Для сопровождения будет показан текст, а также можно сделать синтез речи, если в тексте - реплика... Кое-что опять нужно будет вручную пользователю подправить, но все равно так можно очень быстро делать иллюстрации к тексту и получится с текста что-то на подобии игры...
Осталось только собрать все предыдущие версии программы в одну и выпустить что-то более менее уже рабочее - даже для конечного пользователя...
* Откапывая ошибки, теряют время, которое употребили бы, быть может, на открытие истин. (Вольтер)
сегодня нашел один хороший плагин дополнение для веб-браузера Google Chrome... Называется просто - Google Images Search https://chrome.google.com/webstore/detail/google-images-search/bebbjdbpnocgahhbicbcddolicbnmaph
нужно: 1) установить браузер Гугл Хром 2) из него установить плаг-ин https://chrome.google.com/webstore/detail/google-images-search/bebbjdbpnocgahhbicbcddolicbnmaph 3) заходим на любую страницу, например с колобком - http://kazka.in.ua/Zbirky/moje/Kolobok.html выделяем слово, курсор не двигаем (хотя не обязательно наверное) 4) нажимаем правую кнопку мышки, то есть открываем контекстное меню...
результат: 5) в нижней части экрана открывается окно с картинками - результат поиска Гугл - Google Images...
Итого: при помощи этой программы легко можно найти картинку для нужного слова, хоть колобка, или какого-то другого существа... единственное условие - такая картинка должна существовать в интернете... ну и еще одно условие - чтобы Гугл ее смог найти по запросу... например если картинка есть на сайте на другом языке - она не будет Гуглом найдена если мы ищем на русском (хотя могут быть исключения)...
Какие я сделал для себя выводы...: 1) во первых эта программа намного лучше чем http://www.widgit-online.com/ 2) во вторых я рад что такая программа - бесплатная. (деньги - это конечно другой разговор) 3) кроме того у нее высокий рейтинг в списке дополнений для Хрома... Это значит что такая программа востребована... (это заметно "невооруженным" глазом)
Однако, чем такая программа меня не устраивает, почему нельзя заменить ею мою идею или программу? 1) во первых, Image Search - это только поиск картинок. Неудобство также в том что нужно через контекстное меню вызывать поиск картинок. Удобство в том что картинки выдаются отфильтрованным списком... с другой стороны, очищенные результаты поиска - не обязательно хорошо, так как не виден контекст. Хотя цель такой программы другой - просто быстро найти иллюстрации к тексту... Грубо говоря - АВТОМАТИЧЕСКИ. если не ставить сверх нереальных целей с анимацией и трехмерной графикой, то на таком уровне можно считать что моя идея реализована -правда в виде "полуавтоматическое преобразование текста - в картинки"... Полуавтоматически, потому что пользователь сам выбирает картинки и текст, программа не "диктует" какую картинку лучше выбрать... Это и невозможно, если использовать Гугл поиск картинок... поэтому:
1) или пользователь создает картинки сам (тогда он должен быть художником, аниматором и т д) 2) или он ищет готовые картинки в интернет, прежде всего - через поиск Google Image Search...
первый вариант лично для меня отпадает - рисовать не умею, разве немного отредактировать... тем более это - время... второй вариант мне нравится больше - результат быстрый, хотя не дотягивает до того что хотелось бы - анимация, 3д... чтобы было 3д и анимация - нужно больше кодить, а это - время, здоровье, и даже деньги (чтобы купить трехмерные объекты например с Unity3d / mixamo)...
Цитата (Undead)
VedaViz, Давай ещё апдейтов.
могу сделать демку и выложить на своем сайте, но: 1) в ней не будет картинок... я думал, где их взять - из Виджита - можно, но они честно говоря "не очень"... поэтому пусть будет бесплатная версия - без картинок... 2) в ней пока не будет возможности создавать анимацию - ни двухмерную, через майкрософт агент, ни тем более трехмерную - через Unity3d и т д (а поскольку я только любитель в программе Unity3d / C++ / C# - то также не получится ничего с вакансией Киноязыка на сайте filmlanguage... значит буду делать по своему)
--- какие возможности могу в нее включить: 1) во первых - текстовый редактор (просмотрщик текстов). Типа того же WordPad или Блокнота. Простые и стандартные комманды - открыть текстовый файл - например в формате rtf (txt?), вставить текст из буфера обмена. Однако это должен быть не просто вьювер - просмотрщик, и не просто редактор текста (сохранение файла я думаю не обязательно делать, хотя нужно сохранять другие настройки)... 2) во вторых, думаю добавить простые возможности по анализу текста... Прежде всего - это создание списка слов. Список слов я делаю просто - разделители - пробелы и прочие знаки пунктуации, а разные буквы - это значит части слова... Короче такую проверку сделать несложно, вдруг что можно доработать потом... Однако - есть сложность - если выбирать несколько слов, и они должны восприниматься как словосочетание, например фамилия имя отчество и т д - это разные слова, отделенные пробелами, но они - относятся к одной личности.... значит для них должен быть один и тот же узел в дереве или базе знаний... Всю внутреннюю информацию я думаю записывать в системный реестр... Думаю он не обидится, и он вроде как создан для этого... Тем более что реестр легко редактировать - создавать новые ветки, параметры, менять значения или удалять их... С обычными файлами это было бы немного сложнее сделать. (Вконце концов системный реестр - это эволюция обычного текстового ини-файла - в более сложную "базу данных")...
Но что получается. Для каждого слова, узла или даже грубо говоря объекта-картинки - могут быть разные значения: - 1) Как это слово записывается на других языках... иногда это нужно... кроме того, нужно учесть разные словоформы... Думаю, можно будет просто добавить простой редактор словоформ - и быстро сопоставлять их с картинкой, которая уже найдена для какой-то формы этого слова... Например, если я раз нашел картинку Колобок.jpg, прописал ее в реестр для слова Колобок, то нужно добавить возможность добавить хотя бы еще несколько "синонимов" для этого же слова. Например слова колобка, колобку, колобком, колобки и т д - будут сопоставленный с тем же базовым словом - колобок. Конечно, множественное число - это уже сложнее... В играх понятно - можно просто создать хоть сотню таких же "юнитов" - и все дела... ну а ограничения в игре - это разные ресурсы (золото и т д). Но эту уже крайние случаи, плюс и минус бесконечность, а так вцелом мы имеем дело с небольшим числом объектов/субъектов в тексте, то есть существ обычно по одному... Но получается, что даже лучше использовать обычное рисование, а не MSAgent, потому что ms agent не может создать несокольких одинаковых персонажей... хотя... если очень захотеть ... можно придумать заморочку чтобы один и тот же персонаж раз созданный - чтобы скопировался просто под другим именем - и получится на экране два предмета... вобщем это не проблема - даже со множественным числом объектов...
2) для слова должна быть создана картинка. Будем ее для удобства просто брать с Гугл Картинок. Скопировал в буфер - и моей программе просто добавил в реестр и файл. все. слово записано, прописано в реестр, есть для нее картинка файл. Однако - двухмерная. Зато в полном цвете... Кроме того такие картинки можно даже подумать как использовать для фоновых изображений в программе ("игре" или "мультике"). Но для этого надо предусмотреть такую возможность (короче как в редакторах двухмерных игр).
3) для слова может быть создан двухмерный персонаж в MS Agent. у него может не быть никакой анимации - только один кадр, но фон уже прозрачный - и это хорошо (однако чтобы он таким был - нужно еще не одно нажатие клавиши - и это нужно делать вручную - никак автоматически не будет). Для него можно добавить голос - для синтеза речи. Однако тогда нужно будет вместо обычной картинки - которая может быть в полном цвете - скажем в 32 битах или 16 миллионах цветов - делать худшую версию - в 256 цветах - для ms agent.... конечно мне не хотелось бы этого делать - но это ограничения ms agent... с другой стороны... можно обойти даже ms agent, И использовать прямое рисование в полном цвете через средства windows, - но тогда нужно будет самому программировать события для агента - синтез речи все равно придется делать как-то... хотя такой подход может быть даже более гибким - можно создать всего навсего ОДНОГО MS Agent-а, и просто он будет менять голос в зависимости от персонажа - то на один то на другой - разный язык, высота... Вобщем будет как в обычной читалке текстов. Но таким образом решается вопрос одновременного говорения персонажей... Голоса не будут накладываться - (как это сейчас у меня получилось в колобке - задаю комманды колобку и другим персонажам что-то говорить - а они все говорят почти одновременно - потому что ms agent не ждет пока договорит другой персонаж и позволяет третьему и т д говорить одновременно. но я не думаю что это кому-то нужно... кроме одного случая. Если говорят одновременно несколько персонажей - например старик и старуха говорят одновременно одни и те же слова... но это уже заморочки и можно это также решить... можно показать двух персонажей одновременно, а говорить будет кто-то один от имени двух... так наверное обычно и делают в мультфильмах например... (хотя там могут реальные актеры озвучить реальными голосами персонажей - но где же я возьму этих людей для озвучки голосов колобка и т д и т п? поэтому пусть будет синтез)...
4) для того же слова может быть еще один объект - трехмерных, скажем в unity3d... подозреваю что его можно также подгрузить как и ms agent-а - только нужно знать его формат файла, и иметь такой трехмерный файл... Но... это откладываю на будущее... а пока сделаю то что хотел в двухмерном варианте - в полном цвете... а как получится с мс-агентом - посмотрим... понятно что я не буду вручную создавать агентов. пусть пользователь сам их создает - если нужно... или ограничится поиском картинок... а требовать от него еще и чтобы он создавал персонажей в Unity3d - это было совсем неправильно... так что нужно как-то абстрактно решить вопрос, или на более простом уровне - через 2d, или даже без анимации...
5) для слов должны быть заданы координаты... точнее не для слов - а для картинок... например в программе spinnakers story machine - если написать слово, тот же kolobok (его правда нужно добавить в список персонажей например как bumpus Или boy - Но туда никак не вставить картинку колобка - тем более того который мне больше всего понравился из Гугл Поиска картинок... в этом минус story machine... нужно решить это ограничение также более широко - чтобы можно было добавить любое количество персонажей, имен - и чтобы все они могли хотя бы передвигаться друг относительно друга - пусть даже без анимации.... полноценная 32 битная картинка может заменить простую анимацию на 2 кадра как в story machine... )... Итак, картинки или персонажи будут размещаться на любом месте экрана. хотя можно добавить их размещение в каком то месте по умолчанию... например туи могут добавляться по умолчанию в верхней части экрана, земля, трава, камни, предметы - в нижней... но тогда нужно как то это прописать - хотя бы в общем виде... Это наверное то что как раз и называется киноязыком, языком образов.
и самое главное 6) в одном тексте один и тот же персонаж может быть в разных местах экрана и выполнять разные действия - как минимум ходить -- передвигаться по осям X, Y - например для колобка - это "котиться" но комманда простая - передвигаться с произвольной точки или точки по умолчанию - указанную... Здесь некая сложность, но именно это я хотел сделать - какой-то мастер, чтобы можно было быстро вручную выбрать скажем колобка, и задать ему вектор движения... вобщем-то конечно для этого даже не нужно тогда текст как "исходник" или "сценарий", но в том то все и дело, что текст дает некие подсказки программе - куда должен двигаться колобок и что он делает...
несложно сделать так, чтобы при чтении текста показывалась та или иная картинка или даже показывался персонаж MSagent (говорящий, с анимацией), и даже реально сделать то же - в unity3d. Но сложность в том, что нужно сопоставить между собой естественный язык и язык программирования... Одно дело - "сценарий на языке программирования" (например для unity3d, microsoft-agent и т д), другое дело - "сценарий фильма" или "сценарий мультика" или "сценарий игры" - написанный на человеческом языке, и другое - обычный текст, который даже сценаристы не примут - потому что он не адаптирован даже чтобы по нему снимать фильм или мультик... Значит:
+ в любом случае нужен "мастер" для преобразования частей текста (предположительно - сценарие-подобного) - в комманды, "сценарии" ms agent / unity3d - на любом языке программирования - хоть с++, c#, java(script), visual basic и т д... поскольку автоматически это сделать почти нереально - даже если разобрать текст каким-то part-of-speech-tagger или даже abby compreno (получится все равно обычный шаблонный сценарий вроде того что на сайте обосмейся - для чайника и шайбы), то нужно сделать такой мастер, чтобы пользователь мог быстро находить картинки в Гугл Картинках, добавлять их в базу знаний, и исходя из текста - давал комманды этим "картинкам" (в более сложном случае - персонажам ms agent/ unity3d). самая простая комманда - переместить картинку с одного места на другое - это будет имитация движения. И нужно чтобы пользователь выбирал персонажа, и как в компьютерной игре - указывал ему - что делать - куда идти и т д и т п... Поскольку это невозможно на 100%, потому что даже в игре - есть только ограниченный набор персонажей и их действий, то нужно чем-то ограничиться. чем-то более реальным и на этом "успокоиться". Пока что стало понятно что с unity3d будет сложно. с ms agent-ом намного проще - но анимацию тоже нужно где-то брать. но если ограничиться только картинками - то что-то можно сделать.
итак, что я хотел сделать?
7) еще один важный пункт. если открыть текстовый файл - например сказку о колобке - http://hyaenidae.narod.ru/story1/032.html то можно одно и то же слово - например "колобок" найти в разных частях текста. в других частях текста - его реплики (в перемешку с "колобок сказал"), и его действия.
что можно сделать?
1) пусть пользователь вручную выделяет слова колобка, убирая слова вроде "колобок сказал" или просто ища более подходящие, сценарие-подобные тексты, например с - http://beautiful-all.narod.ru/Skazki/sk11/11.html " - Не ешь меня, косой зайчик! Я тебе песенку спою,— сказал колобок и запел: Я по скребён метен, на сметане мешон, " в отличии от " — Не ешь меня, Заяц, я тебе песенку спою: Я Колобок, Колобок, " http://hyaenidae.narod.ru/story1/032.html
во втором варианте нет слов "колобок сказал" внутри реплики колобка... как раз такой сценарий - идеальный для "визуализации реплик"...
я сделал простой скрипт, который просто добавляет слова вроде " КОЛОБОК: — Не ешь меня, Заяц, я тебе песенку спою: Я Колобок, Колобок, " в список комманд для персонажа колобка, преобразуя их в что-то вроде "ALLAGENTS.Characters("Kolobok").Speak("— Не ешь меня, Заяц, я тебе песенку спою: Я Колобок, Колобок,")"
что нужно еще добавить - чтобы вместо слова "Kolobok" - можно добавлять любое слово перед двоеточием. Например если я возьму тогда сценарий из фильма матрица - http://www.lib.ru/INOFANT/WANCHOWSKI/matrica.txt " ОРАКУЛ Да? И что ты думаешь? Ты считаешь себя Избранным.
НЕО Я не знаю.
Она показывает рукой на стену, где висит деревянная доска, по виду такая же, какую имеет на своей кухне любая бабушка, за исключением того, что фраза ней написана на латинском языке.
ОРАКУЛ
Ты знаешь, что здесь написано? Это латынь. Означает: "Познай себя". "
то нужно чтобы у пользователя была возможность из него делать комманды для ms agent (хотя бы произнести вслух слова одним голосом, а потом можно и много голосов сделать для разных персонажей) и преобразовать текст в что-то вроде -
" ОРАКУЛ: Да? И что ты думаешь? Ты считаешь себя Избранным. НЕО: Я не знаю. ОРАКУЛ: Ты знаешь, что здесь написано? Это латынь. Означает: "Познай себя". "
Если сценарий будет отформатирован именно таким образом, то можно только включать поиск картинок для НЕО и ОРАКУЛа из матрицы, записать их в реестр/файлы, и показывать их каждый раз при встрече этих слов перед двоеточием то есть репликой... однако в тексте есть кроме реплик другие комманды для персонажей... нужно их или просто игнорировать, или тоже как-то обрабатывать... по крайней мере если там комманды движения - то нужно их как-то обработать...
возьмем ту же матрицу...
например " Агент Смит наклоняется поближе к Морфеусу, и шепчет. "
нужно преобразовать в комманды вроде "СМИТ - к МОРФЕУСУ". Здесь получается ерунда с русским языком - нужно изменять слова на другие формы... на английском можно сделать проще - "AGENT-SMITH - TO MORPHEUS"
соответственно 1 пользователь ищет картинку агента в гугл картинках, записывает ее в реестр под ключевым словом AGENT-SMITH или СМИТ 2 пользователь должен САМ найти картинку для Морфеуса - и нажать "записать картинку в файл и системный реестр из буфера обмена"... программа создает файлы - morpheus.jpg - agent-smith.jpg - neo.jpg - oracle.jpg
теперь нужно только связать слова в тексте - с графикой (и задать таймер, передвижение картинки или мс-агента, Нео и т д) - и с речью. можно также использовать одного мс-агента - для разных голосов, но просто менять настройки зависимо от персонажа...
короче пользователю можно создать такой список, который нужно заполнить - 1) картинки для персонажей (нео, агент, оракул, тринити, морфеус и т д... разумеется нанимать актеров вроде Кеану Ривза и т д мы не будем, но найти его фото вполне реально). игрушку тоже не получится сделать как сделали игру Матрица, но заставить картинки двигаться - можно. 2) настройки голосов... указать - голос мужской или женский... колобок, нео, смит, морфеус - мужские голоса... женский - тринити, старуха, лиса и т д... задать им разную высоту - и записать (можно в тот же системный реестр)... 3) выбрать персонажей и задать им реплики из текста... или что проще - пусть пользователь отформатирует текст в виде сценария... кто куда идет. и кто что говорит... на одну строчку - одна комманда - передвижение с места на место кого-то, или комманда... чтобы не запутаться можно тоже придумать какую-то стандартную форму, но чтобы она была одинаково удобно читабельна и компьютером и человеком... ну что-то наподобии комманд Spinnakers story machine, обосмейся (шайба сказал, чайник подошел туда-то и т д), или шахмат (такая-то фигура - идет туда-то)...
результирующий сценарий нужно сохранить в отдельный файл - именно это и будут комманды для "мультика" или "фильма" (ну если использовать фотографии из фильма матрица - то получится не совсем мультик, а скорее слайдшоу) ....
вобщем я подумаю как это все дело связать всесте и ждите - выложу результат где-то в интернете...
должно получиться что-то интересное =-)
Цитата (Undead)
VedaViz, Давай ещё апдейтов.
Скоро будет =-) * Откапывая ошибки, теряют время, которое употребили бы, быть может, на открытие истин. (Вольтер)
нет =-) Глюк, меня кстати тоже как-то называли глюком =-) (получилось что-то вроде bug при переводе на английский)
Программа наконец-то прошла стадию "альфы" (планирования, и философских размышлений), и перешла на стадию вопрощения. Теперь программа называется Good genius (потому что гении буывают плохими и хорошими, но я уверен что мы говорим о хорошем гении, а не плохом)...
Итак... Сайт программы --- http://sites.google.com/site/goodgeniussoft/
Скачать можно хоть сегодня - Good genius 2013 version 0.1 STABLE (адрес на sourceforge по преженму тот же - VedaViz - он меня устраивает вполне, а вот Fairy tales magic player - слишком многословно, да и ограничиваться только сказками - как нехорошо, как и называть сказками то что ими не является... А слово гений вызывает много ассоциаций. У меня плохих ассоциаций оно почти не вызывет, кроме случаев когда оно используется не поназначению. Поэтому пусть будет Good genius).
Это - самораспаковывающийся архив еще с несколькими архивами и другими файлами.
Структура архива такая - 1) Собственно программа. Запуск через setup.exe.
(Установка должна работать на Windows7... На XP пока не перенес. Это связано с тем что я установил Visual Studio Express 2012, к-рая требует только Windows7... Если будет время и желание - перенесу также и на WidnowsXP через visual studio 2010) Программа сама установится и появится в меню Пуск. Запускаете - Good Genius v0.1 (Stable) а как дальше пользоваться - позже расскажу
2) Примеры... Запускаем несколько файлов - - Установка персонажей microsoft agent - Установка картинок персонажей (впринципе можно без этого обойтись, но без картинок не получится msagent, так что пусть будет) - Собственно файл сказка колобок, а также сценарий .goodgenius (это обычный rtf файл, но я думаю туда записывать только комманды для синтеза речи и комманды передвижения персонажей) - Файл для записи в системный реестр путей для файлов персонажей и картинок. Это я сделал для удобства - через реестр, чтобы не выдумывать какие-то дополнительные форматы файлов и т д и т п... все просто - открываете системный реестр - добавляете слово (например колобок), пишете путь к файлу персонажа - например c:\Program Files\Good genius\All Characters\kolobok.acs и запускаете программу goodgenius
потом в программе выбираете две строчки например ---------- Колобок: "не ешь меня!" ----------- а в контекстном меню выбираете - добавить в сценарий...
все. должен появиться сразу же персонаж microsoft agent, - в данном случае колобок, и сказать "не ешь меня!"
---- аналогично с другими персонжами, с другими словами того же колобка...
я попробовал так же обработать сценарий фильма матриці - тоже нормально получается, все работает...
достаточно создать Microsoft agent файлы для neo, trinity, морфеса, сайфера, агентов и некоторых прочих, оракула...
и просто открыть сценарий матрицы,
выбрать например слова: --------- Агент: Ну что мистер Андерсон? ------ и нажать - добавить сценарий
и так же :
----- НЕО: Меня зовут Нео! ---- и нажать - добавить в сценарий...
все, появится на экране агент, и скажет "Ну что мистер Андерсон?" а Нео скажет - "Меня зовут Нео"... надо только создать персонажа Нео и Агента...
Для этого нужно выбрать слово Нео в тексте, и выбрать пункт добавить персонажа... Пока я эту функцию частично заблокировал... но вобщем на тестировании она у меня работает так: открывается браузер - и внем открывается поиск картинок Гугл... Я выбира. картинку, копирую в буфер обмена... закрываю браузер, а в моей программе - выбира. комманду - добавить картинку - в "базу знаний" и реестр... все. потом нажимаю - открыть редактор персонажей Microsoft agent... там немножко сложнее, но вкратце нужно добавить голос и один кадр (файл конвертировать в 256 цветов, подровнять, поставить прозрачный фон или убрать если мешает), и т д ... сохранить... прописать в системном реестре, что новый созданный файл АГЕНТ.acs - соответствует словосочетанию "Агент Смит"... Все. Каждый раз когда я теперь буду находить еще раз реплику агента - а таких в матрице полно - не один десяток, программа будет его показывать, и он будет говорить или даже двигаться (это я уже предусмотрел, тоже полуавтоматически - надо подумать как записывать формальизированно движение, например "Персонажа1 - к Персонаж2" - не очень хорошо, а каждый раз писать К Персонажу, к Колобку, - не очень хочется... нужно тогда еще добавлять грамматические формы... Хотя на английском нормально, например "Agent - to Neo" - Нормальная комманда движения агента к Нео. и одинаково читабельно как для человека так и для программы...
вобщем... матрицу я позже "сделаю", а пока ...
----------------
если установленны все 4 части примера для колобка - можно создавать любые другие - я могу создать скажем Матрицу - и выложить вам на всеобщее обозрение... Или другие книги (может быть сделаю еще Алису в стране чудес, хотя бы частично, осбенно где она говорит, что книга без картинок и разговоров не интересна...) но вы можете взять любую свою книгу... попробуйте. Это работает...
Самое сложное - это создание персонажа... но если не морочиться с фоном, то можно не обрезать вокруг персонажа лишний фон, и обойтись без прозрачности - тогда персонажа можно создать буквально минут за 5... Найшел картинку, конвертировал в 256 цветный bmp, добавил в character editor, подобрал голос, записал ("скомпилировал" acs), и все - пользуешься на счастье или здоровье как хотите...
---------- Итак... еще в программу установки включен Microsoft Agent Character Editor.exe - это редактор персонажей... он автоматически записывается в c:\Program Files\Good genius\All Characters\ но разумеется можно пути поменять... просто Good genius имеет такую кнопочку - запустить редактор персонажей - поэтому будет искать путь именно в этой папке... Хотя этот путь я тоже подумаю прописать в реестре - чтобы можно было программу перенести куда удобно...
(разумеется сейчас про Unity3d / mixamo мы не говорим - там еще сложнее.)
-------
Собственно, все. программа преобразования текста - в графику+речь готова...
Нужно только довести до ума модуль обработки сложный предложений - для движений персонажей... ну и для сложных реплик... Но это все делается... конечно, в полуавтоматическом режиме. Пользователь надеюсь сам будет заинтересован перепроверить то что программа сделала автоматически, и вручную подправит что не так.
---
Еще думаю над интерфейсом... Добавил значки для комманд меню. Так красивее.. выглядит хорошо Но некоторые элементы дублируются... Это связанно с тем, что обычные элементы управления Виндовз не дают полной свободы... потому я решил обойти все эти ограничения и сделать "в лоб" - через системный реестр. Сработало.
Программа работает именно так как я хотел...
То есть я вам предлагаю движок. я не знаю какую книгу вы откроете... какие там будут персонажи... но вы при помощи этой программы найдете картинку, создадите персонаж, и программа сможет его использовать для синтеза речи... Это удобно и быстро...
Разумеется, я сам пользуюсь этой программой. Текст воспринимается намного глубже и качественное (особенно если это философия)... Если читаю какие-то реплики, и добавляю еще и персонажей - сразу же срабатывает еще и визуальная память - тоже хорошо запоминается...
Еще одно примечание. В папке c:\Program Files\Good genius\All Characters\ должны быть файлы 7 персонажей, это прописано в системном реестре -
если картинок нет, - дальнейшая загрузка персонажей не произойдет (хотя можно это ограничение снять, но я думаю это не важно - ведь чтобы создать персонажа msagent - все равно вначале должны быть картинка - jpg, bmp и т д...)
У меня все работает и я этому рад... Наконец-то я объединил все модули в один... Теперь я буду развивать программу в одном проэкте (good genius), просто изменяя номер версии... может быть добавлю автоматичсекое обновление через интернет (visual studio имеет такую опцию, надо разобраться) ... - тогда точно нельзя будет менять постоянно название и размещение программы... хотя мне уже как-то все равно... Кка она называется - не так важно - главное что она делает... вроде бы делает именно то что я хотел. и это хорошо... персонажи появляются, разговаривают, двигаются... Немного есть глюки с голосами (синтез речи), подумаю с чем это связанно... (бывает показывает речь, которую произносит, но голоса нет)... * Откапывая ошибки, теряют время, которое употребили бы, быть может, на открытие истин. (Вольтер)
Чтоб это скачать надо ставить спец прогу? Или качать каждый файл отдельно? Цитата недели: Из-за леса, из-за гор, кишки, месиво, хардкор. (Берсерк ТВ-2)
Чтоб это скачать надо ставить спец прогу? Или качать каждый файл отдельно?
Возможно нужно какой-нибудь .net framework, и еще что-то вроде Microsoft Speech API. Это что касается библиотек, от которых зависит программа. А что касается моей программы, то там просто папка с несколькими файлами, - один из них - это setup.exe - вот это и есть установка моей программы. Остальные exe файлы - это просто для удобства я сделал - это самораспаковующиеся архивы, чтобы они распаковали нужные программе фалы в нужные папки Иначе нужно все это делать вручную... Но вообще-то конечно можно сделать еще установщик чтобы все это программа сделала сама при установке... Но пока я наврное на время ее отложу - то что уже сделал меня устраивает. Хочу посмотреть что у меня получилось и что теперь дальше с этим делать... Есть два пути развитися этой программы: 1) В сторону упрощения и удаления от программирования вообще. Вариант конечно неплохой, но тогда мне придется забыть о синтезе речи, и ограничиться только вставкой иллюстраций к тексту, иллюстраций - я имею ввиду картинки персонажей, которые в случае с ms agent будут говорить. 2) Можно дальше развивать Good genius. Но с Unity3d/mixamo скорее всего все отпадает. Мне уже даже msagent И программирование вообще начинает надоедать, а в Unity3d - куча заморочек, и я уже давно это прошел - мне уже не интересно все это опять изучать методом скажем так... эмпирическим. Из того что реально быстро можно было сделать - я сделал - но в простом виде. ms agent - это конечно не фильм. Но что-то среднее между мультфильмом и игрой - можно сказать что да. В этом смысле, если прочитать изначальную идею - "преобразование текста - в фильм/игру" как "преобразование текста - в мультфильм-игру", то ms agent здесь как раз и есть тот "искусственный интеллект", который есть общим и для игр и для скажем создателей мультфильмов/фильмов (я имею ввиду предварительную визуализацию кино, как в том же Базелевс Инновации - Киноязык)...
Вобщем для себя я также понял, что можно двигаться в также в двух направлениях. 1) Просто создавать для некоторых текстов готовые визуазации... Например если меня интересуют какие-то философские тексты - я создаю только для них аудио-визуализации с использованием ms agent, размещаю на сайте или в виде программы (можно откомпилировать и будет почти то же самое что и ms agent на веб старнице в джава скриптом). ... Вобщем меня такой вариант устраивает - я тогда не буду отвлекаться на программирование - оно мне сейчас кроме интереса ничего не дает, а если денег не дает - значит от єтого можно отказаться в пользу чего-то более важного и ценного - той же философии... (Ну ладно не будет здесь вникать в тонкости... )
2) Делать Good genius универсальной программой для визуализации ЛЮБОГО ТЕКСТА... Вобщем-то меня это теперь уже не так сильно интересует... Я попробовал на своем опыте что это такое - экранизировать текст - это не так просто - и забирает время... Кроме всего прочего абсолютно понятно, что если мне текст не интересен - то не буду я его экранизировать, искать для него персонажей и т д и т п... Но если пользователь хочет - он может это сделать сам. Потому я свою программу выложит - кому надо - тот разберется... Я сейчас прикинул - само ядро программы занимает от силы одну страницу исходного кода... Элементарный комманды чтения строки выделенного текста - поиск ее в системном реестре, нахождение значения - открытые соответствующего acs файла, воспроизведение через него текста, выделенного далее (следующей строки, или даже нескольких строк, абзаев и т д)... Вобщем получается конечно же НАМНОГО ЛУЧШЕ чем КИноязык Базелевса, потому что я могу загрузить ЛЮБОГО персонажа (acs), а не ограничиваться их шайбой и чайником... а 3d или 2d, анимация есть или нет - это не так важно - главное чтобы был контент хоть какой-то... В 2d - он легко доступен, в 3d - действительно почти недоступен - чтобы создать трехмерных персонажей надо как минимум найти фото лица и "натянуть" его на трехмерную модельку. Короче я конечно сразу думал что это будет сложно сделать, но думал что современные движки или технологии рподвинулись за эти 10-15 лет... Почти ничего не изменилось... Изменились внешние формы, а по сути все осталось как и было. Как были просты программы вроде Spinnaker story machine в 80-х годах, так и осталось то же самое даже в Киноязыке Базелевс инновации... Единственная разница - добавили синтез речи, и трехмерную график. Но персонажей стало всего два. Поэтому даже story machine интереснее... Короче с программированием наверное у меня ничего не получится - хобби оно и осталось хобби.
Цитата (Ordan)
Чтоб это скачать надо ставить спец прогу? Или качать каждый файл отдельно?
если у тебя windows7 - Должно все работать. скачай один файл - http://sourceforge.net/projects/vedaviz/files/Good%20genius%202013%20Full%20v0-1%20Stable.exe/download там все уже есть в одном... программа распаковывается, потом запускаешь из созданной папки setup. И еще запускаешь несколько других exe (все), reg файл. В результате будет установлен пример - колобок. Открываешь потом текст Колобка, выделяешь две строчки - имя персонажа и его слова - и нажимаешь в контекстном комманду преобразования в графику и речь... должно все сработать если ты установил персонажей и прописано все в реестре.
Если хочешь открыть любую длугую книгу - тоже можно. Например я попробоавл открыть Алису в стране чудес. У меня уже создан персонаж заяц - файл hare.acs. Я в реестре просто прописал новое слово КРОЛИК = hare.acs
Все. потом выбираю в сказке Алиса слова кролика (пишу Кролик: - перед репликой кролика) и нажимаю воспроизвести - повляется тот же заяц которого я создал для сказки колобок- и говорит что-то вроде "Ай-ай-ай, как я опаздываю!" (а в сказке колобок - он говорил "Колобок, я тебя сьем!")
Для меня так вазна разница между кроликом и зайцем, так что думаю в алисе стране чудес и сказке колобок можно спокойно использовать одного и того зайца-кролика.
Конечно, получается так, что програма в каком-то смысле привязана к персонажам... Если персонажа нет - то он не появится. Хотя я решил, что можно прочитать текст напрямую каким-то персонажем по умолчанию. Тоже нормально работает... Я конечно думал как можно бы обойти ограничение Msagent и синтезировать речь напрямую - тогда да, можно показывать каких-то персонажей по умолчанию, даже если их нет в базе. или использовать генератор, о к-ром я говорил. Но я понял что это все достаточно сложно для меня, и я вряд ли буду это делать ближайшее время (а может и никогда не буду - может руки не дойдут вообще).
Походу все скатывается к простому квестовому редактору. Больно уж сценарии похожи на программный код, сплошная конкретика, команды и string. Перечисление персонажей, подготовка болванок. А если сценарий написан конкретно в рамках возможностей программы, вообще лажа. Все это уже было. По художественному произведению хотелось бы. Ну хоть колобка, ы.
Да, даун... ты прав. Это все уже было. Но тем ни менее, эти "болванки" работают - и работают хорошо ... Быстро можно создать нового персонажа и добавить его в программу. 3 минуты на создание персонажа = это много? Вот сам посчитай. Вот ты открыл какой-то текст. Я для него не подготовил никакого acs файла. Что тебе нужно сделать? Просто. Ищешь в Гугл картинках картинку для свого персонажа, копируешь ее буфер обмена, вставляешь в paint-brush (ну или что-то подобное). Долго это, сложно? Ну найти - может несколько минут... Немного обрещал картинку (изменил размер и т д), сохранил как 256 цветной bmp файл... Теперь открываешь Microsoft agent character editor. Пишешь имя персонажа. ставишь галочку - "персонаж умеет синтезировать речь". На закладке речи выбираешь голос (если не выбрать - персонаж не будет говорить). Добавляешь одну анимацию, и привязыешь ее к действию "появление" (showing). Добавляешь один кадр анимации, в него добавляешь этот bmp 256 цветный. Чуть корректируешь стрелочками - выше ниже вправо влево... Все. Можно изменить размер персонажа. Поставить другой или убрать цвет прозрачности. Все. Созранить acd и acs файл... Долго это по времени? Ну еще пару минут... Потом в системном реестре в ветке программы - HKEY_CURRENT_USER\Software\Good Genius Software\Good Genius\Microsoft Agent (Нужно нажать пуск - выполнить - написать regedit для запуска системного реестра... ну или открыть через стандартные программы windows)... создать новый ключ с именем персонажа которого нет в базе моей программы... все. имя добавил. а в значение нужно вписать путь к файлу acs. Вот и все сложности... Сколько это занимает? Ну еще минуту. (Вообще-то я сделал автоматическое добавление пути к картинке в реестре, можно такую же фишку сделать и для фала acs, но тогда нужно в good genius указать путь к файлу acs. а так все то же самое что и в редакторе реестра)...
Все - за 5-10 минут ты можешь добавить своего персонжа к лбой книге. Заходишь в любую библиотеку http://lib.ru/ http://lib.rus.ec/ и т д - в интернете - тысячи, сотни тысяч книг... выбираешь книгу, выбираешь реплики, имена персонажей. нажимаешь воспроизвести... Если персонажа нет - добавляешь точно так же (еще минут 5-10). если персонаж уже есть - как в случае с зайцем в сказке колобок и кроликом в сказке Алиса в стране чудс - не нужно создавать заново персонажа кролика-зайца... А это очень много значит... Если сделать такую базу, которую пользователи будут сами пополнять и там будут одинаковые пресонажи - их можно взаимно использовать дург другу, и не надо тратить время на создание пресонажей. собственно это я и хотел - использоать какие-то базы персонажей из сайтов вроде unity3d и анимации например из Mixamo.com... а так, если это сложно - можно по простому - через ms agent... зато здесь и сейчас - и не надо тратить десятки или сотни лет как вы говорите... Что здесь сложного? То что я говорил пару лет назад - я уже почти сделал. Чудес не обещал. А сопоставление пар существительных и глаголов - это можно еще немного доделать (хотя бы движение одного персонажа к другому задавать в тексте - хотя это уже будет значить редактирование изначального текста книги и подведение ее под вид языка программирования или под вид киноязыка... но это не так страшно - пользователь поймет зачем это нужно - если он читает один и тот же текст часто или по нескольку раз - для него это не так важно - пусть будет еще один формат файло - формат сценариев microsoft agent - для указания комманд синтеза речи персонажей его книги, и перемещения их...)...
Цитата (daun)
Походу все скатывается к простому квестовому редактору. Больно уж сценарии похожи на программный код, сплошная конкретика, команды и string. Перечисление персонажей, подготовка болванок. А если сценарий написан конкретно в рамках возможностей программы, вообще лажа. Все это уже было. По художественному произведению хотелось бы. Ну хоть колобка, ы.
Позже выложу видео других книг, той же матрицы... МОжет покажу как создаются персонажи вручную - и замерим по времени сколько это занимает минут... И можем сравнить со временем создания фильма или мультфильма киностудией - называется не дождетесь, и денег много попросят... Так что... моя программа лучше чем много киностудий... =-) Во всяком случае Пре-Визуализация у меня крутая. А я так понял сейчас мало кинокомпаний ее используют, и это дорого...
Добавлено (27.05.2013, 23:44) --------------------------------------------- P.S. Конечно, можно еще такую штуку сделать - пусть пользователь записшет всю последовательность комманд, и потом просто сгенерировать скрипт всех комманд ms agent (записать как пользователь перемещает вручную персонажи, что они и кога говорят и т д) - и потом просто считать это другим скриптом "киноязыка"... но это уже другой формат файла, и мне не очень интересен, если там обычные комманды вида "axagent1.characters.character("kolobok").speak("Не ешь меня!")" Мне же интересно записывать эти комманды в виде более менее человеческого языка, без разных там точек, ненужных скобок, служебных одинаковых слов вроде Character и т д и т п... Короче понятно, что язк программистов очень технический, а его усовршенствание напрямую зависит от возможностей ИИ и логики... Вобщем, может и не надо это все улучшать - и так нормально?
Добавлено (28.05.2013, 00:29) --------------------------------------------- Вот пример - как из сценария матрицы в моей программе можно сделать - "матрицу"...
Вот это поворот. Эта тема еще не сгнила среди кучи другой бессмысленности. Не ожидал даже)
Добавлено (28.05.2013, 01:21) --------------------------------------------- Кстати читая даже по кусочкам, весь текст, что ты пишешь, можно заметить, что там куча бессмысленой фиготы. Даже я в чатах меньше пишу подобной фигни, но кто знает может ты кроме разговоров, уже пишешь что-то и это не только мечты, который ты излагаешь тут томами.
Добавлено (28.05.2013, 01:21) --------------------------------------------- А да, покажи скрины хотябы, демки какой.
Вот пример - как из сценария матрицы в моей программе можно сделать - "матрицу"...
И да без скриншотов, это походит на отрывок из фильма или книги.
Добавлено (28.05.2013, 01:26) --------------------------------------------- VedaViz, не ну правда, ты можешь излагать все более емко. Чтобы твой пост был как минимум на 60% меньше. Я конечно понимаю и мне иногда охото осветить все аспекты, но многие даже читать не станут. Смысл столько писать, а ведь из тех кто не стал читать, мог пропасть твой поклонник.
Добавлено (28.05.2013, 01:28) --------------------------------------------- Или заведи блог в конце концов и за подробной инфой отсылай людей туда.
В общем что-то делаю, но пока не пойму ни как :) Тень - выражение основной сущности человека.
А да, покажи скрины хотябы, демки какой. И да без скриншотов, это походит на отрывок из фильма или книги.
См. видео на моем ютюб канале о программе.
P.S. Это я к тому, что видео - это лучше чем скриншоты. а то что похоже на фильмы или книги - это так и должно быть =-) в программе открываются-то книги, а нужно чтобы получился "(мульт)фильм"... * Откапывая ошибки, теряют время, которое употребили бы, быть может, на открытие истин. (Вольтер)
1.Моё мнение после прочтения 60% контента темы (по ссылкам не переходил кроме ютубовского канала, чтобы посмотреть демонстрацию программы):
Меня убила эта тема Такую тему удалять нельзя! Это шедеврально! :D
2. VedaViz, старайтесь отличать троллинг форумчан от сообщений "по теме"
Цитата (daun)
а можно подробнее писать, а то не все понятно
- вот это был троллинг и я почти минуту смеялся, когда опускаясь ниже по странице увидел ваш пост, который стал более подробно описывать ситуацию (пост по размерам колоссальный)
3. Просмотрев видео я увидел самую обычную маленькую программку. Я подобным лет 7 назад баловался, когда узнал, что "компьютер может воспроизводить слова". Написание подобной программы (функционал близок к вашему) у меня занимало буквально не больше получаса.
а) Смысл был разводить все эти сверх длинные диалоги, при этом касаясь религии? ( VedaViz, прошу не отвечайте на эту строчку, так как ваш ответ, наверное, будет снова на целую страницу и снова не смогу его прочитать. Данный вопрос скорее просто адресован форумчанам) б) При таком низком уровне реализации Вы меня весьма разочаровали, так как после прочтения всех страниц (а первые сообщения в теме датируются 2011 годом) (ваши длинные монологи, увы, пропускал) ждал кульминации в виде программы хотя бы в 3 раза лучшим функционалом, чем сейчас. в) VedaViz, не отчаиваетесь, надеюсь у вас всё получится и результаты будут действительно впечатляющими.
И настоятельно рекомендую использовать спойлеры при написании больших монологов - по крайней мере навигация по теме будет удобней. Создатель игры The Era of Lords (заморожена) Создатель крупного мода G.M.B. для Stronhgold Crusader и ряда других к нескольким играм.
Программист, геймдизайнер, сценарист, тестер.
Сообщение отредактировал LORD_VALROY - Вторник, 28 Мая 2013, 23:16
- вот это был троллинг и я почти минуту смеялся, когда опускаясь ниже по странице увидел ваш пост, который стал более подробно описывать ситуацию (пост по размерам колоссальный)
Так уж и троллинг, просто шутка в контексте. Автор темы далеко не прост, крепкий орешек, тролить зубы сломаешь, что-то тестирует, загадка...