» Как делать легко переносимые проекты
This site relies heavily on Javascript. You should enable it if you want the full experience. Learn more.

Как делать легко переносимые проекты

English

The original english version of this page is newer and may contain information this translation does not have! Click here to view the english version.

пошаговая инструкция

в вашем патче набралось много:

  • субпатчей
  • шейдеров .fx
  • плагинов freeframe .dll
  • файлов текустур .jpg

и т.п. и т.д.

вам нужно отправить проект другу, коллеге, или выложить его на форум.

Что делать?

Структура папок

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

Образец организации папок можно скачать здесь

Поехали

  • откройте патч, сохраните его ("save as") как root.v4p (или под любым другим именем) непосредственно в папку проекта.

Затем очень внимательно просмотрите ваш патч на предмет следующего.

Внешние файлы

Если вы используете любые внешние файлы (например картинки.jpg для текстур):

  • скопируйте все файлы, используемые в проекте, в папку проекта (или во вложенные папки).
  • задайте новые привязки к именам файлов во входящих пинах "Filename"
  • сохраните патч.

проделайте тоже самое с файлами .x, .dae, аудио- и видеофайлами.

Совет:
Наш друг woei сделал удобный модуль "GetExternals (VVVV).v4p",
который создает список всех внешних файлов в патче.

Субпатчи и модули

проделайте следующую процедуру со всеми субпатчами и модулями:

  • клик правой кнопкой на ноде субпатча или модуля, чтобы открыть его окно
  • перейти в открывшееся окно и сохранить ("save as") в папку проекта (или вложенную папку.)
  • Если хотите, после этого можно свернуть окна субпатчей (ALT-3).

Теперь возвращаемся в корневой патч.

Когда при наведении курсора на нод в подсказке показано что-то вроде:

если путь к субпатчу начинается с "C:\" (или другой буквы дисков), это значит, что сохранен только абсолютный путь к файлу субпатча.

  • выберите нод субпатча и нажмите SHIFT-ALT-P (сделать путь релятивным)

Теперь подсказка должна выглядеть так

или так, указывая, что это релятивный путь к файлу субпатча.

  • сохраните патч.
помните, что если в вашем патче несколько копий одного и того же субпатча, сохранять субпатч нужно один раз, но процедуру SHIFT-ALT-P ("make paths relative") нужно повторить к каждой копии нода.

Шейдеры

Следующие действия нужно применить ко всем шейдерам, не входящим в пакет релиза vvvv (а в период перехода с одной версии vvvv на другую, лучше применять ко всем):

  • клик правой кнопкой мыши на ноде шейдера

открылось окно HLSL редактор; не надо волноваться, а нужно:

  • кликнуть средней кнопкой мыши в окне редактора и выбрать в меню "save as".
  • сохранить шейдер в папку проекта (или вложенную папку). при необходимости можно переименовать шейдер.

можно скрыть окно HLSL редактора, нажав ALT-3.

  • возвращаемся в корневой патч.

Если при наведении курсора на нод в подсказке показано что-то вроде:

"C:\" (или другая буква диска) означает, что сохранен только абсолютный путь к файлу шейдера.

  • выберите нод шейдера и нажмите SHIFT-ALT-P (сделать патч релятивным).

''Теперь подсказка должна указывать релятивный путь к файлу'

помните, что если в вашем патче несколько копий одного и того же шейдера, сохранять шейдер нужно один раз, но процедуру SHIFT-ALT-P ("make paths relative") нужно повторить к каждой копии шейдера.

Плагины Freeframe

  • скопируйте файлы dll в папку проекта (или вложенные папки.)
  • кликните средней кнопкой мыши в патче и выберите в главном меню "Open in Patch", или используйте сочетание CTRL-SHIFT-O.

не видите нод в патче? посмотрите в левом верхнем углу окна.

  • перетащите "новый" нод в патче поближе к "старому".
  • переподключите все связи к "новому" ноду и при необходимости скопируйте значения свободный пинов.
  • проверьте, работает ли патч корректно.
  • удалите старый нод.
В vvvv есть опция "Paste modified Values" ("Вставить измененные значения"), выберите старый нод, нажмите CTRL-C, выберите новый нод,нажмите CTRL-SHIFT-V.

Тест

Чтобы проверить, все ли сделано правильно, скопируйте папку проекта в любое другое место на диске и запустите корневой патч.
Опытные пользователи запускают патчи из второй, "девственной" копии vvvv, чтобы убедиться, что не забыли про собственные модули или шейдеры.
Если в патче не пропали ноды и связи, и все работало как и прежде, значит так же должно случиться на любом другом диске, другого компьютера (если конечно на нем корректно установлена vvvv).

anonymous user login

Shoutbox

~5d ago

mediadog: @tonfilm Thanks! Need to kill a specific vvvv instance, so that enables "taskkill /FI "WINDOWTITLE eq (title)"

~6d ago

tonfilm: @mediadog you can use the VVVV (VVVV) node for that

~7d ago

mediadog: Wasn't there a commandline switch to set the window title instead of the random characters? Can't find it

~8d ago

synth: @tonfilm Awesome, thanks!

~8d ago

tonfilm: @synth yes, if you have a valid ticket for #node20 you will have access to all workshops and their recordings: https://20.nodeforum.org/tickets/

~8d ago

synth: Is there a recording of the Procedural Graphics , and can one buy it somewhere?

~10d ago

david: And finally.... Realtime graphics with Stride 3D – The Fundamentals with the developers https://tinyurl.com/y4utxhyv

~10d ago

david: @sebescudie teaches us: Machine Learning with RunwayML and vvvv. https://tinyurl.com/y66zn3h7

~10d ago

david: node20 workshop series.. @baxtan_ will be teaching you everything about Generative Design Algorithms https://tinyurl.com/yxck9vy7

~11d ago

ain: had anyone positive result with VL.NewAudio in latest gamma? cant' get it running