Can you rotate a texture?

tkdroberttkdrobert Posts: 3,584
edited October 2017 in The Commons

I applied a roof texture to a building and the tiles are facing the wrong direction.  I tried messing around with vertical and horizontal offset but that didn't do the trick.  Please help.  Thank you.


 

Capture.PNG
511 x 694 - 453K
Post edited by tkdrobert on

Comments

  • DaWaterRatDaWaterRat Posts: 2,885

    I usually use LIE for this.

    (I don't have DS open at the moment, so this may not be as coherent as it could be)

    If you click on the drop-down for the diffuse texture, there should be an option for Layered Image Editor.  Click on that.  When that opens, there's a rotate image button, which allows you to rotate in 90 degree incriments.  use that once, then save.

    You will need to do this for bump, displacement, normals, and any other maps the surface uses.

  • tkdroberttkdrobert Posts: 3,584

    I usually use LIE for this.

    (I don't have DS open at the moment, so this may not be as coherent as it could be)

    If you click on the drop-down for the diffuse texture, there should be an option for Layered Image Editor.  Click on that.  When that opens, there's a rotate image button, which allows you to rotate in 90 degree incriments.  use that once, then save.

    You will need to do this for bump, displacement, normals, and any other maps the surface uses.

    OK, I'll try that.  Thank you so much.

  • Charlie JudgeCharlie Judge Posts: 13,007

    I rotate it in a photo editor such as Photoshop, save the result, and apply in DS.

  • TheKDTheKD Posts: 2,710
    edited October 2017

    I think the easiest way would be to use an image editor and rotate it there. The other way you would need to rotate the UV map. Lol I should have refreshed before I answered :P

    Post edited by TheKD on
  • ebergerlyebergerly Posts: 3,255

    Yeah, this is one of those things that drives me nuts about D|S. Bring a UV-ed object in from Blender, apply a texture, and or some reason it's rotated from how it was in Blender. Fine, you should just go into Surfaces/Geometry and rotate, right? NO !! You have to go into LIE, yeah, but most times LIE does crazy stuff with the texture and no longer is it centered on the object and so on. Just a mess. No way you should have to jump out of Studio and flip the image. That's just crazy. 

  • srieschsriesch Posts: 4,243
    edited October 2017

    Possibly you can rotate it depending on the shader used.  For example using the "90 degrees.dsa" content thumbnail from the free https://www.daz3d.com/shader-mixer-tutorial-i , I am able to rotate the brick texture from a different shader product, https://www.daz3d.com/pimp-my-prop .  (Note that the actual rotation effect is only visible in the final render, not in the preview.)

    Post edited by sriesch on
  • HavosHavos Posts: 5,438

    You can rotate the texture in Poser by swapping the U and V numbers, so much easier than in DS, it was once of the few things I have missed since switching to DS.

  • Richard HaseltineRichard Haseltine Posts: 104,173
    edited October 2017
    Havos said:

    You can rotate the texture in Poser by swapping the U and V numbers, so much easier than in DS, it was once of the few things I have missed since switching to DS.

    For 3Delight you can do the same in Shader Mixer, or use trigonometry to rotate by an arbitrary angle. I was looking the other day and couldn't work out how to do the same for Iray - I could see how to get the U,V coordinates (probably) but not how to feed their modified values back. (Actually, swapping U and V reflects the map in the diagonal of the UV square - V = U and U = 1-V would rotate.)

    However, rotationalone works - as noted above - only if the surface is using a whole, possible tiled, map or at least if the area of interest is centred on the rotation axis (centre of the image). Using additional transforms of the UVs might well fix this, but i can't help feeling that editing the texture or redoing the mapping would be less painful.

    Post edited by Richard Haseltine on
  • Oso3DOso3D Posts: 15,053

    I've done it in Iray. Contemplating packing it into some sort of product. ;)

     

  • HavosHavos Posts: 5,438
    Havos said:

    You can rotate the texture in Poser by swapping the U and V numbers, so much easier than in DS, it was once of the few things I have missed since switching to DS.

    For 3Delight you can do the same in Shader Mixer, or use trigonometry to rotate by an arbitrary angle. I was looking the other day and couldn't work out how to do the same for Iray - I could see how to get the U,V coordinates (probably) but not how to feed their modified values back. (Actually, swapping U and V reflects the map in the diagonal of the UV square - V = U and U = 1-V would rotate.)

    However, rotationalone works - as noted above - only if the surface is using a whole, possible tiled, map or at least if the area of interest is centred on the rotation axis (centre of the image). Using additional transforms of the UVs might well fix this, but i can't help feeling that editing the texture or redoing the mapping would be less painful.

    Would be nice to have an easy way to do this in Iray, as I don't use 3DL much these days. It is particularly important for wood textures, as normal it only makes sense for the grain to be lined up one way. In this case a reflection on the diagnol line would be fine. I know you can rotate them in a phote editor, or using LIE, I just wish there was a more "one-click" solution for DS Iray.

  • Oso3D said:

    I've done it in Iray. Contemplating packing it into some sort of product. ;)

     

    I would definitely buy an ubershader variant that allowed arbitrary texture rotation. Not being able to do this is a huge pain for retexturing clothing with shaders.

  • Oso3DOso3D Posts: 15,053

    Maybe also include my fix for displacement issue.

    Any consensus on top coat? Pretty much have to choose reflectivity, fresnel, or weighted.

  • macleanmaclean Posts: 2,438
    tkdrobert said:

    I applying a roof texture to a building and the tiles are facing the wrong direction.  I tried messing around with vertical and horizontal offset but that didn't do the trick.  Please help.  Thank you.


     

    You can't rotate a texture with vertical or horizontal offset, but they are good for flipping it. A value of -1 will flip the tex vertically or horizontally.

  • tkdroberttkdrobert Posts: 3,584

    I do have Photoshop.  Sounds like that may be the easiest soloution.  I've modified textures in PS before.  Last week, I tried to re-texture a free room set and ran into the same problem.  Maybe Daz can add a rotate feature in a future build?

  • AbnerKAbnerK Posts: 718

    It's insane that you can't rotate the surface in Daz. It seems such an obvious and necessary feature to add in rather than having to create a whole other surface texture set!

  • algovincianalgovincian Posts: 2,646

    Why would you want the render engine performing the calculations necessary for rotated image maps every time (this is lots of times) it samples one? Seems incredibly inefficient.

    - Greg

  • Oso3DOso3D Posts: 15,053

    I think I was inspired by this thread; my Oso Master Shader ( https://www.daz3d.com/oso-master-shader1-for-iray ) allows you to rotate the base and overlay shaders freely.

     

  • hphoenixhphoenix Posts: 1,335
    Oso3D said:

    I think I was inspired by this thread; my Oso Master Shader ( https://www.daz3d.com/oso-master-shader1-for-iray ) allows you to rotate the base and overlay shaders freely.

     

    I don't know WHY Daz hasn't put the brick I worked out for the Iray texture arbitrary rotation into the Daz Uber Iray Shader.  It works fine, Oso3D's shaders use it, I believe.  It's in one of the Iray Shader threads.

  • HavosHavos Posts: 5,438

    Why would you want the render engine performing the calculations necessary for rotated image maps every time (this is lots of times) it samples one? Seems incredibly inefficient.

    - Greg

    It is also inefficient for the need for shader packs to have to double their size in order to have horizontal and vertical versions. Given these packs are often multiple GBs in size, that is quite a significant chunk of extra storage space. It also doubles the VRAM requirements of a render that needs both the H and V versions, eg a wood texture for a table using the H version for the top, and the V version for the legs.

  • Oso3DOso3D Posts: 15,053
    edited March 2019

    hphoenix: I think I used the brick logic you outlined, but not literally the custom brick. Nearly the same, though.

    I used it in OMS1 and Oso Shader Pack 1; I particularly found it useful for bricks so it could line up with varying UV design (as Havos essentially points out).

     

    Post edited by Oso3D on
  • hphoenixhphoenix Posts: 1,335

    Took a little searching, but I found the original thread on Shader Mixer tutorials, which has the link to the rotation network I did:  https://www.daz3d.com/forums/discussion/25448/list-of-shader-mixer-tutorials-and-recipes-wip-please-be-patient-as-i-update-the-list-thanks/p1

     

  • hphoenixhphoenix Posts: 1,335

    Why would you want the render engine performing the calculations necessary for rotated image maps every time (this is lots of times) it samples one? Seems incredibly inefficient.

    - Greg

    Except it won't perform those calculations every time.  The rotation is effectively a constant, as is the rotate/translate/scale Coordinate Transform matrix.  The MDL compiler can see this, and it will simply use the same value.  The only extra operation is a 4x4 matrix multiply, which CUDA cores do VERY fast.

    And, it allows ARBITRARY rotation of the map, which would require thousands of copies of image textures (each rotated a little from the last) to even simulate.  It's actually very efficient to use the shader techniques, as a lot of the work is done at compile time, not runtime.

  • nicsttnicstt Posts: 11,715

    Easiest way is to open in via explorer, then rotate in as showin in image.

    I'd do it with a copy though.

    rotate.JPG
    862 x 183 - 29K
  • algovincianalgovincian Posts: 2,646
    Havos said:

    Why would you want the render engine performing the calculations necessary for rotated image maps every time (this is lots of times) it samples one? Seems incredibly inefficient.

    - Greg

    It is also inefficient for the need for shader packs to have to double their size in order to have horizontal and vertical versions. Given these packs are often multiple GBs in size, that is quite a significant chunk of extra storage space. It also doubles the VRAM requirements of a render that needs both the H and V versions, eg a wood texture for a table using the H version for the top, and the V version for the legs.

     

    Never suggested that PAs should include a bunch of different rotations in sets.

     

    hphoenix said:

    Why would you want the render engine performing the calculations necessary for rotated image maps every time (this is lots of times) it samples one? Seems incredibly inefficient.

    - Greg

    Except it won't perform those calculations every time.  The rotation is effectively a constant, as is the rotate/translate/scale Coordinate Transform matrix.  The MDL compiler can see this, and it will simply use the same value.  The only extra operation is a 4x4 matrix multiply, which CUDA cores do VERY fast.

    And, it allows ARBITRARY rotation of the map, which would require thousands of copies of image textures (each rotated a little from the last) to even simulate.  It's actually very efficient to use the shader techniques, as a lot of the work is done at compile time, not runtime.

     

    I thought that the OP primarily rendered NPR stuff in 3DL, no? (so the MDL compiler and speed of cuda cores is not relevant)

    - Greg

  • WendyLuvsCatzWendyLuvsCatz Posts: 38,884

    DAZ studio is pretty unique in this limitation from what I have experienced

    Why would you want the render engine performing the calculations necessary for rotated image maps every time (this is lots of times) it samples one? Seems incredibly inefficient.

    - Greg

    every other 3D software I use seems to cope just fine with rotations of image bitmaps even realtime ones like Unreal Engine and iClone

    and of course Blender, Carrara, Poser .. I have yet to find something else that won't rotate images TBH

  • algovincianalgovincian Posts: 2,646

    DAZ studio is pretty unique in this limitation from what I have experienced

    Why would you want the render engine performing the calculations necessary for rotated image maps every time (this is lots of times) it samples one? Seems incredibly inefficient.

    - Greg

    every other 3D software I use seems to cope just fine with rotations of image bitmaps even realtime ones like Unreal Engine and iClone

    and of course Blender, Carrara, Poser .. I have yet to find something else that won't rotate images TBH

    I’m simply talking about the 0P’s actual situation – I believe he renders NPR stuff in 3DL.

    - Greg

  • tkdroberttkdrobert Posts: 3,584

    DAZ studio is pretty unique in this limitation from what I have experienced

    Why would you want the render engine performing the calculations necessary for rotated image maps every time (this is lots of times) it samples one? Seems incredibly inefficient.

    - Greg

    every other 3D software I use seems to cope just fine with rotations of image bitmaps even realtime ones like Unreal Engine and iClone

    and of course Blender, Carrara, Poser .. I have yet to find something else that won't rotate images TBH

    I’m simply talking about the 0P’s actual situation – I believe he renders NPR stuff in 3DL.

    - Greg

    I do both, IRAY (Real and NPR) and 3Delight (NPR).  I found the best soloution to my original problem was to modify the textures in Photoshop.

  • RafmerRafmer Posts: 564
    tkdrobert said:

    DAZ studio is pretty unique in this limitation from what I have experienced

    Why would you want the render engine performing the calculations necessary for rotated image maps every time (this is lots of times) it samples one? Seems incredibly inefficient.

    - Greg

    every other 3D software I use seems to cope just fine with rotations of image bitmaps even realtime ones like Unreal Engine and iClone

    and of course Blender, Carrara, Poser .. I have yet to find something else that won't rotate images TBH

    I’m simply talking about the 0P’s actual situation – I believe he renders NPR stuff in 3DL.

    - Greg

    I do both, IRAY (Real and NPR) and 3Delight (NPR).  I found the best soloution to my original problem was to modify the textures in Photoshop.

    So, the Layered Image Editor didn't work as you needed then?

  • Peter WadePeter Wade Posts: 1,649
    Oso3D said:

    Maybe also include my fix for displacement issue.

    Any consensus on top coat? Pretty much have to choose reflectivity, fresnel, or weighted.

    If you can get Iray to do displacements at a higher resolution that the mesh, like 3Delight can do, I would definitly go for it yes

Sign In or Register to comment.