2015-05-25 26 views
1

我主要是用Blender自己工作。我創建了一個混合文件並使用它來渲染和保存圖像。然後我再擺弄一些,渲染另一個圖像,希望保存Blender文件,然後重複。我儘量保留圖像和混合文件的相同版本和文件名,但我經常不同步。我需要做的是瀏覽所有圖像版本,並可靠地找到生成它的混合文件。數字圖像的版本控制和生成它的文件

這看起來好像我可以使用版本控制系統,如git,在每次渲染後進行提交。

是否有圖像瀏覽器可以在不同的提交中查看圖像或者可以顯示圖像的git查看器?

或者是否有更好的方法來做到這一點?

+0

Git不擅長處理二進制或非人類可讀文件。 –

+0

恰恰相反。與之前的版本控制系統相比,git在存儲和檢索二進制文件方面沒有問題。問題在於沒有共同商定兩幅圖像之間的差異應該是什麼意思。但這並不是git的錯。 –

回答

1

雖然混帳保持所有版本的信息在它周圍,它並沒有真正保留所有版本在工作樹中。

其界面旨在顯示差異之間的修訂。 問題是,與文本文件不同,對於兩幅圖像之間的「差異」應該是什麼意思,沒有一個好的和通用的定義。您可以嘗試爲jpg文件設計一個textconv選項。但我想知道這是否有用。

如果你想能夠看到不同的版本,你應該使用某種編號方案和腳本來幫助你。 假設您正在使用名爲foo.blend的攪拌器文件。這是你的工作副本。你應該寫一個腳本來做兩件事。

  • foo.blend複製到例如foo-027.blend,如果在同一個目錄中的最後一個現有版本foo-026.blend除非foo.blendfoo-026.blend之間沒有什麼區別。
  • foo-027.blend呈現爲例如foo-027.jpg在批處理渲染模式下使用攪拌器。

只要你想保存某個版本,就調用這個腳本。您也可能希望以前修訂只讀。

由於blender支持Python腳本,因此Python可以很好地編寫此腳本。你甚至可以從菜單或快捷方式調用它。

+0

這是我現在正在研究的方法。已經有一個插件可以在每次渲染後自動保存。我將添加將混合文件保存到該文件,可能使用包庫來包含所有外部鏈接文件。這應該使圖像版本能夠在文件夾中瀏覽,並且打包後的混合將被解壓縮並打開,以便在需要時重新創建圖像。 – elfnor

+0

完成 - 對於任何感興趣的人,可以在[github-blender_auto_save_on_render](https://github.com/elfnor/blender_auto_save_on_render)上找到Blender附加組件。爲簡單起見,打包外部文件留給用戶。 – elfnor

0

具有足夠的存儲空間Git與二進制文件無關。但Git不會以原生形式存儲文件;相反,它們被打包成不可讀格式的「斑點」。所以你將不得不結帳舊版本,讓他們在你的處置。

你可以有一個單獨的目錄來「檢索」來自舊版本的文件。比方說,你的工作空間目錄中有一個回購。

cd path/to/my/workspace/directory 
git --work-tree=/path/to/another/directory checkout <revision> <filenames separated by spaces> 

或者從另一個/目錄:

cd path/to/another/directory 
git --git-dir=/path/to/my/workspace/directory checkout <revision> 

現在您的工作空間目錄保持不變,而另一個/目錄下有舊版本。你現在可以比較和做你想做的任何事情。

當然,你也可以只檢出到舊版本在同一目錄下:

git checkout <revision> 
# and come back then: 
git checkout master 

這個答案是靈感與:
git pull while not in a git directory
How do I reconnect my project to my existing GitHub repository