I dont know why DR dont read the maps on the nodes it only see them from the workstation. When i use BB everything is ok, i dont have that problem. Im using 1 workstation (win 64bits) one file server (win 2003 filserver) and 2nodes (win 64bits). Anybody with the same problem?. Any solution?
Regards
Onz
make sure all your textures are accessed from a network location. Make sure you dont use mapped network drives.
I.e. texture path cant be something like:
x:\dir\texture.ext
the proper path has to be
\\server\dir\texture.ext
im not useing a maped drive. im using the second one.
what could be?
it happen once for us it was the Vray properties of the object , Generate GI and Receive GI was modified and was not 1.0 so maps dont render in the spawner.
try this Generate GI and Receive GI to default settings 1.0
We also had some problems, it was due to some of our map files were on a linux fileserver. After switching those textures to our win2k3 server, it all render ok (our linux server is abit old and slow).
P.S. Using a DFS (distributed file system) also help abit the reduce the unc path mess in general.
Best regards,
Daniel
4+Arquitectos, Lda
IM IN MAX 9 64BITS AND VRAY 1.5RC. THAT COULD BE?
May be, i’m also on max9pb1rev3 x64 and x86, vray 1.5rc on winxp 64sp2. So it could be. It happens also some times on our render nodes since they sometimes get mixed and use the old server. I do have a script to correct all the paths to the new ones even vrayproxies. If you want i can post it.
Best regards,
Daniel
THAT WOULD BE AWSOM DANIEL.
MY MAIL IS gonzalogrillo@gmail.com
thx a lot!
Ok here is the code, i post here maybe more also needed it.
(
global QArqPathCorrector
fn tokenString str token =
(
idx = 0;start = 1;end = 0;strings = #()
while (idx != undefined) do
(
idx = findString str token
if idx == undefined then
(
append strings str;continue
)
end = idx-1;newStr = subString str start end
if newStr.count > 0 then
append strings newStr
str = replace str start (end+token.count) ""
)
strings
)
fn replaceString str replaceStr withStr =
(
theStr = " " + str;splitNames = tokenString theStr replaceStr
newStr = str
if (splitNames.count >= 1) then
(
newStr = ""
for s = 1 to splitNames.count do
(
newStr += splitNames[s]
if s != splitNames.count then newStr += withStr
)
newStr = replace newStr 1 1 ""
)
newStr
)
struct QArqPathCorrector
(
fn correct old_path =
(
-- Old paths
a1 = #("o:\\","x:\\","m:\\","p:\\","t:\\","\\\\4arq-server01\\","\\\\4arq-server02\\","\\\\4arq-00\\textures\\")
-- New path parts for dfs system
a2 = #("arquitectura\\","library\\","modelos\\","projectos\\","textures\\","","","textures\\")
-- dfs root
r1 = "\\\\intranet.4arq.net\\storage\\"
new_path = old_path
/* e.g:
before (o:\stone\rock1.jpg)
after (\\intranet.4arq.net\storage\arquitectura\rock1.jpg)
*/
if (findstring new_path "\\\\intranet.4arq.net\\") != undefined then return new_path
for f=1 to a1.count do
(
new_path = replaceString old_path a1[f] (r1+a2[f])
if new_path != old_path then exit
)
new_path
),
fn process =
(
format "Intranet Path Corrector v 0.1\n"
format "2007 © Daniel Santana\n\n"
bitm = getclassinstances bitmaptex
format "Found % \tBitmaps\n" (bitm.count)
proxies = getclassinstances vrayproxy
format "Found % \tVrayProxies\n" (proxies.count)
ies_lights = getclassinstances Free_Area
join ies_lights (getclassinstances Free_Linear)
join ies_lights (getclassinstances Free_Point)
join ies_lights (getclassinstances Target_Area)
join ies_lights (getclassinstances Target_Linear)
join ies_lights (getclassinstances Target_Point)
format "Found % \tIES lights\n" (ies_lights.count)
arr1 = #()
join arr1 bitm
join arr1 proxies
join arr1 ies_lights
format "Processing paths...\n"
c = 0
for i in arr1 do
(
if superclassof i != Light then
old_path = (dotnetobject "System.String" (i.filename)).tolower()
else
old_path = (dotnetobject "System.String" (i.webfile)).tolower()
if old_path != "" then
(
new_path = QArqPathCorrector.correct old_path
if old_path != new_path then
(
if superclassof i != Light then
i.filename = new_path
else
i.webfile = new_path
format "(%) new filename = %\n" (classof i) (new_path)
c+=1
)
)
)
format "% of % required path changes.\n" c (arr1.count)
format "All done...\n"
)
)
PathCorrector = QArqPathCorrector()
PathCorrector.process()
)
Daniel thx,
could u explain a litle how it works , Im not familiar with scripts.
I just copy paste that in the script listner? and then what?
sorry for being so pain in the ass
thx
You will have to adapt the a1, a2 and r1.
-- a1, if the old paths root, let’s say you had the textures in an mapped drive t:, you would put: a1=#("t:")
-- a2, this is the new path, let’s say your new texture path is “\\someserver\tex”, you would put: a2=#("\\\\someserver\\tex")
-- r1 just set it to “”, since this is when you use dfs and for simplicity.
After that just copy into a empty script and press evaluate.
p.s.: for each path you set in a1 there must be an entry in a2.
Best regards,
Daniel[/code]