Автор Тема: Art of Illusion  (Прочитано 15230 раз)

Оффлайн LanuHum

  • Житель
Re: Art of Illusion
« Ответ #15 : 22 Ноябрь 2015, 22:36:34 »
Цитировать
Уже размещал здесь свой тест:
Это фигня всё... тестировать надо на сценах близких к реальным проектам с тучей геометрии и материалов...
Сцен для тестов полно...
Согласен, но не в шесть раз же медленнее одну и ту же вазу рендерить? Я кидал текстуру с альфой на занавеску - рендер за секунды, а у Поврея за минуты. А, вот метаболы считает очень медленно иллюзион, некоторые нюансы есть неприятные: прозрачный объект не спекулярит, рельеф какой-то слабоватый.

Оффлайн Samovar

  • Житель
Re: Art of Illusion
« Ответ #16 : 22 Ноябрь 2015, 22:44:26 »
Ну, всех случаев тоже сложно предусмотреть... но если Java код работает быстро, то он будет еще быстрее работать на C, и еще быстрее на ассемблере сконфигурированном под конкретную архитектуру проца (правда совместимость будет убита, С  в этом смысле - компромисс)...
Вывод: взять код, въехать в его суть и переписать на низком уровне... но это только звучит просто :)
На ассемблерах, кстати сейчас гораздо проще писать, во многих нет сегментации, а используется плоская модель памяти. И это не такой уж и сложный язык... С абстракции гораздо сложнее, но их проще понять зная ассемблер.
http://www.agpu.net/fakult/ipimif/fpiit/kafinf/rabkab/ArchKomp/Assembler_dlya_chaynikov.pdf
С Intel синтаксисом  лучше юзать этот: http://flatassembler.net/download.php
« Последнее редактирование: 22 Ноябрь 2015, 23:41:34 от Samovar »

mr.A

  • Гость
Re: Art of Illusion
« Ответ #17 : 23 Ноябрь 2015, 02:47:43 »
Цитировать
Как я увидел и понял, программа пишется на питоне, и, только функции, требующие больших вычислений пишутся на cython, компилятся и подключаются как модули.
Все равно сложно. Программа большая ~5МБт исходников (>500 файлов *.java)
« Последнее редактирование: 23 Ноябрь 2015, 02:54:28 от mr.A »

Оффлайн Samovar

  • Житель
Re: Art of Illusion
« Ответ #18 : 23 Ноябрь 2015, 02:52:21 »
 :o  Вы всерьёз решили  собственный графредактор с рендером написать? А чего не  на бейсике + ассемблер? Это ж проще намного... в PureBasic встроен Fasm... вернее Purebasic написан на Fasm... что прикольно... но за деньги и ООП нету.... зато графика и разработка GUI встроены и совместимы с линухами... и шустрый код компилит...  торренты в помощь :) ... даж могу поучаствовать :)  Как вариант Pascal и конструктор Hiasm
З.Ы. а если честно, то написание проги, "не сделает мульт"... мульту пофиг на проги :) он может быть и нарисован вручную...
« Последнее редактирование: 23 Ноябрь 2015, 03:48:25 от Samovar »

Оффлайн Samovar

  • Житель
Re: Art of Illusion
« Ответ #19 : 23 Ноябрь 2015, 04:05:28 »
Сцены для тестов: http://www.3drender.com/challenges/

Оффлайн LanuHum

  • Житель
Re: Art of Illusion
« Ответ #20 : 24 Ноябрь 2015, 19:29:49 »
З.Ы. а если честно, то написание проги, "не сделает мульт"... мульту пофиг на проги :) он может быть и нарисован вручную...
Я начал эту тему год назад, тогда про мульт речь не шла. Вернулся я же к этой теме не по причине написания кода, а по причине желания сменить Блендер на что-то стабильное на протяжении лет. Тупо надоел уже отказ написанных ранее скриптов. А сейчас я уже и не помню, к какой версии Блендера мне нужно вернуться, чтоб заработали все скрипты. Вернее, все не заработают, некоторые нужно будет исправлять назад. Ох и надоели разработчики переписыванием API. Вот уж кому-то делать нет чего точно. Да и остановка на какой-то версии - не выход. Сломается комп, купишь новый. На новом железе старая ось может не поехать, на новой оси старая прога может не поехать. Да и фишки же полезные внедряются, не хочется от них отказываться.
Да, хорошо Николаю, знает программирование, код Блендера. Надо что-то - сам дописал, пропатчил и вперёд. Надо сферическое зеркало - написал, надо колор рамп более 32 цветов - пожалуйста.  :)

Оффлайн sandman

  • Житель
Re: Art of Illusion
« Ответ #21 : 26 Ноябрь 2015, 19:42:38 »
Цитировать
Тупо надоел уже отказ написанных ранее скриптов
LanuHum, так никто же не заставляет постоянно на новую версию блендера перепрыгивать, можно "зависнуть" на одной, которая более-менее устраивает, и писать под нее...

Оффлайн LanuHum

  • Житель
Re: Art of Illusion
« Ответ #22 : 26 Ноябрь 2015, 20:30:27 »
Цитировать
Тупо надоел уже отказ написанных ранее скриптов
LanuHum, так никто же не заставляет постоянно на новую версию блендера перепрыгивать, можно "зависнуть" на одной, которая более-менее устраивает, и писать под нее...
Ну, вот выше, что я написал? Вот, будто ты три первых буквы увидел, и, давай мне писать.  :)
Добавлю к вышесказанному, что вперёд меня вёл экспортёр Блендер - Поврей, который всегда должен соответствовать самой свежей версии Блендера. Конечно, можно бы было уже давно признать, что написание экспортёра - моя глупость, и, пора уже давно удалить репозиторий с гитхаба, но , тоже говорил, что сайт Поврея - это моя единственная возможность показать что-то миру, если получится что показать. Возможно, через год я съеду с общаги, будет другое настроение будут другие мысли и идеи.
Ну, сделаю я мультик, кому я его покажу, Сангрину, тебе и Самовару? Ну, посмотрите вы, пусть даже понравится, и что? Три человека скажут мне "Молодец! Ждём продолжения!" .
Нет, я всё же хотел бы сидя дома зарабатывать свой батон с маслом. Тем более, что пенсии достойной мне не видать.

« Последнее редактирование: 26 Ноябрь 2015, 20:49:29 от LanuHum »

mr.A

  • Гость
Re: Art of Illusion
« Ответ #23 : 28 Ноябрь 2015, 01:28:56 »
...я всё же хотел бы сидя дома зарабатывать...
Ну, что сразу не сказал об этом? Нормальное желание. Зарабатывать аниматором(моделлером) или кодером? Не понятно немного, предполагаю аниматором.
Я, в свое время, был впечатлен программистом по имени Томас Петерсон (Tomas Pettersson) - создатель Sculptirs  http://www.3dnews.ru/600032  . Потом немного расстроен, что его(программиста) купили zbrush, что бы не развивалась Sculptirs  - их возможный конкурент. Конечно это хорошо для самого программиста, зарплата и все такое. Если я правильно понял, то сейчас он их покинул. Вроде его сайт http://www.drpetter.se  давно не обновлялся видимо. Интересные у него проекты были http://www.drpetter.se/project_matchref.html
Я к тому, что можно делать открытый проект и тебя могут заметить. Sculptirs  - как пример этого.
Это если программером быть/хотеть, но думаю и с анимацией(мультом) также получится

Оффлайн LanuHum

  • Житель
Re: Art of Illusion
« Ответ #24 : 28 Ноябрь 2015, 10:16:44 »
...я всё же хотел бы сидя дома зарабатывать...
Ну, что сразу не сказал об этом? Нормальное желание. Зарабатывать аниматором(моделлером) или кодером? Не понятно немного, предполагаю аниматором.
Я, в свое время, был впечатлен программистом по имени Томас Петерсон (Tomas Pettersson) - создатель Sculptirs  http://www.3dnews.ru/600032  . Потом немного расстроен, что его(программиста) купили zbrush, что бы не развивалась Sculptirs  - их возможный конкурент. Конечно это хорошо для самого программиста, зарплата и все такое. Если я правильно понял, то сейчас он их покинул. Вроде его сайт http://www.drpetter.se  давно не обновлялся видимо. Интересные у него проекты были http://www.drpetter.se/project_matchref.html
Я к тому, что можно делать открытый проект и тебя могут заметить. Sculptirs  - как пример этого.
Это если программером быть/хотеть, но думаю и с анимацией(мультом) также получится
Когда я начинал проект "Ничего страшного" ещё на БУ, я говорил, что в проекте могут поучаствовать все желающие заявить о себе. Что этот мультик может быть портфолио.
Поскольку серия осталась недоделанной, можно сделать вывод, что желающих заявлять о себе в проекте не было.
О себе могу сказать, что, пока у меня есть возможность передвигаться, и, пока есть возможность зарабатывать за станком, у меня нет желания уходить во фриланс на нестабильную зарплату, или, вообще, её (зарплаты) отсутствие какое-то время.
Что мне нравится? Мне нравится моделирование и анимация с помощью программирования (скриптинга). Именно это я хочу использовать в проекте "Ничего страшного". Мне не нужен нарисованный фломастером мульт - он не принесёт мне удачи. Art Of Illusion как и Блендер имеет возможность работы со скриптами. Скриптинг в программе - это огромный её потенциал, в иных случаях несравнимый с сотнями кнопок в графическом приложении.

Оффлайн LanuHum

  • Житель
Re: Art of Illusion
« Ответ #25 : 28 Ноябрь 2015, 19:19:20 »
Например, с помощью скрипта в Art Of Illusion создаётся мех. Для мультяшного перса, по-моему, очень даже неплохо:
Цитировать
/*
<?xml version='1.0' standalone='yes' ?>
<!--  xml header for scripts & plugin manager -->
<script>
   <name>Hairy</name>
   <author>Nate Ryan (nate01@users.sourceforge.net)</author>
   <version>1.7</version>
   <date>04/20/2004</date>
   <description>
This script puts hair on the object named hairy. There must be an object in your scene named "hairy."

The hair will grow from each vertex on the object. Multiple hairs can grow from each vertex by
increasing the value of the hairs variable. If there are multiple hairs at a vertex, their spread
can be increased by increasing the value of maxSep. It's a good idea to make the new script object a child of the "hairy" object so that they move and rotate together easily.
    </description>
</script>
*/

waviness = 1.5;                    // Controls how straight the hairs are
length = 0.5;                      // Length of each hair
thickness = 0.015;                  // Thickness of each hair
hairs = 30;                        // Number of hairs at each vertex
coneAngle = 5;                     // Sets the width of the "cone" of hairs at the base
gravity = new Vec3(0.0, -1, 0.0);  // Sets the strength and direction of gravity
maxSep = 0.2;                      // avg separation of hairs in a vertex clump
inset = 0.05;                      //distance to inset each hair to lower them into the object
basemeshname = "hairy"; 

if (script.isPreview())
  hairs = 1; 

script.getCoordinates().toLocal().transformDirection(gravity);
random = new Random(0);
segmentLength = length/3.0;

// Find the object to grow hair on.
scene = script.getScene();
info = scene.getObject(basemeshname);
if (info == null) {
   print("Could not find object to apply hair to");
   return;

vector0 = info.coords.getOrigin();
up = info.coords.getUpDirection();
Zee = info.coords.getZDirection();
mesh = info.object;
script.getCoordinates().setOrigin(vector0);
script.getCoordinates().setOrientation(Zee,up); 

// Duplicate and outset the vertices. 
vert = mesh.getVertices();
norm = mesh.getNormals();
for (i = 0; i < vert.length; i  ){
   for (j = 0; j < hairs; j  ){
      v = new Vec3 [4];
      // Set the base at the vertex.
      x = random.nextDouble()-0.5;
      y = random.nextDouble()-0.5;
      if ( norm.z == 0) {
         z = random.nextDouble()-0.5;x = 0;y = 0;
      } else {
         z = (-x*norm.x-y*norm.y)/norm.z;
      }
      perpv = new Vec3(x,y,z);
      perpv.normalize();
      perpv = perpv.times(random.nextDouble()*maxSep);
      v[0] = new Vec3(vert.r.x   perpv.x, vert.r.y   perpv.y,vert.r.z   perpv.z);
      v[0].subtract(norm.times(inset));

      // Determine the direction of the hair when it leaves the base.
      theta1 = coneAngle*(random.nextDouble()-0.5)*Math.PI/180.0;
      theta2 = coneAngle*(random.nextDouble()-0.5)*Math.PI/180.0;
      theta3 = coneAngle*(random.nextDouble()-0.5)*Math.PI/180.0;
      phi = random.nextDouble()*2.0*Math.PI;
      dir = new Vec3(theta1 norm.x, theta2 norm.y, theta3 norm.z);
      dir.add(gravity.times(0.5));

      // Place the remaining vertices.
      for (k = 1; k < v.length; k  )     {
        // Place the next vertex.
        dir.normalize();
        v[k] = v[k-1].plus(dir.times(segmentLength));
        // Add a random displacement to the direction.
        dir.x  = waviness*(random.nextDouble()-0.5);
        dir.y  = waviness*(random.nextDouble()-0.5);
        dir.z  = waviness*(random.nextDouble()-0.5);
        // Add a displacement due to gravity.
        dir.add(gravity);
      }
      // Create the hair.
      hair = new Tube(v, new float [] {1.0f, 1.0f, 1.0f, 1.0f}, new double []
       {thickness, thickness,  thickness, 0.0}, Tube.APPROXIMATING, Tube.OPEN_ENDS);
      script.addObject(hair, new CoordinateSystem());
   }
}
« Последнее редактирование: 28 Ноябрь 2015, 19:21:31 от LanuHum »

Оффлайн Samovar

  • Житель
Re: Art of Illusion
« Ответ #26 : 28 Ноябрь 2015, 19:29:35 »
Цитировать
Например, с помощью скрипта в Art Of Illusion создаётся мех.
Таким же образом можно написать скрипт в Блендере и нафигачить волос, вместо того чтобы несколько крутилок крутануть... писать скрипт - это всегда будет дольше...  я не понимаю, нафига усложнять себе жизнь?

Оффлайн LanuHum

  • Житель
Re: Art of Illusion
« Ответ #27 : 28 Ноябрь 2015, 20:12:42 »
Цитировать
Например, с помощью скрипта в Art Of Illusion создаётся мех.
Таким же образом можно написать скрипт в Блендере и нафигачить волос, вместо того чтобы несколько крутилок крутануть... писать скрипт - это всегда будет дольше...  я не понимаю, нафига усложнять себе жизнь?
Есть, но...
Блендер очень хорош в разумных пределах. Есть моменты, когда Блендер не может создать нужное количество элементов объекта, либо самих объектов. Ты очень категорично относишься к моим сообщениям. Я показываю общую картину, а ты каждый мой пример рассматриваешь как частный случай. Так вот, я говорю вот о чём. Если создавать сцену, имеющую финалом текстовой файл за пределами одного графического редактора, а рендерить её с помощью рендера, читающего этот файл, то можно для создания этой сцены использовать несколько редакторов, используя лучшие качества каждого. Это фанатизм - я, Самовар, в блендере сделаю всё, что ты сделаешь в блендере + Wings3D +ArtOfIllusio.! Ты неправ.
Вот пример Wings
Создаём объект, применяем subdiv, затем, extrude
Мы получаем объект, который в Блендере не получить. Потому что ты увидишь в этом частный случай, ты скажешь: " Нах нам такой объект?"
Я же вижу в этом общую картину: wings имеет недоступные для Блендера инструменты, которые когда-нибудь можно использовать.В том числе можно применить в Блендере, используя выделение фейсов по числу  вершин. А здесь у нас есть фейсы и с тремя, и с четырьмя, и с пятью вершинами...
« Последнее редактирование: 28 Ноябрь 2015, 20:30:17 от LanuHum »

Оффлайн LanuHum

  • Житель
Re: Art of Illusion
« Ответ #28 : 28 Ноябрь 2015, 20:25:22 »
Созданный в Art Of Illusion мех - ни есть мех на самом деле. Это массив объектов tube, имеющих свои свойства, типа интерполяции, подобно кривым в Блендере, но, если ты создашь в Блендере волосы из кривых 30 на полигон, то openGL начнёт тормозить, ты не сможешь работать в редакторе.

Оффлайн Samovar

  • Житель
Re: Art of Illusion
« Ответ #29 : 28 Ноябрь 2015, 20:29:31 »
Смахивает на бред... Ничто никому до сих пор не мешало экспортировать и импортировать полигональные модели меж 3D приложениями... Что нового?
Цитировать
но, если ты создашь в Блендере волосы из кривых 30 на полигон, то openGL начнёт тормозить, ты не сможешь работать в редакторе.

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

 


Яметрика

* По форуму

* Рекламный блок

* Последние вложения

1 (1).png
Скачано: 90
Автор: LEXA ANЭGROWND
blender.png
Скачано: 97
Автор: ipv2007
4.png
Скачано: 127
Автор: hiroyukiss
2.png
Скачано: 146
Автор: hiroyukiss

Скачано: 156
Автор: Dilifa12