» Как делать легко переносимые проекты
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

~2d ago

joreg: vvvvTv S0204 is out: Custom Widgets with Dear ImGui: https://youtube.com/live/nrXfpn5V9h0

~2d ago

joreg: New user registration is currently disabled as we're moving to a new login provider: https://visualprogramming.net/blog/2024/reclaiming-vvvv.org/

~10d ago

joreg: vvvvTv S02E03 is out: Logging: https://youtube.com/live/OpUrJjTXBxM

~12d ago

~13d ago

joreg: Follow TobyK on his Advent of Code: https://www.twitch.tv/tobyklight

~17d ago

joreg: vvvvTv S02E02 is out: Saving & Loading UI State: https://www.youtube.com/live/GJQGVxA1pIQ

~17d ago

joreg: We now have a presence on LinkedIn: https://www.linkedin.com/company/vvvv-group

~24d ago

joreg: vvvvTv S02E01 is out: Buttons & Sliders with Dear ImGui: https://www.youtube.com/live/PuuTilbqd9w

~1mth ago

joreg: vvvvTv S02E00 is out: Sensors & Servos with Arduino: https://visualprogramming.net/blog/2024/vvvvtv-is-back-with-season-2/

~1mth ago