ЦитироватьУже размещал здесь свой тест:Это фигня всё... тестировать надо на сценах близких к реальным проектам с тучей геометрии и материалов...Сцен для тестов полно...
Уже размещал здесь свой тест:
Как я увидел и понял, программа пишется на питоне, и, только функции, требующие больших вычислений пишутся на cython, компилятся и подключаются как модули.
З.Ы. а если честно, то написание проги, "не сделает мульт"... мульту пофиг на проги он может быть и нарисован вручную...
Тупо надоел уже отказ написанных ранее скриптов
ЦитироватьТупо надоел уже отказ написанных ранее скриптовLanuHum, так никто же не заставляет постоянно на новую версию блендера перепрыгивать, можно "зависнуть" на одной, которая более-менее устраивает, и писать под нее...
...я всё же хотел бы сидя дома зарабатывать...
Цитата: LanuHum от 26 Ноябрь 2015, 20:30:27...я всё же хотел бы сидя дома зарабатывать...Ну, что сразу не сказал об этом? Нормальное желание. Зарабатывать аниматором(моделлером) или кодером? Не понятно немного, предполагаю аниматором.Я, в свое время, был впечатлен программистом по имени Томас Петерсон (Tomas Pettersson) - создатель Sculptirs http://www.3dnews.ru/600032 . Потом немного расстроен, что его(программиста) купили zbrush, что бы не развивалась Sculptirs - их возможный конкурент. Конечно это хорошо для самого программиста, зарплата и все такое. Если я правильно понял, то сейчас он их покинул. Вроде его сайт http://www.drpetter.se давно не обновлялся видимо. Интересные у него проекты были http://www.drpetter.se/project_matchref.html Я к тому, что можно делать открытый проект и тебя могут заметить. Sculptirs - как пример этого.Это если программером быть/хотеть, но думаю и с анимацией(мультом) также получится
/*<?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 byincreasing the value of the hairs variable. If there are multiple hairs at a vertex, their spreadcan 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 objectbasemeshname = "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()); }}
Например, с помощью скрипта в Art Of Illusion создаётся мех.
ЦитироватьНапример, с помощью скрипта в Art Of Illusion создаётся мех.Таким же образом можно написать скрипт в Блендере и нафигачить волос, вместо того чтобы несколько крутилок крутануть... писать скрипт - это всегда будет дольше... я не понимаю, нафига усложнять себе жизнь?
но, если ты создашь в Блендере волосы из кривых 30 на полигон, то openGL начнёт тормозить, ты не сможешь работать в редакторе.