Difference between revisions of "How do I.ru"
(→Можно ли импортировать другие векторные форматы?: "Можно ли" -> "Как") |
m (Text replace - '{{l|Category:' to '{{Category|') |
||
(19 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
<!--Categories--> | <!--Categories--> | ||
− | + | {{Category|Tutorials.ru}} | |
− | Не стесняйтесь, добавляйте свои вопросы сюда или | + | Не стесняйтесь, добавляйте свои вопросы сюда или {{l|Contact|свяжитесь с нами}} по их поводу. Или поместите их в нашу {{l|Wiki Wish List|книгу жалоб и предложений}}. |
__TOC__ | __TOC__ | ||
Line 24: | Line 24: | ||
== Как получить примерно те же привязки, что и во Flash? == | == Как получить примерно те же привязки, что и во Flash? == | ||
− | '''1.''' Выполните действия, рекомендуемые советом | + | '''1.''' Выполните действия, рекомендуемые советом {{l|How_do_I.ru#Как_поменять_клавиатурные_привязки.3F|по поводу клавиатурных привязок}}, за исключением шага 3. |
'''2.''' Скопируйте приведённый здесь код, вставьте его в самый конец файла '''accelrc''', сохраните файл и закройте текстовый редактор. | '''2.''' Скопируйте приведённый здесь код, вставьте его в самый конец файла '''accelrc''', сохраните файл и закройте текстовый редактор. | ||
Line 52: | Line 52: | ||
# Создайте область, которую вы хотите залить градиентом и сам градиент, если вы этого ещё не сделали. | # Создайте область, которую вы хотите залить градиентом и сам градиент, если вы этого ещё не сделали. | ||
− | # Убедитесь, что слой градиента находится над слоем области в | + | # Убедитесь, что слой градиента находится над слоем области в {{l|Layers Panel.ru|панели слоёв}}. |
− | # Выделите оба слоя, щёлкните по ним правой кнопкой мыши и выберите | + | # Выделите оба слоя, щёлкните по ним правой кнопкой мыши и выберите {{l|Encapsulate.ru|"Encapsulate"}}. |
− | # Раскройте содержимое | + | # Раскройте содержимое {{l|Paste Canvas.ru|объединяющего слоя}}, если это ещё не сделано, и выберите слой градиента. |
− | #Щёлкните по параметру | + | #Щёлкните по параметру {{l|Blend Method.ru|"Blend Method"}} на {{l|Params Panel.ru|Панели свойств}} и в появившемся выпадающем списке выберите значение {{l|Blend Method.ru#Onto|"Onto"}}. |
− | В результате градиент будет виден только внутри той области, которая находится прямо под ним в | + | В результате градиент будет виден только внутри той области, которая находится прямо под ним в {{l|Paste Canvas|объединяющем слое}} (и внутри других слоёв в том же объединяющем слое). |
== Как показать или спрятать слой, а также отключить эффект размывания? == | == Как показать или спрятать слой, а также отключить эффект размывания? == | ||
− | Поглядите на параметр | + | Поглядите на параметр {{l|Amount Parameter.ru|Amount}} в {{l|Params Panel.ru|панели свойств}} – он задаёт, в каком количестве изображение слоя подмешивается к изображению нижележащих слоёв. |
− | Другими словами, это позволяет управлять прозрачностью слоя. В случае | + | Другими словами, это позволяет управлять прозрачностью слоя. В случае {{l|Blur Layer.ru|слоя размывания}} этот параметр задаёт соотношение между размытой и неразмытой версиями слоя. Если вы хотите уменьшить силу размывания, измените у слоя размывания параметр {{l|Blur Layer.ru#Size|"Size" }} |
== Как заполнить контур? == | == Как заполнить контур? == | ||
− | (Запрошено пользователем | + | (Запрошено пользователем {{l|User:Karlb|Karlb}}) |
Есть несколько способов сделать это: | Есть несколько способов сделать это: | ||
Line 72: | Line 72: | ||
* Простейший способ заполнить контур – создать новую область и связать её форму с формой контура. | * Простейший способ заполнить контур – создать новую область и связать её форму с формой контура. | ||
*# Выберите контур, который вы хотите заполнить. | *# Выберите контур, который вы хотите заполнить. | ||
− | *# Кликните правой кнопкой по параметру "Vertices" в панели свойств, выберите "Export", введите имя для контура и нажмите клавишу "Enter" на клавиатуре. В результате форма контура будет экспортирована и появится в | + | *# Кликните правой кнопкой по параметру "Vertices" в панели свойств, выберите "Export", введите имя для контура и нажмите клавишу "Enter" на клавиатуре. В результате форма контура будет экспортирована и появится в {{l|Children Panel.ru|Панели дочерних элементов}}. |
*# Раскройте дерево "ValueBase Nodes" в Панели дочерних элементов и выберите имя контура, который вы только что экспортировали. | *# Раскройте дерево "ValueBase Nodes" в Панели дочерних элементов и выберите имя контура, который вы только что экспортировали. | ||
− | *# В | + | *# В {{l|Layer Menu.ru|меню слоёв}} (его можно вызвать, как щёлкнув правой кнопкой мыши по {{l|Layers Panel.ru|панели слоёв}}, так и воспользовавшись {{l|Canvas Menu Caret.ru|кнопкой вызова меню}}) создайте новую {{l|Region Layer.ru|область}}, выбрав пункт "New Layer -> Geometry -> Region". Убедитесь, что она выбрана. |
*# Щёлкните правой кнопкой мыши по параметру "Vertices" в диалоге свойств, выберите "Connect". | *# Щёлкните правой кнопкой мыши по параметру "Vertices" в диалоге свойств, выберите "Connect". | ||
*# Теперь, если вы ничего больше не собираетесь делать с экспортированным контуром, можно прекратить его экспорт: кликните на его имени в Панели дочерних элементов правой кнопкой и выберите пункт меню "Unexport". | *# Теперь, если вы ничего больше не собираетесь делать с экспортированным контуром, можно прекратить его экспорт: кликните на его имени в Панели дочерних элементов правой кнопкой и выберите пункт меню "Unexport". | ||
* Есть ещё один похожий способ. | * Есть ещё один похожий способ. | ||
*# Создайте новую область (так же, как это было описано выше), и оставьте её выбранной. | *# Создайте новую область (так же, как это было описано выше), и оставьте её выбранной. | ||
− | *# Не делайте пока никаких изменений в контуре, который вы хотите заполнить (подробности — | + | *# Не делайте пока никаких изменений в контуре, который вы хотите заполнить (подробности — {{l|Linking.ru#Tier_5|на странице про связывание}})! |
− | *# Выберите оба слоя (контур и область) на | + | *# Выберите оба слоя (контур и область) на {{l|Layers Panel.ru|панели слоёв}}. В {{l|Params Panel.ru|панели свойств}} при этом станут видны только те параметры, которые есть и у контура, и у области. |
− | *# Щёлкните правой кнопкой по параметру | + | *# Щёлкните правой кнопкой по параметру {{l|Vertices Parameter.ru|"Vertices"}} и выберите пункт меню {{l|Linking.ru|"Link"}}. |
− | *# | + | *# {{l|Region Layer.ru|Область}} тут же примет форму выбранного {{l|Outline Layer.ru|контура}}. |
− | * Когда вы с помощью | + | * Когда вы с помощью {{l|Bline Tool.ru|иструмента BLine}} создаёте {{l|Outline Layer.ru|контур}}, в который, по вашему замыслу, должен быть заполнен, лучше сразу убедитесь, что поставили галочку "Fill" в {{l|Bline Tool.ru#Options|диалоге свойств инструмента}}. Хотя, яcное дело, для тех, кто понял, что ему нужна заливка, уже после создания контура, это не очень полезный совет. |
− | * Если вы используете | + | * Если вы используете {{l|draw tool.ru|Инструмент рисования}}, вы можете использовать кнопку "Fill Last Stroke" в нижней части {{l|draw tool.ru#Options|диалога свойств этого инструмента}}, которая создаёт новую {{l|Region Layer.ru|область}} и задаёт ей ту же форму, что и у только что нарисованного контура. |
− | * Ещё один способ — создать | + | * Ещё один способ — создать {{l|Region Layer.ru|область}} с тем же количеством уТочек, что и у контура, и присоединить каждую точку к контуру вручную. Если вы создаёте область, которая должна заполнять несколько контуров, это пока единственный способ. |
* Выберите Инструмент рисования, настройте его так, чтобы он создавал только область, без контура, нарисуйте что-то, примерно совпадающее с контуром, который вы хотите заполнить и убедитесь, что вы удерживаете клавишу Ctrl, когда отпускаете левую кнопку мыши. Правда, нельзя сказать, что в текущей версии Synfig это всегда работает так, как надо. | * Выберите Инструмент рисования, настройте его так, чтобы он создавал только область, без контура, нарисуйте что-то, примерно совпадающее с контуром, который вы хотите заполнить и убедитесь, что вы удерживаете клавишу Ctrl, когда отпускаете левую кнопку мыши. Правда, нельзя сказать, что в текущей версии Synfig это всегда работает так, как надо. | ||
== Как объединять окна? == | == Как объединять окна? == | ||
− | * Чтобы | + | * Чтобы объединить два окна, перетащите ''иконки'' всех панелей одного из окон на другое. |
* Окна можно разделять на секции, для этого надо перенести иконку панели на боковые вкладки (site tabs) — это такие прямоугольники вдоль вертикальных граней окна. | * Окна можно разделять на секции, для этого надо перенести иконку панели на боковые вкладки (site tabs) — это такие прямоугольники вдоль вертикальных граней окна. | ||
* Можно упорядочивать вкладки внутри окна, перетаскивая их друг через друга. | * Можно упорядочивать вкладки внутри окна, перетаскивая их друг через друга. | ||
Line 102: | Line 102: | ||
== Как заполнять фигуры растровым рисунком вместо цвета? == | == Как заполнять фигуры растровым рисунком вместо цвета? == | ||
− | Создайте новый объект (подойдут контур, регион, прямоугольник, круг, многогранник). Импортируйте картинку, которую собираетесь использовать для заливки, и поместите её на слой над вашим объектом. С помощью | + | Создайте новый объект (подойдут контур, регион, прямоугольник, круг, многогранник). Импортируйте картинку, которую собираетесь использовать для заливки, и поместите её на слой над вашим объектом. С помощью {{l|Params_Panel.ru|Панели свойств}} измените метод смешивания на "Onto" или "Straightonto". |
Создайте новый объединяющий слой для объекта и картинки с заливкой, иначе будут раскрашены все объекты под картинкой. | Создайте новый объединяющий слой для объекта и картинки с заливкой, иначе будут раскрашены все объекты под картинкой. | ||
Line 110: | Line 110: | ||
== Как импортировать другие векторные форматы? == | == Как импортировать другие векторные форматы? == | ||
− | Пока никто не написал поддержку импорта векторных форматов для Synfig. Вы можете использовать | + | Пока никто не написал поддержку импорта векторных форматов для Synfig. Вы можете использовать {{l|Converters.ru|внешний конвертер}} Svg2synfig, или импортировать растровую версию картинки и векторизовать её в Synfig вручную. Разумеется, если кто-то напишет патч, добавляющий в программу импорт векторных форматов, мы с радостью его примем. |
== Как замкнуть контур? == | == Как замкнуть контур? == | ||
Line 116: | Line 116: | ||
Щёлкните правой кнопкой на начальной вершине контура и выберите "Loop BLine" (замкнуть контур). | Щёлкните правой кнопкой на начальной вершине контура и выберите "Loop BLine" (замкнуть контур). | ||
− | : '''Замечание''': Это не сработает, если начальная вершина совпадает со своими касательными, то есть когда первый сегмент контура не искривлён | + | : '''Замечание''': Это не сработает, если начальная вершина совпадает со своими касательными, то есть когда первый сегмент контура не искривлён — вместо контекстного меню вершины вы получите контекстное меню касательных, где нет пункта "Loop BLine". Но уТочки касательных можно скрыть (нажав "Alt+3", или нажав кнопку вызова меню и выбрав пункт "View -> Show/Hide Ducks -> Show tangent ducks" ("Вид -> Показать/Скрыть уТочки -> Показать уТочки касательных"), и тогда это снова будет получаться. Не забудьте только потом нажать "Alt+3", чтобы снова сделать уТочки касательных видимыми. |
− | == | + | == Как менять параметры всех объектов объединяющего слоя? == |
− | + | Щёлкните правой кнопкой по названию объединяющего слоя в {{l|Layers_Panel.ru|Панели слоёв}} и выберите пункт меню "Select All Child Layers" ("Выделить все дочерние слои"). Затем выберите {{l|Duck.ru|уТочки}}, которые вы хотите перетаскивать (обычно это все уТочки объектов, например, при вращении) и нужный инструмент, скажем, вращения, или масштабирования. Всё, можно выполнять нужную вам операцию. | |
− | == | + | == Как определять, какой объект заслоняет соседний, не перемещая слои? == |
− | + | Обратите внимание, что каждому слою соответствует некое число в колонке "Z" на {{l|Layers Panel.ru|Панели слоёв}}. Предположим, у нас есть три слоя, у которых эти значения такие: 2 (самый нижний, пусть это будет, например, квадрат), 1 (скажем, круг) и 0 (обычно самый верхний; это линия). Чтобы слой с квадратом заслонил слой с кругом, с помощью {{l|Params_Panel.ru|Панели параметров}} запишите в поле "Z Depth" слоя с кругом число 3 или большее. Чтобы сделать самым верхним квадрат, запишите в его поле "Z Depth" значение -1 или меньше. | |
− | + | Значения на оси Z возрастают по мере движения вглубь экрана и убывают по мере движения из экрана, на зрителя. | |
It is possible to animate this effect, but each layer is discrete. They seem to go from 0 to 0.9999. | It is possible to animate this effect, but each layer is discrete. They seem to go from 0 to 0.9999. | ||
− | + | Движение по оси Z можно анимировать, но для каждого слоя в отдельности. They seem to go from 0 to 0.9999. | |
+ | |||
+ | Кроме того, объекты внутри объединяющего слоя могут заслонять только друг друга. Однако один объединяющий слой может быть заслонён другим. | ||
== Copy a complex convert combination between parameters of different layers? == | == Copy a complex convert combination between parameters of different layers? == | ||
− | For example: you want to copy a complicated | + | For example: you want to copy a complicated {{l|Convert|conversion}} type that you have in one parameter from a layer, to other parameter (maybe not a root parameter, but a sub-parameter) of other layer. If you {{l|Export|export}} the complicated conversion type from the original layer and then go to the other layer and select {{l|Connect}} (right click and the exported and the parameter both selected) then you have the parameter form the second layer to be exactly the same than the original one. But there is a drawback: if you modify one of the sub-parameters in the complicated conversion type (e.g. you change the value of one of them) then automatically the same sub-parameter of the other layer is changed. |
How can you copy the conversion but allow modify the sub-parameters independently on each layer? | How can you copy the conversion but allow modify the sub-parameters independently on each layer? | ||
− | Once you have achieved the complex conversion type in the original layer, <u>don't export the root parameter!</u> If you have done yet | + | Once you have achieved the complex conversion type in the original layer, <u>don't export the root parameter!</u> If you have done yet {{l|Export|unexport}} it. (Why?. You will understand it later.) Now duplicate the original layer. Then you should obtain the same layer with the same conversion type placed at the same parameter (but not exported). NOW export the parameter from the duplicated layer. Then go to the (sub) parameter of the layer where you want to copy the complex conversion type and Connect it to the just exported parameter form the duplicated layer. Now delete the duplicated layer (!). Then the exported {{l|ValueNode}} still undeleted and the layer where you wanted to copy the complex convert type have a (sub) parameter connected to it. You can {{l|Export|unexport}} the ValueNode or not. It is up to you. But notice that the conversion type is already copied into other (sub) parameter of other layer and they are independent as well as you can change one of them (by modifying the sub-parameters) and the other remains untouched. |
− | == | + | == Как запустить уже созданный мультфильм со вдвое меньшей скоростью? == |
− | + | Если у вас уже есть мультфильм, длящийся от 0s до отметки 10s, а вы хотите растянуть его вдвое (от 0s до отметки 20s), вы можете добиться этого двумя способами. | |
− | * | + | * Либо — изолируйте фрагмент, и с помощью параметра изолирующего слоя "Time Offset" замедлите воспроизведение: |
− | ** | + | ** Щёлкните правой кнопкой мыши по параметру "Time Offset" в изолирующем слое, выберите пункт контекстного меню "Convert -> Linear", выставьте появившиеся подпараметры "Rate" в -0.5, а "Offset" в 0. Это соответствует коррекции времени в -0.5 секунды на секунду — иными словами, воспроизведение, замедленное в два раза. |
− | ** | + | ** Или же можно использовать фиксаторы для параметра "time offset": 0 в 0s и -10 в 20s. (Выбор между линейным преобразованием (linear convert) и фиксаторами - полностью на ваше усмотрение, в таких простых случаях оба способа дают совершенно одинаковый результат.) |
− | * | + | * Либо - используйте {{l|Time Loop Layer.ru|Time Loop Layer}}. Первый метод, похоже, в данном случае и лучше, и проще, но того же самого эффекта можно добиться с помощью Time Loop layer. Возможно, если фрагмент, который надо замедлить, начинается не с 0s, а с какого-то другого момента, даже лучше использовать именно Time Loop layer. Как бы то ни было, сам способ вот какой. Поместите Time Loop layer над слоями, которые вы хотите замедлить, и |
− | ** | + | ** Или выставьте параметры слоя так: "Duration" — 0, "Local Time" — в 0, затем щёлкните правой кнопкой мыши по параметру "Link Time", выберите пункт меню "Convert -> Linear" и назначьте появившемуся подпараметру "Rate" значение 0.5 — это задаст фрагменту скорость в 0.5 исходной ; чем большим будет этот коэффициент, тем ''выше'' будет скорость фрагмента. |
− | ** | + | ** Или же выставьте продолжительность фрагмента в 1h*, параметр "Link Time" в 0, щёлкните правой кнопкой мыши по параметру "Local Time", выберите в появившемся контекстном меню пункт "Convert -> Linear" и назначьте появившемуся подпараметру "Rate" значение 0.5 — это замедлит фрагмент на 50%; чем больше будет этот коэффициент, тем ''медленнее'' будет воспроизводиться фрагмент. |
− | + | ||
− | + | (*) Если ваш фрагмент — больше часа длиной, выставьте этот параметр в EOT (от "End Of Time", "до конца времён"), что означает то же самое, что бесконечное значение (INF) для вещественных чисел, но применительно ко временным параметрам. | |
− | + | == Как нарисовать прямоугольник с заданными шириной и высотой? == | |
− | + | Я выяснял в IRC, как задать ширину и высоту прямоугольника вместо того, чтобы задавать координаты двух противоположных углов. Оказывается, вот как: | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | * нарисуйте прямоугольник; | |
− | + | * перейдите в {{l|Params Panel.ru|Панель свойств}}; | |
− | + | * щёлкните правой кнопкой мыши по параметру "point 1" и в появившемся контекстном меню выберите {{l|Export.ru|Export}}; | |
+ | * дайте экспортируемому параметру имя, скажем, "p1"; | ||
+ | * щёлкните правой кнопкой мыши по параметру "point 2" и {{l|Convert.ru|преобразуйте}} его тип в {{l|Convert.ru#Add|"Add"}}; | ||
+ | * (это означает, что вы, вместо того, чтобы вычислять абсолютные координаты второй точки, предлагаете Synfig подчитать это значение за вас) | ||
+ | * (в результате у параметра "point 2" появятся два подпараметра, суммой которых, собственно, и будет "point 2"; теперь нам надо сделать значениями этих двух параметров координаты "point 1" и выбранные вами ширину с высотой) | ||
+ | * откройте список подпараметров параметра "point 2", щёлкнув по треугольнику слева от его названия; | ||
+ | * перейдите в {{l|Children Panel.ru|Панель дочерних элементов}}, откройте список переменных ("ValueBase Nodes") и выберите то, которое вы только что экспортировали (p1); | ||
+ | * щёлкните правой кнопкой по параметру "LHS" и в появившемся контекстном меню выберите пункт {{l|Connect.ru|"Connect" ("Связать")}}; | ||
+ | * введите значения нужных вам ширины и высоты прямоугольника в поля "X" и "Y" параметра "RHS". | ||
− | == | + | == Как добиться, чтобы слой вращения не влиял на связанные вершины BLine? == |
+ | Посмотрите обсуждение на http://dooglus.rincevent.net/synfig/logs/2008/%23synfig-2008-02-07.log | ||
+ | См. также статью {{l|Convert.ru|Convert}}. | ||
− | + | == Как создать пунктирный контур? == | |
− | + | Самый быстрый способ получить простые пунктирные контуры такой. | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | * Создайте {{l|Bline.ru|Bline}} с помощью {{l|Bline Tool.ru|инструмента Bline}}, поставив в {{l|Tool Options Panel.ru|Панели параметров инструмента}} галочки напротив параметров "Контур" (Outline) и "Градиент по кривой" (Create Curve Gradient Bline). | |
+ | * Поднимите наверх слой градиента (он создаётся под {{l|Outline Layer.ru|слоем контура}}). | ||
+ | * Измените {{l|Blend Method.ru|метод смешивания}} на "Straight Onto". После этого градиент будет отображаться только поверх линии контура. Сам контур отображаться не будет, так что места, на которых в градиенте приходятся прозрачные точки, будут прозрачными. | ||
+ | * Отметьте параметр "Perpendicular" в панели параметров слоя, cодержащего градиент по кривой. | ||
+ | * {{l|Convert.ru|Преобразуйте}} параметр "Gradient" в слое с градиентом по кривой в "Stripes" или "Repeat Gradient". | ||
+ | * Настройте свойства дочерних параметров так, чтобы добиться нужного вам эффекта. | ||
− | === | + | == Как получить AVI с лучшим качеством? == |
− | + | ||
− | + | === Через несжатое видео === | |
− | + | Synfig использует ffmpeg для рендеринга видео в формате AVI. Сейчас нет возможности задавать параметры для ffmpeg через интерфейс Synfig, используются жёстко заданные значения. Если вы хотите получить AVI наилучшего качества, нужно сделать вот что. | |
− | + | * Отрендерить ваш мультфильм в формат yuv420p. Для этого в диалоговом окне параметров рендеринга выберите этот формат в выпадающем списке форматов, а к имени файла с вашим мультфильмом добавьте ".yuv" (без кавычек). | |
+ | * По окончании рендеринга должен получиться огромного размера файл с расширением yuv. Его можно быстро преобразовать в AVI командой: | ||
− | + | ffmpeg -i animation.yuv -sameq animation.avi | |
+ | Вместо ''animation'', понятно, нужно использовать имя файла с вашим мультфильмом. | ||
− | === | + | === Через серию файлов в формате png === |
− | + | Отрендерите ваш sif-файл в набор png-файлов: | |
mkdir render | mkdir render | ||
synfig my_animation.sifz -o render/frame.png | synfig my_animation.sifz -o render/frame.png | ||
− | + | Потом соберите из них видео с помощью ffmpeg: | |
ffmpeg -r <frame rate> -i render/frame.%04d.png <more settings from ffmpeg's manual> my_animation.mov | ffmpeg -r <frame rate> -i render/frame.%04d.png <more settings from ffmpeg's manual> my_animation.mov | ||
− | + | Если вы хотите получить видео в качественном открытом формате без заморочек, попробуйте ffmpeg2theora: | |
ffmpeg2theora render/frame.%04d.png --inputfps <frame rate> -o my_animation.ogg | ffmpeg2theora render/frame.%04d.png --inputfps <frame rate> -o my_animation.ogg | ||
− | png | + | Кстати, png занимает меньше места на диске, чем yuv. |
− | -- | + | --{{l|User:AkhIL|AkhIL}} 21:38, 9 April 2008 (EDT) |
− | + | Если хотите, можете также воспользоваться программой [http://www.mplayerhq.hu/ mplayer]. | |
mencoder mf://render/frame.*.png -mf fps=25 -o my_animation.avi -ovc lavc -lavcopts vcodec=mpeg4 | mencoder mf://render/frame.*.png -mf fps=25 -o my_animation.avi -ovc lavc -lavcopts vcodec=mpeg4 | ||
− | == | + | == Как самому скомпилировать исполнимый файл Synfig так, чтобы ресурсы моего компьютера использовались как можно эффективнее? == |
− | + | Мне бы хотелось узнать, какие параметры нужно задать конфигурационному скрипту для увеличения производительности. | |
+ | {{l|User:Genete|Genete}} 11:04, 9 April 2008 (EDT) | ||
− | + | Для этого вам понадобится поменять значения двух переменных окружения, хранящих стандартные ключи для компилятора C и C++: | |
export CFLAGS="" | export CFLAGS="" | ||
export CXXFLAGS=$CFLAGS | export CXXFLAGS=$CFLAGS | ||
− | + | Начнём с ключа "-O3" (большая латинская "O", потом цифра 3). "-02" это нормальная оптимизация, "-03" — сильная. | |
− | + | Теперь получим информацию о процессоре. Команда | |
cat /proc/cpuinfo | cat /proc/cpuinfo | ||
− | + | выведет на экран название модели процессора. | |
− | + | ||
− | + | ||
− | + | Теперь найдите в man-странице компилятора gcc раздел о ключе "-mtune". Найдите там ваш процессор и добавьте в переменную CFLAGS следующее: "-mtune=your-cpu -march=your-cpu", заменив ''your-cpu'' на модель вашего процессора. | |
− | + | Теперь поглядите на строчку в файле /proc/cpuinfo, начинающуюся с ''flags'' и найдите упомянутые там слова в man-странице компилятора gcc. Ну, например, у меня там среди прочих есть слово ''3dnow''. При поиске в man-странице gcc по этому слову я найду ключ "-m3dnow". Для sse найдутся "-msse" и "-mfpmath=sse" (только учтите, что компиляция с этими ключами может сделать программу нестабильной). | |
− | + | ||
− | + | Наконец, можете добавить ключ "-ffast-math", который запрещает проверки корректности операндов математических действий. Но это тоже может сделать программу нестабильной. | |
− | + | На моём AthlonXP я использовал такие ключи: | |
export CFLAGS="-O3 -pipe -mtune=athlon-xp -march=athlon-xp -mmmx -msse -m3dnow -mfpmath=sse -ffast-math -funsigned-char -fno-strict-aliasing" | export CFLAGS="-O3 -pipe -mtune=athlon-xp -march=athlon-xp -mmmx -msse -m3dnow -mfpmath=sse -ffast-math -funsigned-char -fno-strict-aliasing" | ||
export CXXFLAGS=$CFLAGS | export CXXFLAGS=$CFLAGS | ||
− | -- | + | --{{l|User:AkhIL|AkhIL}} 12:05, 9 April 2008 (EDT) |
− | + | На моём Pentium3 я задал такую строчку: | |
− | export CFLAGS="-O3 -pipe -mtune=pentium3 -march=pentium3 -msse -mfpmath=sse -funsigned-char -fno-strict-aliasing" | + | export CFLAGS="-O3 -pipe -mtune=pentium3 -march=pentium3 -msse -mfpmath=sse -funsigned-char -fno-strict-aliasing" |
export CXXFLAGS=$CFLAGS | export CXXFLAGS=$CFLAGS | ||
− | + | Непохоже, чтобы дополнительные ключи -mmmx и -ffast-math добавляли производительности! Так что можете их смело выкинуть. | |
− | -- | + | --{{l|User:SvH|SvH}} 03:46, 20 May 2008 (EDT) |
− | == | + | == Как импортировать в Synfig видеофайл? == |
− | + | Сейчас есть только один способ импортировать в Synfig видеофайл (причём только изображение, без звука): преобразовать видео в последовательность графических файлов и импортировать её с помощью {{l|ListImporter.ru|ListImporter}}. Итак, прежде чем загружать последовательность кадров, её надо извлечь из видео. Многие программы позволяют это сделать, но самый очевидный путь — использование mplayer: | |
mplayer mymovie.avi -vo png:z=1 -ss seconds-start -endpos duration | mplayer mymovie.avi -vo png:z=1 -ss seconds-start -endpos duration | ||
− | + | Здесь ''seconds-start'' — секунда, начиная с которой надо извлекать кадры в отдельные графические файлы, а ''duration'' — продолжительность фрагмента (в секундах), который вы хотите извлечь из файла ''mymovie.avi''. В качестве формата получающихся графических файлов в данном случае задан png, но можно также использовать jpeg или tga. Узнать прочие подробности о работе mplayer можно из [http://www.mplayerhq.hu/DOCS/man/en/mplayer.1.html man-страницы] этой программы. | |
− | + | Приведённая выше команда сделает из указанного фрагмента видеофайла набор картинок в заданном графическом формате. Файлы пронумерованы по порядку (для правильной сортировки пустые разряды с левой стороны заполняются нулями). | |
− | + | Теперь нам надо создать файл с расширением ''.lst'', в котором будет описан наш видеофрагмент. Для этого в командной строке наберите в каталоге с полученными файлами команду: | |
ls *.png >> mymovie.lst | ls *.png >> mymovie.lst | ||
− | + | А потом добавьте в начало полученного файла строку, задающую количество кадров в секунду, примерно такую: | |
FPS 25 | FPS 25 | ||
− | + | В данном случае задаётся частота 25 кадров в секунду. | |
== Granted Wishes == | == Granted Wishes == | ||
Line 276: | Line 276: | ||
A partial implementation was committed in SVN r470. | A partial implementation was committed in SVN r470. | ||
− | It was implemented in svn 986. See | + | It was implemented in svn 986. See {{l|Render options}}. --{{l|User:Genete|Genete}} 13:12, 29 October 2007 (EDT) |
=== Optionally display RGB in Hex in Color dialog === | === Optionally display RGB in Hex in Color dialog === | ||
− | (3) When colors are quoted as 3 bytes of hexadecimal, you have to convert them to decimal, divide by 255, multiply by 100 to get a number to type into the dialog box. It's painful to match color schemes for example, with the [http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines Tango Icon Theme style guidelines]. | + | (3) When colors are quoted as 3 bytes of hexadecimal, you have to convert them to decimal, divide by 255, multiply by 100 to get a number to type into the dialog box. It's painful to match color schemes for example, with the [http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines Tango Icon Theme style guidelines]. {{l|User:pxegeek|PXEGeek}} 3/16/07 |
− | : Added in [http://kibi.dyndns.org:8083/~dooglus/gitweb.pl?p=synfig;a=commitdiff;h=40dda9d27b5249ee32f62d84c819ff569f078929 svn r354]. You can type 3 or 6 digit hex codes and hit return to use. 3 digit code 36a gives colour 3366aa (each digit is duplicated) -- | + | : Added in [http://kibi.dyndns.org:8083/~dooglus/gitweb.pl?p=synfig;a=commitdiff;h=40dda9d27b5249ee32f62d84c819ff569f078929 svn r354]. You can type 3 or 6 digit hex codes and hit return to use. 3 digit code 36a gives colour 3366aa (each digit is duplicated) -- {{l|User:Dooglus|dooglus}} 3/18/07 |
:: Many thanks - already used many times! PXEGeek. | :: Many thanks - already used many times! PXEGeek. | ||
− | ::: Did you notice that you can use single digit codes too? '5' gives 555555 for instance, giving you 16 equally spaces shades of black through white. -- | + | ::: Did you notice that you can use single digit codes too? '5' gives 555555 for instance, giving you 16 equally spaces shades of black through white. -- {{l|User:Dooglus|dooglus}} 17:51, 25 September 2007 (EDT) |
=== Restore Default Layout === | === Restore Default Layout === | ||
Line 293: | Line 293: | ||
-> I'd like to second this one - especially with the bug where dialog boxes sometime shrink to nothing or offscreen, and no amount of maximizing or minimizing restores them. The only solution is to kill the windows, and none of the combo options in the dialog menu match the default configuration. 4/4/07 PXEGeek | -> I'd like to second this one - especially with the bug where dialog boxes sometime shrink to nothing or offscreen, and no amount of maximizing or minimizing restores them. The only solution is to kill the windows, and none of the combo options in the dialog menu match the default configuration. 4/4/07 PXEGeek | ||
− | : Implemented in [http://kibi.dyndns.org:8083/~dooglus/gitweb.pl?p=synfig;a=commitdiff;h=036306f3c2c265a604971728d50fcce258766552 svn r757] -- | + | : Implemented in [http://kibi.dyndns.org:8083/~dooglus/gitweb.pl?p=synfig;a=commitdiff;h=036306f3c2c265a604971728d50fcce258766552 svn r757] -- {{l|User:Dooglus|dooglus}} 17:48, 25 September 2007 (EDT) |
=== General outline / Polygon-based Outline / "Set Tangents to Zero" button === | === General outline / Polygon-based Outline / "Set Tangents to Zero" button === | ||
− | (3.5) I'm no artist, thus my primary form of art is stick figures, not to mention, many interesting animations are done in stick-figure style. Stick figures must be perfectly straight to get the effect across, so when I'm making an outline using B-Curves, it is too time consuming to set the tangents to 0 each time. Similarly, outlines of other shapes like squares, circles and so forth would be very useful. Whichever of the above is easiest, please implement right away. -- | + | (3.5) I'm no artist, thus my primary form of art is stick figures, not to mention, many interesting animations are done in stick-figure style. Stick figures must be perfectly straight to get the effect across, so when I'm making an outline using B-Curves, it is too time consuming to set the tangents to 0 each time. Similarly, outlines of other shapes like squares, circles and so forth would be very useful. Whichever of the above is easiest, please implement right away. --{{l|User:Dragontamer|Dragontamer}} 02:35, 19 November 2007 (EST) |
− | : For perfectly straight lines, click without moving the mouse. You will get a single point with no tangents. Outline shapes would require some development, particularly with some thought given to backward compatibility. A workaround you might consider is to create a duplicate shape with a different color and make the top one slightly smaller, so the outline of the one below shows. | + | : For perfectly straight lines, click without moving the mouse. You will get a single point with no tangents. Outline shapes would require some development, particularly with some thought given to backward compatibility. A workaround you might consider is to create a duplicate shape with a different color and make the top one slightly smaller, so the outline of the one below shows. {{l|User:Pxegeek|Pxegeek}} 21:58, 19 November 2007 (EST) |
:: Well, in general, whenever I click on a point to edit it (say, to make it move somewhere in animation mode), there is a decent chance that I click on a tangent instead. Then, if I want to right click the point itself, I usually right click the tangent marker instead. It isn't that big a deal, but simplicity at the cost of power generally is a good thing, especially when it will save a few mouse clicks. | :: Well, in general, whenever I click on a point to edit it (say, to make it move somewhere in animation mode), there is a decent chance that I click on a tangent instead. Then, if I want to right click the point itself, I usually right click the tangent marker instead. It isn't that big a deal, but simplicity at the cost of power generally is a good thing, especially when it will save a few mouse clicks. | ||
− | :: As for the outlines, yeah, I've tried that and it is a decent solution for now, although it is no replacement for a real outline. I am going to also experiment with a clamp to see if I can make the center of the shape have 100% alpha... but I don't have synfig on the computer I'm on right now. Thanks for the tips Pxegeek. -- | + | :: As for the outlines, yeah, I've tried that and it is a decent solution for now, although it is no replacement for a real outline. I am going to also experiment with a clamp to see if I can make the center of the shape have 100% alpha... but I don't have synfig on the computer I'm on right now. Thanks for the tips Pxegeek. --{{l|User:Dragontamer|Dragontamer}} 01:58, 27 November 2007 (EST) |
− | ::: You can press Alt+3 to hide tangent ducks. -- | + | ::: You can press Alt+3 to hide tangent ducks. --{{l|User:Zelgadis|Zelgadis}} 09:27, 27 November 2007 (EST) |
Line 314: | Line 314: | ||
(4) it is really tiresome to revert changes to waypoints created by manipulating tangent/position ducks or change their interpolation functions. making it possible to right-click-modify the waypoint shown for objects that have some waypoint in a referenced sub-object would be great! -- timonator 2007-06-01 | (4) it is really tiresome to revert changes to waypoints created by manipulating tangent/position ducks or change their interpolation functions. making it possible to right-click-modify the waypoint shown for objects that have some waypoint in a referenced sub-object would be great! -- timonator 2007-06-01 | ||
− | :You can do it in two ways: changing the interpolation method of the waypoint of paste canvas or editing the keyframe properties. The first allow to modify the waypoints interpolation method for all the waypoints of all the parameters of all the layers that are inside the paste canvas layer. You can right click on the left or right part of the waypoint to edit by a context menu the left or the right interpolation method of the waipoints. The second method would add and modify all the parameters that have any waypoint in the animation. See | + | :You can do it in two ways: changing the interpolation method of the waypoint of paste canvas or editing the keyframe properties. The first allow to modify the waypoints interpolation method for all the waypoints of all the parameters of all the layers that are inside the paste canvas layer. You can right click on the left or right part of the waypoint to edit by a context menu the left or the right interpolation method of the waipoints. The second method would add and modify all the parameters that have any waypoint in the animation. See {{l|Keyframe}} for more detail. --{{l|User:Genete|Genete}} 13:10, 29 October 2007 (EDT) |
Line 320: | Line 320: | ||
=== Tweening for images developed in other imaging programs === | === Tweening for images developed in other imaging programs === | ||
− | It's obvious I am a beginner at image movement, but morphing is not enough: movement across the page is needed. Thanks for listening. | + | It's obvious I am a beginner at image movement, but morphing is not enough: movement across the page is needed. Thanks for listening. {{l|User:Comwell@bellsouth.net|Comwell}}<br> |
− | Imported images can be moved across the page. They can also be scaled, rotated and deformed. Was there a specific example you had in mind? | + | Imported images can be moved across the page. They can also be scaled, rotated and deformed. Was there a specific example you had in mind? {{l|User:Pxegeek|pxegeek}}<br> |
− | :I also would like a way to tween images that have been drawn in other programs. I've had trouble drawing with Bline tool and the drawing tool in Synfig, and I'd rather just draw with a paint brush (like the one in Photoshop). Another problem I have is that Synfig tends to shut down on me every 20 minutes or so, and it's really frustrating even with the auto recover feature, because my sketches disappear. It'd be nice if I'm able to draw all of the keyframes in Photoshop or another image program and import it to Synfig so that Synfig can tween and animate them. Thank you. | + | :I also would like a way to tween images that have been drawn in other programs. I've had trouble drawing with Bline tool and the drawing tool in Synfig, and I'd rather just draw with a paint brush (like the one in Photoshop). Another problem I have is that Synfig tends to shut down on me every 20 minutes or so, and it's really frustrating even with the auto recover feature, because my sketches disappear. It'd be nice if I'm able to draw all of the keyframes in Photoshop or another image program and import it to Synfig so that Synfig can tween and animate them. Thank you. {{l|User:xychefoo@gmail.com|Huina}} |
− | ::You CAN use images, drawn in other programs. Just select "File->Import" from | + | ::You CAN use images, drawn in other programs. Just select "File->Import" from {{l|Canvas Menu Caret|canvas menu}} --{{l|User:Zelgadis|Zelgadis}} 01:39, 24 November 2007 (EST) |
− | :::But how do you animate using images from other sources? I tried to make 2 keyframes with 2 different images, and it doesn't animate. It just stays as 1 picture for the entire render. The closest thing I saw to importing images from another source into Synfig and having it animate is the Walking Cycle Tutorial, but I would still have to trace the images to make it animate. As I said earlier, I'm not entirely fond of using the draw/Bline tool. | + | :::But how do you animate using images from other sources? I tried to make 2 keyframes with 2 different images, and it doesn't animate. It just stays as 1 picture for the entire render. The closest thing I saw to importing images from another source into Synfig and having it animate is the Walking Cycle Tutorial, but I would still have to trace the images to make it animate. As I said earlier, I'm not entirely fond of using the draw/Bline tool. {{l|User:xychefoo@gmail.com|Huina}} |
− | :::: Huina, there's no way to do what you want right now. Interpolating between two images that are not created in Synfig is well beyond its scope right now. However, what you could do is take an image and separate elements of the picture onto different layers (e.g. have a picture of an arm and another of the rest of the body) and you can move those around, stretch and rotate them. (If you're familiar with the work of Terry Gilliam on Monty Python you'll know what I mean) I don't know how feasible it is to implement your request (I suspect some heavy lifting). We'll keep it on the list, but don't hold your breath. | + | :::: Huina, there's no way to do what you want right now. Interpolating between two images that are not created in Synfig is well beyond its scope right now. However, what you could do is take an image and separate elements of the picture onto different layers (e.g. have a picture of an arm and another of the rest of the body) and you can move those around, stretch and rotate them. (If you're familiar with the work of Terry Gilliam on Monty Python you'll know what I mean) I don't know how feasible it is to implement your request (I suspect some heavy lifting). We'll keep it on the list, but don't hold your breath. {{l|User:Pxegeek|Pxegeek}} 19:57, 24 November 2007 (EST) |
− | :::: I think, you hardly find any other animation package which allow you to do such things. You could use a special tools for this task, like xmorph (http://xmorph.sourceforge.net/). But to do the tween between two bitmap images you STILL need to set points. It's not tracing, but very similar. Anyway, result may be poor and I'd better suggest to use technique, described in Walking Cycle Tutorial or which the | + | :::: I think, you hardly find any other animation package which allow you to do such things. You could use a special tools for this task, like xmorph (http://xmorph.sourceforge.net/). But to do the tween between two bitmap images you STILL need to set points. It's not tracing, but very similar. Anyway, result may be poor and I'd better suggest to use technique, described in Walking Cycle Tutorial or which the {{l|User:Pxegeek|Pxegeek}} meant. --{{l|User:Zelgadis|Zelgadis}} 02:08, 25 November 2007 (EST) |
− | :::: There is a technique called "optical flow". It takes two input frames and calculates the movement of each individual pixel between the frames, allowing interpolation to be done. Here's an example: http://www.fxguide.com/article333.html. It doesn't require setting of control points, but it has problems it's own set of problems: http://www.fxguide.com/article333.html. -- | + | :::: There is a technique called "optical flow". It takes two input frames and calculates the movement of each individual pixel between the frames, allowing interpolation to be done. Here's an example: http://www.fxguide.com/article333.html. It doesn't require setting of control points, but it has problems it's own set of problems: http://www.fxguide.com/article333.html. --{{l|User:Yoyobuae|Yoyobuae}} 13:32, 3 February 2008 (EST) |
− | === Auto-link option in | + | === Auto-link option in {{l|Draw tool}} === |
− | (4) so that you can draw a line, and have its endpoint automatically link to a duck - or if Auto-connect is off, you can get a line object linked to the end of another line object. / I missed this too, it even should be like that by default I think. | + | (4) so that you can draw a line, and have its endpoint automatically link to a duck - or if Auto-connect is off, you can get a line object linked to the end of another line object. / I missed this too, it even should be like that by default I think. {{l|User:Maxy|Maxy}} 13:22, 25 Apr 2006 (PDT) |
− | : Isn't this done already? We don't have line objects, but blines are automatically linked to if auto-connect is on. Am I missing something? -- | + | : Isn't this done already? We don't have line objects, but blines are automatically linked to if auto-connect is on. Am I missing something? -- {{l|User:Dooglus|dooglus}} 17:29, 27 September 2007 (EDT) |
− | ::To clarify dooglus' comments - If you have an outline created by the draw tool highlighted in the layer dialog and the <b>auto-extend</b> checkbox is checked, then you can continue drawing with the draw tool in that same layer. Blines created with the Bline tool cannot be extended once a different tool or layer is selected. | + | ::To clarify dooglus' comments - If you have an outline created by the draw tool highlighted in the layer dialog and the <b>auto-extend</b> checkbox is checked, then you can continue drawing with the draw tool in that same layer. Blines created with the Bline tool cannot be extended once a different tool or layer is selected. {{l|User:Pxegeek|Pxegeek}} 23:46, 12 October 2007 (EDT) |
− | ::: A line is a line - Synfig doesn't remember whether it was created with the Bline tool or the Draw tool - so you can extend blines created with the bline tool using the draw tool. Just make sure the line is selected (so that its ducks are visible), not looped (so that it has end points to extend from), enable the draw tool, check 'auto extend' and start drawing at one of its end ducks. | + | ::: A line is a line - Synfig doesn't remember whether it was created with the Bline tool or the Draw tool - so you can extend blines created with the bline tool using the draw tool. Just make sure the line is selected (so that its ducks are visible), not looped (so that it has end points to extend from), enable the draw tool, check 'auto extend' and start drawing at one of its end ducks. {{l|User:Dooglus|dooglus}} 05:47, 13 October 2007 (EDT) |
− | So this sounds like it is already done. But on a related note, being able to open an existing bline in the bline tool to extend it would be useful. -- | + | So this sounds like it is already done. But on a related note, being able to open an existing bline in the bline tool to extend it would be useful. -- {{l|User:Dooglus|dooglus}} 04:51, 29 January 2008 (EST) |
Line 350: | Line 350: | ||
=== Layer hide boolean parameter === | === Layer hide boolean parameter === | ||
− | (3) — An animatable way to remove a layer from visibility and consideration in tools. And as an option, to hide the layer in the layer list while it is invisible. This crosses over functionality from the | + | (3) — An animatable way to remove a layer from visibility and consideration in tools. And as an option, to hide the layer in the layer list while it is invisible. This crosses over functionality from the {{l|Amount Parameter}}, the Show/Hide checkbox in the {{l|Layers Panel}}, and builds upon it as well, allowing the {{l|Layers Panel}} to dynamically unclutter. ''(This feature request is a refactoring of the {{l|Amount Parameter}})'' |
− | : With the addition of the | + | : With the addition of the {{l|Convert#Switch|Switch}} type conversion it is not needed this feature request. You can convert the Amount parameter to a Switch value and give 0 and 1 to the Linked OFF/ON values. --{{l|User:Genete|Genete}} 13:20, 29 October 2007 (EDT) |
Line 359: | Line 359: | ||
(2) — Not chocobos. The ability to link a duck from one shape to an arbitrary position on another path, without creating an extra shape duck on that path. | (2) — Not chocobos. The ability to link a duck from one shape to an arbitrary position on another path, without creating an extra shape duck on that path. | ||
− | :Already done in SVN. | + | :Already done in SVN.{{l|User:Genete|Genete}} 18:59, 5 April 2008 (EDT) |
Line 368: | Line 368: | ||
(2) — Allow import of a series of images (TGA, etc) as frames of an animation, on a layer. <br> | (2) — Allow import of a series of images (TGA, etc) as frames of an animation, on a layer. <br> | ||
− | Response - 'lst' files of a list of images can be imported. I've used this to develop a walk cycle. See | + | Response - 'lst' files of a list of images can be imported. I've used this to develop a walk cycle. See {{l|Walk_Cycle|Walk cycle}} for an example. {{l|user:pxegeek|pxegeek}} |
Line 375: | Line 375: | ||
=== Character Animation Tools === | === Character Animation Tools === | ||
− | I have seen some interesting methods for helping character design/animation in different 2d/3d software. Hash's animation master has 'poses' which are extremes of a model, for example smiling and frowning, once you add these extremes ot a set you can use slider to create a pose that somewhere inbetween. The real power of this is when you have serveral different poses on the same object, a face say, you can easily come up with new facial expressions. Maybe something similar could be done with synfig using layers and groups, the implementation could something similar to Moho's switch layers. -- | + | I have seen some interesting methods for helping character design/animation in different 2d/3d software. Hash's animation master has 'poses' which are extremes of a model, for example smiling and frowning, once you add these extremes ot a set you can use slider to create a pose that somewhere inbetween. The real power of this is when you have serveral different poses on the same object, a face say, you can easily come up with new facial expressions. Maybe something similar could be done with synfig using layers and groups, the implementation could something similar to Moho's switch layers. --{{l|User:Triclops|Triclops}} 09:52, 9 Aug 2006 (PDT) |
− | : Have you read this tutorial? | + | : Have you read this tutorial? {{l|Reuse Animations}}. It is very close to the Switch layer of Moho/Anime Studio. Also You can change the Canvas parameter to any other canvas dynamically in the time line by clicking on it and selecting other exported canvas. Other option is convert the canvas to a Switch type and alternate between two different canvas. --{{l|User:Genete|Genete}} 13:26, 29 October 2007 (EDT) |
Line 384: | Line 384: | ||
=== More Animation Tools === | === More Animation Tools === | ||
− | + | {{l|New Animation Tools|Added here}} | |
Line 392: | Line 392: | ||
* Ability to draw the first object directly after starting the application (start with an empty document) | * Ability to draw the first object directly after starting the application (start with an empty document) | ||
* Ability to animate the object directly after drawing the first object (new documents have a say 3 seconds timeline) | * Ability to animate the object directly after drawing the first object (new documents have a say 3 seconds timeline) | ||
− | In my opinion this is crucial to attract potential users. Because if I see how easy it is to create my first animation I'm going to accept all the bugs and clumsyness. A good example is the Pencil animation software. -- | + | In my opinion this is crucial to attract potential users. Because if I see how easy it is to create my first animation I'm going to accept all the bugs and clumsyness. A good example is the Pencil animation software. --{{l|User:Dmd|Dmd}} 13:50, 26 January 2008 (EST) |
− | : I've implemented #2 and #3 above in svn r1519 & 1520. If no files are specified to be opened when running studio, it'll make a new one. It won't pop up the canvas properties dialog when making new canvases by default. And the default end time is 5s (3s is small enough to cause the time slider to show "1s 12f", whereas 5s looks cleaner). -- | + | : I've implemented #2 and #3 above in svn r1519 & 1520. If no files are specified to be opened when running studio, it'll make a new one. It won't pop up the canvas properties dialog when making new canvases by default. And the default end time is 5s (3s is small enough to cause the time slider to show "1s 12f", whereas 5s looks cleaner). -- {{l|User:Dooglus|dooglus}} 04:00, 29 January 2008 (EST) |
Line 403: | Line 403: | ||
=== Automatic attach and manipulate a Vertex to a Bline === | === Automatic attach and manipulate a Vertex to a Bline === | ||
− | Please see | + | Please see {{l|Inverse Duck Manipulation|this}} page to understand what we want. --{{l|User:Genete|Genete}} 12:43, 3 March 2008 (EST). |
− | :Already done in SVN. | + | :Already done in SVN. {{l|User:Genete|Genete}} 19:00, 5 April 2008 (EDT) |
Line 415: | Line 415: | ||
Given that extra ducks such as the width ones listed above may be added, this might become more and more necessary. If too many different sets are added for toggling to be feasible, each visibility for each set can be hotkeyed. | Given that extra ducks such as the width ones listed above may be added, this might become more and more necessary. If too many different sets are added for toggling to be feasible, each visibility for each set can be hotkeyed. | ||
− | : Synfig already have hotkeys to toggle visibility of the ducks. See | + | : Synfig already have hotkeys to toggle visibility of the ducks. See {{l|Keyboard_Shortcuts#Hotkeys_Visual_Guide}}. --{{l|User:Zelgadis|Zelgadis}} 00:39, 22 April 2008 (EDT) |
===Remove the thin line from stitched regions=== | ===Remove the thin line from stitched regions=== | ||
− | When you stitch or | + | When you stitch or {{l|Sewing_BLines|sew two regions together}} with the same color (or different even?) it can appear a thin line in the common edge that reveals the background color (see the problem {{l|Sewing_BLines#Removing_thin_line_bug|here}}). This is due to that the antialiasing effect is keeping the background pixels information and displays it on the region. To solve this issue it is needed to: |
:1) Uncheck all the antialias parameter of all the regions involved | :1) Uncheck all the antialias parameter of all the regions involved | ||
:2) Add a Supersample Layer over the layers that has the antialiasing parameter disabled. A value of 4 for the height and width values is usually enough. Maybe you need to check "Alpha Safe" for better results. | :2) Add a Supersample Layer over the layers that has the antialiasing parameter disabled. A value of 4 for the height and width values is usually enough. Maybe you need to check "Alpha Safe" for better results. | ||
Line 428: | Line 428: | ||
|''' REMOVED THIN LINE AFTER SUPER SAMPLE''' | |''' REMOVED THIN LINE AFTER SUPER SAMPLE''' | ||
|- | |- | ||
− | | | + | |{{l|Image: planet-saturn2.png}} |
− | | | + | |{{l|Image: planet-saturn2ss.png}} |
|} | |} | ||
It has the draw back that intermediate layers has to be super sampled too (line the planet in the example) because the super sample has to be done at the same time to the involved regions (the back and top half rings). | It has the draw back that intermediate layers has to be super sampled too (line the planet in the example) because the super sample has to be done at the same time to the involved regions (the back and top half rings). |
Latest revision as of 19:10, 13 January 2010
Не стесняйтесь, добавляйте свои вопросы сюда или свяжитесь с нами по их поводу. Или поместите их в нашу книгу жалоб и предложений.
Contents
- 1 Как добавить в изображение текст?
- 2 Как поменять клавиатурные привязки?
- 3 Как получить примерно те же привязки, что и во Flash?
- 4 Как применить градиент к объекту, а не ко всему холсту?
- 5 Как показать или спрятать слой, а также отключить эффект размывания?
- 6 Как заполнить контур?
- 7 Как объединять окна?
- 8 Как вставить в файл растровую картинку?
- 9 Как заполнять фигуры растровым рисунком вместо цвета?
- 10 Как импортировать другие векторные форматы?
- 11 Как замкнуть контур?
- 12 Как менять параметры всех объектов объединяющего слоя?
- 13 Как определять, какой объект заслоняет соседний, не перемещая слои?
- 14 Copy a complex convert combination between parameters of different layers?
- 15 Как запустить уже созданный мультфильм со вдвое меньшей скоростью?
- 16 Как нарисовать прямоугольник с заданными шириной и высотой?
- 17 Как добиться, чтобы слой вращения не влиял на связанные вершины BLine?
- 18 Как создать пунктирный контур?
- 19 Как получить AVI с лучшим качеством?
- 20 Как самому скомпилировать исполнимый файл Synfig так, чтобы ресурсы моего компьютера использовались как можно эффективнее?
- 21 Как импортировать в Synfig видеофайл?
- 22 Granted Wishes
- 22.1 MNG target filetype
- 22.2 Optionally display RGB in Hex in Color dialog
- 22.3 Restore Default Layout
- 22.4 General outline / Polygon-based Outline / "Set Tangents to Zero" button
- 22.5 Copy & Paste/Image Importing
- 22.6 Recursive Waypoint Manipulation
- 22.7 Tweening for images developed in other imaging programs
- 22.8 Auto-link option in Draw tool
- 22.9 Layer hide boolean parameter
- 22.10 Riding ducks
- 22.11 Image filmstrip import
- 22.12 Character Animation Tools
- 22.13 More Animation Tools
- 22.14 Improved User Experience for First Contact
- 22.15 Automatic attach and manipulate a Vertex to a Bline
- 22.16 Toggle visible ducks
- 22.17 Remove the thin line from stitched regions
Как добавить в изображение текст?
В разрабатываемой версии есть инструмент для работы с текстом. Если вы используете версию 0.61.08 или более раннюю, щёлкните правой кнопкой по холсту и выберите пункт меню "Layer -> New -> Other -> Text".
Как поменять клавиатурные привязки?
1. Откройте папку с конфигурационными файлами Synfig, вы можете найти её:
в Ubuntu (и прочих системах на базе GNU/Linux): /home/{ваше_имя_пользователя}/.synfig/ в Mac OS: /Users/{ваше_имя_пользователя}/Library/Synfig/ в Windows XP: C:\Documents and Settings\{ваше имя пользователя}\Synfig\ в Windows Vista: C:\Users\{ваше имя пользователя}\Synfig\
2. Откройте файл accelrc из этой папки в любом текстовом редакторе (GEdit, Kate, Notepad).
3. Поменяйте клавиатурные привязки на нужные вам, сохраните файл и закройте текстовый редактор.
Как получить примерно те же привязки, что и во Flash?
1. Выполните действия, рекомендуемые советом по поводу клавиатурных привязок, за исключением шага 3.
2. Скопируйте приведённый здесь код, вставьте его в самый конец файла accelrc, сохраните файл и закройте текстовый редактор.
; misc (gtk_accel_path "<Actions>//redo" "<Control>y") ; tools (gtk_accel_path "<Actions>//state-text" "t") (gtk_accel_path "<Actions>//state-rectangle" "r") (gtk_accel_path "<Actions>//state-rotate" "<Shift>q") (gtk_accel_path "<Actions>//state-zoom" "z") (gtk_accel_path "<Actions>//state-polygon" "n") (gtk_accel_path "<Actions>//state-bline" "p") (gtk_accel_path "<Actions>//state-normal" "v") (gtk_accel_path "<Actions>//state-eyedrop" "i") (gtk_accel_path "<Actions>//state-fill" "k") (gtk_accel_path "<Actions>//state-circle" "o") (gtk_accel_path "<Actions>//state-scale" "q") (gtk_accel_path "<Actions>//state-gradient" "g") (gtk_accel_path "<Actions>//state-draw" "y") ; navigation (gtk_accel_path "<Actions>//seek-next-frame" "period") (gtk_accel_path "<Actions>//seek-prev-frame" "comma")
Как применить градиент к объекту, а не ко всему холсту?
- Создайте область, которую вы хотите залить градиентом и сам градиент, если вы этого ещё не сделали.
- Убедитесь, что слой градиента находится над слоем области в панели слоёв.
- Выделите оба слоя, щёлкните по ним правой кнопкой мыши и выберите "Encapsulate".
- Раскройте содержимое объединяющего слоя, если это ещё не сделано, и выберите слой градиента.
- Щёлкните по параметру "Blend Method" на Панели свойств и в появившемся выпадающем списке выберите значение "Onto".
В результате градиент будет виден только внутри той области, которая находится прямо под ним в объединяющем слое (и внутри других слоёв в том же объединяющем слое).
Как показать или спрятать слой, а также отключить эффект размывания?
Поглядите на параметр Amount в панели свойств – он задаёт, в каком количестве изображение слоя подмешивается к изображению нижележащих слоёв.
Другими словами, это позволяет управлять прозрачностью слоя. В случае слоя размывания этот параметр задаёт соотношение между размытой и неразмытой версиями слоя. Если вы хотите уменьшить силу размывания, измените у слоя размывания параметр "Size"
Как заполнить контур?
(Запрошено пользователем Karlb)
Есть несколько способов сделать это:
- Простейший способ заполнить контур – создать новую область и связать её форму с формой контура.
- Выберите контур, который вы хотите заполнить.
- Кликните правой кнопкой по параметру "Vertices" в панели свойств, выберите "Export", введите имя для контура и нажмите клавишу "Enter" на клавиатуре. В результате форма контура будет экспортирована и появится в Панели дочерних элементов.
- Раскройте дерево "ValueBase Nodes" в Панели дочерних элементов и выберите имя контура, который вы только что экспортировали.
- В меню слоёв (его можно вызвать, как щёлкнув правой кнопкой мыши по панели слоёв, так и воспользовавшись кнопкой вызова меню) создайте новую область, выбрав пункт "New Layer -> Geometry -> Region". Убедитесь, что она выбрана.
- Щёлкните правой кнопкой мыши по параметру "Vertices" в диалоге свойств, выберите "Connect".
- Теперь, если вы ничего больше не собираетесь делать с экспортированным контуром, можно прекратить его экспорт: кликните на его имени в Панели дочерних элементов правой кнопкой и выберите пункт меню "Unexport".
- Есть ещё один похожий способ.
- Создайте новую область (так же, как это было описано выше), и оставьте её выбранной.
- Не делайте пока никаких изменений в контуре, который вы хотите заполнить (подробности — на странице про связывание)!
- Выберите оба слоя (контур и область) на панели слоёв. В панели свойств при этом станут видны только те параметры, которые есть и у контура, и у области.
- Щёлкните правой кнопкой по параметру "Vertices" и выберите пункт меню "Link".
- Область тут же примет форму выбранного контура.
- Когда вы с помощью иструмента BLine создаёте контур, в который, по вашему замыслу, должен быть заполнен, лучше сразу убедитесь, что поставили галочку "Fill" в диалоге свойств инструмента. Хотя, яcное дело, для тех, кто понял, что ему нужна заливка, уже после создания контура, это не очень полезный совет.
- Если вы используете Инструмент рисования, вы можете использовать кнопку "Fill Last Stroke" в нижней части диалога свойств этого инструмента, которая создаёт новую область и задаёт ей ту же форму, что и у только что нарисованного контура.
- Ещё один способ — создать область с тем же количеством уТочек, что и у контура, и присоединить каждую точку к контуру вручную. Если вы создаёте область, которая должна заполнять несколько контуров, это пока единственный способ.
- Выберите Инструмент рисования, настройте его так, чтобы он создавал только область, без контура, нарисуйте что-то, примерно совпадающее с контуром, который вы хотите заполнить и убедитесь, что вы удерживаете клавишу Ctrl, когда отпускаете левую кнопку мыши. Правда, нельзя сказать, что в текущей версии Synfig это всегда работает так, как надо.
Как объединять окна?
- Чтобы объединить два окна, перетащите иконки всех панелей одного из окон на другое.
- Окна можно разделять на секции, для этого надо перенести иконку панели на боковые вкладки (site tabs) — это такие прямоугольники вдоль вертикальных граней окна.
- Можно упорядочивать вкладки внутри окна, перетаскивая их друг через друга.
- А вот как свернуть или, наоборот, развернуть все окна Synfig под Windows? Есть какой-нибудь простой способ сделать это?
Как вставить в файл растровую картинку?
- Нажимаем кнопку вызова меню, выбираем "File -> Import". Альфа-канал в PNG вполне поддерживается.
- Чтобы можно было спокойно перемещать импортированную картинку, не рискуя случайно растянуть её, щёлкните правой кнопкой по её слою в Панели слоёв и выберите пункт меню "Encapsulate". После этого вы сможете регулировать положение получившегося объединяющего слоя, вместо того, чтобы смещать крайние точки картинки.
Как заполнять фигуры растровым рисунком вместо цвета?
Создайте новый объект (подойдут контур, регион, прямоугольник, круг, многогранник). Импортируйте картинку, которую собираетесь использовать для заливки, и поместите её на слой над вашим объектом. С помощью Панели свойств измените метод смешивания на "Onto" или "Straightonto".
Создайте новый объединяющий слой для объекта и картинки с заливкой, иначе будут раскрашены все объекты под картинкой.
Кстати, обязательно поглядите, чего позволяют добиться другие методы смешивания.
Как импортировать другие векторные форматы?
Пока никто не написал поддержку импорта векторных форматов для Synfig. Вы можете использовать внешний конвертер Svg2synfig, или импортировать растровую версию картинки и векторизовать её в Synfig вручную. Разумеется, если кто-то напишет патч, добавляющий в программу импорт векторных форматов, мы с радостью его примем.
Как замкнуть контур?
Щёлкните правой кнопкой на начальной вершине контура и выберите "Loop BLine" (замкнуть контур).
- Замечание: Это не сработает, если начальная вершина совпадает со своими касательными, то есть когда первый сегмент контура не искривлён — вместо контекстного меню вершины вы получите контекстное меню касательных, где нет пункта "Loop BLine". Но уТочки касательных можно скрыть (нажав "Alt+3", или нажав кнопку вызова меню и выбрав пункт "View -> Show/Hide Ducks -> Show tangent ducks" ("Вид -> Показать/Скрыть уТочки -> Показать уТочки касательных"), и тогда это снова будет получаться. Не забудьте только потом нажать "Alt+3", чтобы снова сделать уТочки касательных видимыми.
Как менять параметры всех объектов объединяющего слоя?
Щёлкните правой кнопкой по названию объединяющего слоя в Панели слоёв и выберите пункт меню "Select All Child Layers" ("Выделить все дочерние слои"). Затем выберите уТочки, которые вы хотите перетаскивать (обычно это все уТочки объектов, например, при вращении) и нужный инструмент, скажем, вращения, или масштабирования. Всё, можно выполнять нужную вам операцию.
Как определять, какой объект заслоняет соседний, не перемещая слои?
Обратите внимание, что каждому слою соответствует некое число в колонке "Z" на Панели слоёв. Предположим, у нас есть три слоя, у которых эти значения такие: 2 (самый нижний, пусть это будет, например, квадрат), 1 (скажем, круг) и 0 (обычно самый верхний; это линия). Чтобы слой с квадратом заслонил слой с кругом, с помощью Панели параметров запишите в поле "Z Depth" слоя с кругом число 3 или большее. Чтобы сделать самым верхним квадрат, запишите в его поле "Z Depth" значение -1 или меньше.
Значения на оси Z возрастают по мере движения вглубь экрана и убывают по мере движения из экрана, на зрителя.
It is possible to animate this effect, but each layer is discrete. They seem to go from 0 to 0.9999.
Движение по оси Z можно анимировать, но для каждого слоя в отдельности. They seem to go from 0 to 0.9999.
Кроме того, объекты внутри объединяющего слоя могут заслонять только друг друга. Однако один объединяющий слой может быть заслонён другим.
Copy a complex convert combination between parameters of different layers?
For example: you want to copy a complicated conversion type that you have in one parameter from a layer, to other parameter (maybe not a root parameter, but a sub-parameter) of other layer. If you export the complicated conversion type from the original layer and then go to the other layer and select Connect (right click and the exported and the parameter both selected) then you have the parameter form the second layer to be exactly the same than the original one. But there is a drawback: if you modify one of the sub-parameters in the complicated conversion type (e.g. you change the value of one of them) then automatically the same sub-parameter of the other layer is changed.
How can you copy the conversion but allow modify the sub-parameters independently on each layer?
Once you have achieved the complex conversion type in the original layer, don't export the root parameter! If you have done yet unexport it. (Why?. You will understand it later.) Now duplicate the original layer. Then you should obtain the same layer with the same conversion type placed at the same parameter (but not exported). NOW export the parameter from the duplicated layer. Then go to the (sub) parameter of the layer where you want to copy the complex conversion type and Connect it to the just exported parameter form the duplicated layer. Now delete the duplicated layer (!). Then the exported ValueNode still undeleted and the layer where you wanted to copy the complex convert type have a (sub) parameter connected to it. You can unexport the ValueNode or not. It is up to you. But notice that the conversion type is already copied into other (sub) parameter of other layer and they are independent as well as you can change one of them (by modifying the sub-parameters) and the other remains untouched.
Как запустить уже созданный мультфильм со вдвое меньшей скоростью?
Если у вас уже есть мультфильм, длящийся от 0s до отметки 10s, а вы хотите растянуть его вдвое (от 0s до отметки 20s), вы можете добиться этого двумя способами.
- Либо — изолируйте фрагмент, и с помощью параметра изолирующего слоя "Time Offset" замедлите воспроизведение:
- Щёлкните правой кнопкой мыши по параметру "Time Offset" в изолирующем слое, выберите пункт контекстного меню "Convert -> Linear", выставьте появившиеся подпараметры "Rate" в -0.5, а "Offset" в 0. Это соответствует коррекции времени в -0.5 секунды на секунду — иными словами, воспроизведение, замедленное в два раза.
- Или же можно использовать фиксаторы для параметра "time offset": 0 в 0s и -10 в 20s. (Выбор между линейным преобразованием (linear convert) и фиксаторами - полностью на ваше усмотрение, в таких простых случаях оба способа дают совершенно одинаковый результат.)
- Либо - используйте Time Loop Layer. Первый метод, похоже, в данном случае и лучше, и проще, но того же самого эффекта можно добиться с помощью Time Loop layer. Возможно, если фрагмент, который надо замедлить, начинается не с 0s, а с какого-то другого момента, даже лучше использовать именно Time Loop layer. Как бы то ни было, сам способ вот какой. Поместите Time Loop layer над слоями, которые вы хотите замедлить, и
- Или выставьте параметры слоя так: "Duration" — 0, "Local Time" — в 0, затем щёлкните правой кнопкой мыши по параметру "Link Time", выберите пункт меню "Convert -> Linear" и назначьте появившемуся подпараметру "Rate" значение 0.5 — это задаст фрагменту скорость в 0.5 исходной ; чем большим будет этот коэффициент, тем выше будет скорость фрагмента.
- Или же выставьте продолжительность фрагмента в 1h*, параметр "Link Time" в 0, щёлкните правой кнопкой мыши по параметру "Local Time", выберите в появившемся контекстном меню пункт "Convert -> Linear" и назначьте появившемуся подпараметру "Rate" значение 0.5 — это замедлит фрагмент на 50%; чем больше будет этот коэффициент, тем медленнее будет воспроизводиться фрагмент.
(*) Если ваш фрагмент — больше часа длиной, выставьте этот параметр в EOT (от "End Of Time", "до конца времён"), что означает то же самое, что бесконечное значение (INF) для вещественных чисел, но применительно ко временным параметрам.
Как нарисовать прямоугольник с заданными шириной и высотой?
Я выяснял в IRC, как задать ширину и высоту прямоугольника вместо того, чтобы задавать координаты двух противоположных углов. Оказывается, вот как:
- нарисуйте прямоугольник;
- перейдите в Панель свойств;
- щёлкните правой кнопкой мыши по параметру "point 1" и в появившемся контекстном меню выберите Export;
- дайте экспортируемому параметру имя, скажем, "p1";
- щёлкните правой кнопкой мыши по параметру "point 2" и преобразуйте его тип в "Add";
- (это означает, что вы, вместо того, чтобы вычислять абсолютные координаты второй точки, предлагаете Synfig подчитать это значение за вас)
- (в результате у параметра "point 2" появятся два подпараметра, суммой которых, собственно, и будет "point 2"; теперь нам надо сделать значениями этих двух параметров координаты "point 1" и выбранные вами ширину с высотой)
- откройте список подпараметров параметра "point 2", щёлкнув по треугольнику слева от его названия;
- перейдите в Панель дочерних элементов, откройте список переменных ("ValueBase Nodes") и выберите то, которое вы только что экспортировали (p1);
- щёлкните правой кнопкой по параметру "LHS" и в появившемся контекстном меню выберите пункт "Connect" ("Связать");
- введите значения нужных вам ширины и высоты прямоугольника в поля "X" и "Y" параметра "RHS".
Как добиться, чтобы слой вращения не влиял на связанные вершины BLine?
Посмотрите обсуждение на http://dooglus.rincevent.net/synfig/logs/2008/%23synfig-2008-02-07.log См. также статью Convert.
Как создать пунктирный контур?
Самый быстрый способ получить простые пунктирные контуры такой.
- Создайте Bline с помощью инструмента Bline, поставив в Панели параметров инструмента галочки напротив параметров "Контур" (Outline) и "Градиент по кривой" (Create Curve Gradient Bline).
- Поднимите наверх слой градиента (он создаётся под слоем контура).
- Измените метод смешивания на "Straight Onto". После этого градиент будет отображаться только поверх линии контура. Сам контур отображаться не будет, так что места, на которых в градиенте приходятся прозрачные точки, будут прозрачными.
- Отметьте параметр "Perpendicular" в панели параметров слоя, cодержащего градиент по кривой.
- Преобразуйте параметр "Gradient" в слое с градиентом по кривой в "Stripes" или "Repeat Gradient".
- Настройте свойства дочерних параметров так, чтобы добиться нужного вам эффекта.
Как получить AVI с лучшим качеством?
Через несжатое видео
Synfig использует ffmpeg для рендеринга видео в формате AVI. Сейчас нет возможности задавать параметры для ffmpeg через интерфейс Synfig, используются жёстко заданные значения. Если вы хотите получить AVI наилучшего качества, нужно сделать вот что.
- Отрендерить ваш мультфильм в формат yuv420p. Для этого в диалоговом окне параметров рендеринга выберите этот формат в выпадающем списке форматов, а к имени файла с вашим мультфильмом добавьте ".yuv" (без кавычек).
- По окончании рендеринга должен получиться огромного размера файл с расширением yuv. Его можно быстро преобразовать в AVI командой:
ffmpeg -i animation.yuv -sameq animation.avi
Вместо animation, понятно, нужно использовать имя файла с вашим мультфильмом.
Через серию файлов в формате png
Отрендерите ваш sif-файл в набор png-файлов:
mkdir render synfig my_animation.sifz -o render/frame.png
Потом соберите из них видео с помощью ffmpeg:
ffmpeg -r <frame rate> -i render/frame.%04d.png <more settings from ffmpeg's manual> my_animation.mov
Если вы хотите получить видео в качественном открытом формате без заморочек, попробуйте ffmpeg2theora:
ffmpeg2theora render/frame.%04d.png --inputfps <frame rate> -o my_animation.ogg
Кстати, png занимает меньше места на диске, чем yuv. --AkhIL 21:38, 9 April 2008 (EDT)
Если хотите, можете также воспользоваться программой mplayer.
mencoder mf://render/frame.*.png -mf fps=25 -o my_animation.avi -ovc lavc -lavcopts vcodec=mpeg4
Как самому скомпилировать исполнимый файл Synfig так, чтобы ресурсы моего компьютера использовались как можно эффективнее?
Мне бы хотелось узнать, какие параметры нужно задать конфигурационному скрипту для увеличения производительности. Genete 11:04, 9 April 2008 (EDT)
Для этого вам понадобится поменять значения двух переменных окружения, хранящих стандартные ключи для компилятора C и C++:
export CFLAGS="" export CXXFLAGS=$CFLAGS
Начнём с ключа "-O3" (большая латинская "O", потом цифра 3). "-02" это нормальная оптимизация, "-03" — сильная.
Теперь получим информацию о процессоре. Команда
cat /proc/cpuinfo
выведет на экран название модели процессора.
Теперь найдите в man-странице компилятора gcc раздел о ключе "-mtune". Найдите там ваш процессор и добавьте в переменную CFLAGS следующее: "-mtune=your-cpu -march=your-cpu", заменив your-cpu на модель вашего процессора.
Теперь поглядите на строчку в файле /proc/cpuinfo, начинающуюся с flags и найдите упомянутые там слова в man-странице компилятора gcc. Ну, например, у меня там среди прочих есть слово 3dnow. При поиске в man-странице gcc по этому слову я найду ключ "-m3dnow". Для sse найдутся "-msse" и "-mfpmath=sse" (только учтите, что компиляция с этими ключами может сделать программу нестабильной).
Наконец, можете добавить ключ "-ffast-math", который запрещает проверки корректности операндов математических действий. Но это тоже может сделать программу нестабильной.
На моём AthlonXP я использовал такие ключи:
export CFLAGS="-O3 -pipe -mtune=athlon-xp -march=athlon-xp -mmmx -msse -m3dnow -mfpmath=sse -ffast-math -funsigned-char -fno-strict-aliasing" export CXXFLAGS=$CFLAGS
--AkhIL 12:05, 9 April 2008 (EDT)
На моём Pentium3 я задал такую строчку:
export CFLAGS="-O3 -pipe -mtune=pentium3 -march=pentium3 -msse -mfpmath=sse -funsigned-char -fno-strict-aliasing" export CXXFLAGS=$CFLAGS
Непохоже, чтобы дополнительные ключи -mmmx и -ffast-math добавляли производительности! Так что можете их смело выкинуть. --SvH 03:46, 20 May 2008 (EDT)
Как импортировать в Synfig видеофайл?
Сейчас есть только один способ импортировать в Synfig видеофайл (причём только изображение, без звука): преобразовать видео в последовательность графических файлов и импортировать её с помощью ListImporter. Итак, прежде чем загружать последовательность кадров, её надо извлечь из видео. Многие программы позволяют это сделать, но самый очевидный путь — использование mplayer:
mplayer mymovie.avi -vo png:z=1 -ss seconds-start -endpos duration
Здесь seconds-start — секунда, начиная с которой надо извлекать кадры в отдельные графические файлы, а duration — продолжительность фрагмента (в секундах), который вы хотите извлечь из файла mymovie.avi. В качестве формата получающихся графических файлов в данном случае задан png, но можно также использовать jpeg или tga. Узнать прочие подробности о работе mplayer можно из man-страницы этой программы.
Приведённая выше команда сделает из указанного фрагмента видеофайла набор картинок в заданном графическом формате. Файлы пронумерованы по порядку (для правильной сортировки пустые разряды с левой стороны заполняются нулями).
Теперь нам надо создать файл с расширением .lst, в котором будет описан наш видеофрагмент. Для этого в командной строке наберите в каталоге с полученными файлами команду:
ls *.png >> mymovie.lst
А потом добавьте в начало полученного файла строку, задающую количество кадров в секунду, примерно такую:
FPS 25
В данном случае задаётся частота 25 кадров в секунду.
Granted Wishes
MNG target filetype
The ability to save as/in the Free/Open MNG (.mng) format [1]
A partial implementation was committed in SVN r470.
It was implemented in svn 986. See Render options. --Genete 13:12, 29 October 2007 (EDT)
Optionally display RGB in Hex in Color dialog
(3) When colors are quoted as 3 bytes of hexadecimal, you have to convert them to decimal, divide by 255, multiply by 100 to get a number to type into the dialog box. It's painful to match color schemes for example, with the Tango Icon Theme style guidelines. PXEGeek 3/16/07
- Added in svn r354. You can type 3 or 6 digit hex codes and hit return to use. 3 digit code 36a gives colour 3366aa (each digit is duplicated) -- dooglus 3/18/07
- Many thanks - already used many times! PXEGeek.
- Did you notice that you can use single digit codes too? '5' gives 555555 for instance, giving you 16 equally spaces shades of black through white. -- dooglus 17:51, 25 September 2007 (EDT)
Restore Default Layout
(3) — It's very difficult to put all the dialogs back where they were when you started the program, if you've closed them. In addition, with many programs, if you've done something with your window manager to take a window's position off screen, this command is sometimes the only way to bring them back. -> I'd like to second this one - especially with the bug where dialog boxes sometime shrink to nothing or offscreen, and no amount of maximizing or minimizing restores them. The only solution is to kill the windows, and none of the combo options in the dialog menu match the default configuration. 4/4/07 PXEGeek
General outline / Polygon-based Outline / "Set Tangents to Zero" button
(3.5) I'm no artist, thus my primary form of art is stick figures, not to mention, many interesting animations are done in stick-figure style. Stick figures must be perfectly straight to get the effect across, so when I'm making an outline using B-Curves, it is too time consuming to set the tangents to 0 each time. Similarly, outlines of other shapes like squares, circles and so forth would be very useful. Whichever of the above is easiest, please implement right away. --Dragontamer 02:35, 19 November 2007 (EST)
- For perfectly straight lines, click without moving the mouse. You will get a single point with no tangents. Outline shapes would require some development, particularly with some thought given to backward compatibility. A workaround you might consider is to create a duplicate shape with a different color and make the top one slightly smaller, so the outline of the one below shows. Pxegeek 21:58, 19 November 2007 (EST)
- Well, in general, whenever I click on a point to edit it (say, to make it move somewhere in animation mode), there is a decent chance that I click on a tangent instead. Then, if I want to right click the point itself, I usually right click the tangent marker instead. It isn't that big a deal, but simplicity at the cost of power generally is a good thing, especially when it will save a few mouse clicks.
- As for the outlines, yeah, I've tried that and it is a decent solution for now, although it is no replacement for a real outline. I am going to also experiment with a clamp to see if I can make the center of the shape have 100% alpha... but I don't have synfig on the computer I'm on right now. Thanks for the tips Pxegeek. --Dragontamer 01:58, 27 November 2007 (EST)
- You can press Alt+3 to hide tangent ducks. --Zelgadis 09:27, 27 November 2007 (EST)
Copy & Paste/Image Importing
(4) I sometimes make graphics in other programs, or use clipart and other images. Would it be possible for Synfig to be able to import images and/or copy and paste them?--Khlieeq 2007-07-19 Well, it doesn't support Copy & paste from the clipboard, but you can import images using "New Layer -> Other -> Import". This will create an Import layer, for which you can then edit the properties to point to the file containing your image. PXEGeek. 2007-07-19
Recursive Waypoint Manipulation
(4) it is really tiresome to revert changes to waypoints created by manipulating tangent/position ducks or change their interpolation functions. making it possible to right-click-modify the waypoint shown for objects that have some waypoint in a referenced sub-object would be great! -- timonator 2007-06-01
- You can do it in two ways: changing the interpolation method of the waypoint of paste canvas or editing the keyframe properties. The first allow to modify the waypoints interpolation method for all the waypoints of all the parameters of all the layers that are inside the paste canvas layer. You can right click on the left or right part of the waypoint to edit by a context menu the left or the right interpolation method of the waipoints. The second method would add and modify all the parameters that have any waypoint in the animation. See Keyframe for more detail. --Genete 13:10, 29 October 2007 (EDT)
Tweening for images developed in other imaging programs
It's obvious I am a beginner at image movement, but morphing is not enough: movement across the page is needed. Thanks for listening. Comwell
Imported images can be moved across the page. They can also be scaled, rotated and deformed. Was there a specific example you had in mind? pxegeek
- I also would like a way to tween images that have been drawn in other programs. I've had trouble drawing with Bline tool and the drawing tool in Synfig, and I'd rather just draw with a paint brush (like the one in Photoshop). Another problem I have is that Synfig tends to shut down on me every 20 minutes or so, and it's really frustrating even with the auto recover feature, because my sketches disappear. It'd be nice if I'm able to draw all of the keyframes in Photoshop or another image program and import it to Synfig so that Synfig can tween and animate them. Thank you. Huina
- You CAN use images, drawn in other programs. Just select "File->Import" from canvas menu --Zelgadis 01:39, 24 November 2007 (EST)
- But how do you animate using images from other sources? I tried to make 2 keyframes with 2 different images, and it doesn't animate. It just stays as 1 picture for the entire render. The closest thing I saw to importing images from another source into Synfig and having it animate is the Walking Cycle Tutorial, but I would still have to trace the images to make it animate. As I said earlier, I'm not entirely fond of using the draw/Bline tool. Huina
- Huina, there's no way to do what you want right now. Interpolating between two images that are not created in Synfig is well beyond its scope right now. However, what you could do is take an image and separate elements of the picture onto different layers (e.g. have a picture of an arm and another of the rest of the body) and you can move those around, stretch and rotate them. (If you're familiar with the work of Terry Gilliam on Monty Python you'll know what I mean) I don't know how feasible it is to implement your request (I suspect some heavy lifting). We'll keep it on the list, but don't hold your breath. Pxegeek 19:57, 24 November 2007 (EST)
- But how do you animate using images from other sources? I tried to make 2 keyframes with 2 different images, and it doesn't animate. It just stays as 1 picture for the entire render. The closest thing I saw to importing images from another source into Synfig and having it animate is the Walking Cycle Tutorial, but I would still have to trace the images to make it animate. As I said earlier, I'm not entirely fond of using the draw/Bline tool. Huina
- You CAN use images, drawn in other programs. Just select "File->Import" from canvas menu --Zelgadis 01:39, 24 November 2007 (EST)
- I think, you hardly find any other animation package which allow you to do such things. You could use a special tools for this task, like xmorph (http://xmorph.sourceforge.net/). But to do the tween between two bitmap images you STILL need to set points. It's not tracing, but very similar. Anyway, result may be poor and I'd better suggest to use technique, described in Walking Cycle Tutorial or which the Pxegeek meant. --Zelgadis 02:08, 25 November 2007 (EST)
- There is a technique called "optical flow". It takes two input frames and calculates the movement of each individual pixel between the frames, allowing interpolation to be done. Here's an example: http://www.fxguide.com/article333.html. It doesn't require setting of control points, but it has problems it's own set of problems: http://www.fxguide.com/article333.html. --Yoyobuae 13:32, 3 February 2008 (EST)
Auto-link option in Draw tool
(4) so that you can draw a line, and have its endpoint automatically link to a duck - or if Auto-connect is off, you can get a line object linked to the end of another line object. / I missed this too, it even should be like that by default I think. Maxy 13:22, 25 Apr 2006 (PDT)
- Isn't this done already? We don't have line objects, but blines are automatically linked to if auto-connect is on. Am I missing something? -- dooglus 17:29, 27 September 2007 (EDT)
- To clarify dooglus' comments - If you have an outline created by the draw tool highlighted in the layer dialog and the auto-extend checkbox is checked, then you can continue drawing with the draw tool in that same layer. Blines created with the Bline tool cannot be extended once a different tool or layer is selected. Pxegeek 23:46, 12 October 2007 (EDT)
- A line is a line - Synfig doesn't remember whether it was created with the Bline tool or the Draw tool - so you can extend blines created with the bline tool using the draw tool. Just make sure the line is selected (so that its ducks are visible), not looped (so that it has end points to extend from), enable the draw tool, check 'auto extend' and start drawing at one of its end ducks. dooglus 05:47, 13 October 2007 (EDT)
So this sounds like it is already done. But on a related note, being able to open an existing bline in the bline tool to extend it would be useful. -- dooglus 04:51, 29 January 2008 (EST)
Layer hide boolean parameter
(3) — An animatable way to remove a layer from visibility and consideration in tools. And as an option, to hide the layer in the layer list while it is invisible. This crosses over functionality from the Amount, the Show/Hide checkbox in the Layers Panel, and builds upon it as well, allowing the Layers Panel to dynamically unclutter. (This feature request is a refactoring of the Amount)
- With the addition of the Switch type conversion it is not needed this feature request. You can convert the Amount parameter to a Switch value and give 0 and 1 to the Linked OFF/ON values. --Genete 13:20, 29 October 2007 (EDT)
Riding ducks
(2) — Not chocobos. The ability to link a duck from one shape to an arbitrary position on another path, without creating an extra shape duck on that path.
- Already done in SVN.Genete 18:59, 5 April 2008 (EDT)
Image filmstrip import
(2) — Allow import of a series of images (TGA, etc) as frames of an animation, on a layer.
Response - 'lst' files of a list of images can be imported. I've used this to develop a walk cycle. See Walk cycle for an example. pxegeek
Character Animation Tools
I have seen some interesting methods for helping character design/animation in different 2d/3d software. Hash's animation master has 'poses' which are extremes of a model, for example smiling and frowning, once you add these extremes ot a set you can use slider to create a pose that somewhere inbetween. The real power of this is when you have serveral different poses on the same object, a face say, you can easily come up with new facial expressions. Maybe something similar could be done with synfig using layers and groups, the implementation could something similar to Moho's switch layers. --Triclops 09:52, 9 Aug 2006 (PDT)
- Have you read this tutorial? Reuse Animations. It is very close to the Switch layer of Moho/Anime Studio. Also You can change the Canvas parameter to any other canvas dynamically in the time line by clicking on it and selecting other exported canvas. Other option is convert the canvas to a Switch type and alternate between two different canvas. --Genete 13:26, 29 October 2007 (EDT)
More Animation Tools
Improved User Experience for First Contact
- Single file download and installer (at least for Windows)
- Ability to draw the first object directly after starting the application (start with an empty document)
- Ability to animate the object directly after drawing the first object (new documents have a say 3 seconds timeline)
In my opinion this is crucial to attract potential users. Because if I see how easy it is to create my first animation I'm going to accept all the bugs and clumsyness. A good example is the Pencil animation software. --Dmd 13:50, 26 January 2008 (EST)
- I've implemented #2 and #3 above in svn r1519 & 1520. If no files are specified to be opened when running studio, it'll make a new one. It won't pop up the canvas properties dialog when making new canvases by default. And the default end time is 5s (3s is small enough to cause the time slider to show "1s 12f", whereas 5s looks cleaner). -- dooglus 04:00, 29 January 2008 (EST)
Automatic attach and manipulate a Vertex to a Bline
Please see this page to understand what we want. --Genete 12:43, 3 March 2008 (EST).
- Already done in SVN. Genete 19:00, 5 April 2008 (EDT)
Toggle visible ducks
(3) So pressing, say, tab while editing a Bline toggles which vertices/ducks are visible - so we can easily move the actual vertices around without having the view cluttered by tangeants (and also make it easier to select 'Loop' rather than 'Split Tangeants' when creating the thing.)
Given that extra ducks such as the width ones listed above may be added, this might become more and more necessary. If too many different sets are added for toggling to be feasible, each visibility for each set can be hotkeyed.
- Synfig already have hotkeys to toggle visibility of the ducks. See Keyboard Shortcuts. --Zelgadis 00:39, 22 April 2008 (EDT)
Remove the thin line from stitched regions
When you stitch or sew two regions together with the same color (or different even?) it can appear a thin line in the common edge that reveals the background color (see the problem here). This is due to that the antialiasing effect is keeping the background pixels information and displays it on the region. To solve this issue it is needed to:
- 1) Uncheck all the antialias parameter of all the regions involved
- 2) Add a Supersample Layer over the layers that has the antialiasing parameter disabled. A value of 4 for the height and width values is usually enough. Maybe you need to check "Alpha Safe" for better results.
- 3) Render normally.
This tip is particularly useful when you want to have a region over and under other composition at the same time.
SAMPLE SHOWING THE THIN LINE | REMOVED THIN LINE AFTER SUPER SAMPLE |
![]() |
![]() |
It has the draw back that intermediate layers has to be super sampled too (line the planet in the example) because the super sample has to be done at the same time to the involved regions (the back and top half rings).