Displacement Stretched












6












$begingroup$


I have a simple displacement setup as follows:



nodes



When I apply this same material to two differently sized objects, the displacement seems stretched on the larger object:



screenshot



Scale has been applied (Ctrl+A).



Is there a way to make the displacement the same 'scale' on objects of any size?



Here is a link to the sample .blend file:



https://1drv.ms/u/s!AqKxXPZzafVQla8hzonVpxSvpK9jwQ



This was created using Blender 2.8 beta.










share|improve this question











$endgroup$












  • $begingroup$
    have you applied the scale (ctrl A)?
    $endgroup$
    – moonboots
    Feb 15 at 11:20










  • $begingroup$
    @moonboots Yes. I have just updated the question to state that, thanks.
    $endgroup$
    – rhughes
    Feb 15 at 11:22










  • $begingroup$
    Try to plug Object socket from Texture coordinates to Noise texture
    $endgroup$
    – Serge L
    Feb 15 at 11:42
















6












$begingroup$


I have a simple displacement setup as follows:



nodes



When I apply this same material to two differently sized objects, the displacement seems stretched on the larger object:



screenshot



Scale has been applied (Ctrl+A).



Is there a way to make the displacement the same 'scale' on objects of any size?



Here is a link to the sample .blend file:



https://1drv.ms/u/s!AqKxXPZzafVQla8hzonVpxSvpK9jwQ



This was created using Blender 2.8 beta.










share|improve this question











$endgroup$












  • $begingroup$
    have you applied the scale (ctrl A)?
    $endgroup$
    – moonboots
    Feb 15 at 11:20










  • $begingroup$
    @moonboots Yes. I have just updated the question to state that, thanks.
    $endgroup$
    – rhughes
    Feb 15 at 11:22










  • $begingroup$
    Try to plug Object socket from Texture coordinates to Noise texture
    $endgroup$
    – Serge L
    Feb 15 at 11:42














6












6








6


2



$begingroup$


I have a simple displacement setup as follows:



nodes



When I apply this same material to two differently sized objects, the displacement seems stretched on the larger object:



screenshot



Scale has been applied (Ctrl+A).



Is there a way to make the displacement the same 'scale' on objects of any size?



Here is a link to the sample .blend file:



https://1drv.ms/u/s!AqKxXPZzafVQla8hzonVpxSvpK9jwQ



This was created using Blender 2.8 beta.










share|improve this question











$endgroup$




I have a simple displacement setup as follows:



nodes



When I apply this same material to two differently sized objects, the displacement seems stretched on the larger object:



screenshot



Scale has been applied (Ctrl+A).



Is there a way to make the displacement the same 'scale' on objects of any size?



Here is a link to the sample .blend file:



https://1drv.ms/u/s!AqKxXPZzafVQla8hzonVpxSvpK9jwQ



This was created using Blender 2.8 beta.







cycles nodes displacement






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Feb 15 at 16:03









batFINGER

24.4k42673




24.4k42673










asked Feb 15 at 11:18









rhughesrhughes

3881315




3881315












  • $begingroup$
    have you applied the scale (ctrl A)?
    $endgroup$
    – moonboots
    Feb 15 at 11:20










  • $begingroup$
    @moonboots Yes. I have just updated the question to state that, thanks.
    $endgroup$
    – rhughes
    Feb 15 at 11:22










  • $begingroup$
    Try to plug Object socket from Texture coordinates to Noise texture
    $endgroup$
    – Serge L
    Feb 15 at 11:42


















  • $begingroup$
    have you applied the scale (ctrl A)?
    $endgroup$
    – moonboots
    Feb 15 at 11:20










  • $begingroup$
    @moonboots Yes. I have just updated the question to state that, thanks.
    $endgroup$
    – rhughes
    Feb 15 at 11:22










  • $begingroup$
    Try to plug Object socket from Texture coordinates to Noise texture
    $endgroup$
    – Serge L
    Feb 15 at 11:42
















$begingroup$
have you applied the scale (ctrl A)?
$endgroup$
– moonboots
Feb 15 at 11:20




$begingroup$
have you applied the scale (ctrl A)?
$endgroup$
– moonboots
Feb 15 at 11:20












$begingroup$
@moonboots Yes. I have just updated the question to state that, thanks.
$endgroup$
– rhughes
Feb 15 at 11:22




$begingroup$
@moonboots Yes. I have just updated the question to state that, thanks.
$endgroup$
– rhughes
Feb 15 at 11:22












$begingroup$
Try to plug Object socket from Texture coordinates to Noise texture
$endgroup$
– Serge L
Feb 15 at 11:42




$begingroup$
Try to plug Object socket from Texture coordinates to Noise texture
$endgroup$
– Serge L
Feb 15 at 11:42










2 Answers
2






active

oldest

votes


















8












$begingroup$

To have consistent scale, create an Empty in your scene and make it control the texture scale.




  1. Create an Empty



  2. Edit your material by adding an Input>Texture Coordinate, using the Object socket and linking it to the Empty in the "Object" dropdown



    enter image description here



  3. Scale (, Rotate, Move) the Empty to make the feature the size you want. This will apply in a coherent way to both objects that share that material.



enter image description here



Big Empty



enter image description here



Small Empty



Note: if your object is going to be moved in animation, and you want the texture to stick to it, then you should either (1) parent the empty to it, (2) consider following Mark Jackson's answer (although you will need to adjust the proportions of the texture manually), or (3) use an UV map.






share|improve this answer











$endgroup$













  • $begingroup$
    Ingenious! This answer also helped me learn something cool :)
    $endgroup$
    – Mark Jackson
    Feb 16 at 2:05










  • $begingroup$
    Thanks for your help!
    $endgroup$
    – rhughes
    Feb 16 at 5:01



















1












$begingroup$

If you don't use UV textures, then applying materials will try to fit it to the entire object. So if your object is long, then it will stretch to fit your mesh.



To fix this, in your node editor, press "Shift+A" > "Input" > "Texture Coordinate"
Press again "Shift+A" > "Vector" > "Mapping"



Connect them up like this and in your Mapping Node, using the Scale to make the noise texture fit to the object. In my case I used the Y axis and increased the Scale of Y by 10.



See below:
enter image description here



I hope you can see it ok in the image and that this helps you.






share|improve this answer









$endgroup$













  • $begingroup$
    One more thing, without defining the parameters (in this case, the scale) by using a Mapping node, blender will automatically assume the default values (X 1.0, Y 1.0, Z 1.0) and project the texture to fit onto the mesh object which in our case, is not uniform on all sides. So we need a mapping node to tell blender that these values are not default values and it needs to stretch or squash the texture to fit correctly onto our mesh object. In the texture coordinate, using Generated or Object will probably yield similar if not the same result.
    $endgroup$
    – Mark Jackson
    Feb 15 at 12:04











Your Answer





StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");

StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "502"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);

StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});

function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});


}
});














draft saved

draft discarded


















StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fblender.stackexchange.com%2fquestions%2f131869%2fdisplacement-stretched%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown

























2 Answers
2






active

oldest

votes








2 Answers
2






active

oldest

votes









active

oldest

votes






active

oldest

votes









8












$begingroup$

To have consistent scale, create an Empty in your scene and make it control the texture scale.




  1. Create an Empty



  2. Edit your material by adding an Input>Texture Coordinate, using the Object socket and linking it to the Empty in the "Object" dropdown



    enter image description here



  3. Scale (, Rotate, Move) the Empty to make the feature the size you want. This will apply in a coherent way to both objects that share that material.



enter image description here



Big Empty



enter image description here



Small Empty



Note: if your object is going to be moved in animation, and you want the texture to stick to it, then you should either (1) parent the empty to it, (2) consider following Mark Jackson's answer (although you will need to adjust the proportions of the texture manually), or (3) use an UV map.






share|improve this answer











$endgroup$













  • $begingroup$
    Ingenious! This answer also helped me learn something cool :)
    $endgroup$
    – Mark Jackson
    Feb 16 at 2:05










  • $begingroup$
    Thanks for your help!
    $endgroup$
    – rhughes
    Feb 16 at 5:01
















8












$begingroup$

To have consistent scale, create an Empty in your scene and make it control the texture scale.




  1. Create an Empty



  2. Edit your material by adding an Input>Texture Coordinate, using the Object socket and linking it to the Empty in the "Object" dropdown



    enter image description here



  3. Scale (, Rotate, Move) the Empty to make the feature the size you want. This will apply in a coherent way to both objects that share that material.



enter image description here



Big Empty



enter image description here



Small Empty



Note: if your object is going to be moved in animation, and you want the texture to stick to it, then you should either (1) parent the empty to it, (2) consider following Mark Jackson's answer (although you will need to adjust the proportions of the texture manually), or (3) use an UV map.






share|improve this answer











$endgroup$













  • $begingroup$
    Ingenious! This answer also helped me learn something cool :)
    $endgroup$
    – Mark Jackson
    Feb 16 at 2:05










  • $begingroup$
    Thanks for your help!
    $endgroup$
    – rhughes
    Feb 16 at 5:01














8












8








8





$begingroup$

To have consistent scale, create an Empty in your scene and make it control the texture scale.




  1. Create an Empty



  2. Edit your material by adding an Input>Texture Coordinate, using the Object socket and linking it to the Empty in the "Object" dropdown



    enter image description here



  3. Scale (, Rotate, Move) the Empty to make the feature the size you want. This will apply in a coherent way to both objects that share that material.



enter image description here



Big Empty



enter image description here



Small Empty



Note: if your object is going to be moved in animation, and you want the texture to stick to it, then you should either (1) parent the empty to it, (2) consider following Mark Jackson's answer (although you will need to adjust the proportions of the texture manually), or (3) use an UV map.






share|improve this answer











$endgroup$



To have consistent scale, create an Empty in your scene and make it control the texture scale.




  1. Create an Empty



  2. Edit your material by adding an Input>Texture Coordinate, using the Object socket and linking it to the Empty in the "Object" dropdown



    enter image description here



  3. Scale (, Rotate, Move) the Empty to make the feature the size you want. This will apply in a coherent way to both objects that share that material.



enter image description here



Big Empty



enter image description here



Small Empty



Note: if your object is going to be moved in animation, and you want the texture to stick to it, then you should either (1) parent the empty to it, (2) consider following Mark Jackson's answer (although you will need to adjust the proportions of the texture manually), or (3) use an UV map.







share|improve this answer














share|improve this answer



share|improve this answer








edited Feb 15 at 14:59

























answered Feb 15 at 12:06









Nicola SapNicola Sap

6,55012045




6,55012045












  • $begingroup$
    Ingenious! This answer also helped me learn something cool :)
    $endgroup$
    – Mark Jackson
    Feb 16 at 2:05










  • $begingroup$
    Thanks for your help!
    $endgroup$
    – rhughes
    Feb 16 at 5:01


















  • $begingroup$
    Ingenious! This answer also helped me learn something cool :)
    $endgroup$
    – Mark Jackson
    Feb 16 at 2:05










  • $begingroup$
    Thanks for your help!
    $endgroup$
    – rhughes
    Feb 16 at 5:01
















$begingroup$
Ingenious! This answer also helped me learn something cool :)
$endgroup$
– Mark Jackson
Feb 16 at 2:05




$begingroup$
Ingenious! This answer also helped me learn something cool :)
$endgroup$
– Mark Jackson
Feb 16 at 2:05












$begingroup$
Thanks for your help!
$endgroup$
– rhughes
Feb 16 at 5:01




$begingroup$
Thanks for your help!
$endgroup$
– rhughes
Feb 16 at 5:01













1












$begingroup$

If you don't use UV textures, then applying materials will try to fit it to the entire object. So if your object is long, then it will stretch to fit your mesh.



To fix this, in your node editor, press "Shift+A" > "Input" > "Texture Coordinate"
Press again "Shift+A" > "Vector" > "Mapping"



Connect them up like this and in your Mapping Node, using the Scale to make the noise texture fit to the object. In my case I used the Y axis and increased the Scale of Y by 10.



See below:
enter image description here



I hope you can see it ok in the image and that this helps you.






share|improve this answer









$endgroup$













  • $begingroup$
    One more thing, without defining the parameters (in this case, the scale) by using a Mapping node, blender will automatically assume the default values (X 1.0, Y 1.0, Z 1.0) and project the texture to fit onto the mesh object which in our case, is not uniform on all sides. So we need a mapping node to tell blender that these values are not default values and it needs to stretch or squash the texture to fit correctly onto our mesh object. In the texture coordinate, using Generated or Object will probably yield similar if not the same result.
    $endgroup$
    – Mark Jackson
    Feb 15 at 12:04
















1












$begingroup$

If you don't use UV textures, then applying materials will try to fit it to the entire object. So if your object is long, then it will stretch to fit your mesh.



To fix this, in your node editor, press "Shift+A" > "Input" > "Texture Coordinate"
Press again "Shift+A" > "Vector" > "Mapping"



Connect them up like this and in your Mapping Node, using the Scale to make the noise texture fit to the object. In my case I used the Y axis and increased the Scale of Y by 10.



See below:
enter image description here



I hope you can see it ok in the image and that this helps you.






share|improve this answer









$endgroup$













  • $begingroup$
    One more thing, without defining the parameters (in this case, the scale) by using a Mapping node, blender will automatically assume the default values (X 1.0, Y 1.0, Z 1.0) and project the texture to fit onto the mesh object which in our case, is not uniform on all sides. So we need a mapping node to tell blender that these values are not default values and it needs to stretch or squash the texture to fit correctly onto our mesh object. In the texture coordinate, using Generated or Object will probably yield similar if not the same result.
    $endgroup$
    – Mark Jackson
    Feb 15 at 12:04














1












1








1





$begingroup$

If you don't use UV textures, then applying materials will try to fit it to the entire object. So if your object is long, then it will stretch to fit your mesh.



To fix this, in your node editor, press "Shift+A" > "Input" > "Texture Coordinate"
Press again "Shift+A" > "Vector" > "Mapping"



Connect them up like this and in your Mapping Node, using the Scale to make the noise texture fit to the object. In my case I used the Y axis and increased the Scale of Y by 10.



See below:
enter image description here



I hope you can see it ok in the image and that this helps you.






share|improve this answer









$endgroup$



If you don't use UV textures, then applying materials will try to fit it to the entire object. So if your object is long, then it will stretch to fit your mesh.



To fix this, in your node editor, press "Shift+A" > "Input" > "Texture Coordinate"
Press again "Shift+A" > "Vector" > "Mapping"



Connect them up like this and in your Mapping Node, using the Scale to make the noise texture fit to the object. In my case I used the Y axis and increased the Scale of Y by 10.



See below:
enter image description here



I hope you can see it ok in the image and that this helps you.







share|improve this answer












share|improve this answer



share|improve this answer










answered Feb 15 at 11:56









Mark JacksonMark Jackson

3313




3313












  • $begingroup$
    One more thing, without defining the parameters (in this case, the scale) by using a Mapping node, blender will automatically assume the default values (X 1.0, Y 1.0, Z 1.0) and project the texture to fit onto the mesh object which in our case, is not uniform on all sides. So we need a mapping node to tell blender that these values are not default values and it needs to stretch or squash the texture to fit correctly onto our mesh object. In the texture coordinate, using Generated or Object will probably yield similar if not the same result.
    $endgroup$
    – Mark Jackson
    Feb 15 at 12:04


















  • $begingroup$
    One more thing, without defining the parameters (in this case, the scale) by using a Mapping node, blender will automatically assume the default values (X 1.0, Y 1.0, Z 1.0) and project the texture to fit onto the mesh object which in our case, is not uniform on all sides. So we need a mapping node to tell blender that these values are not default values and it needs to stretch or squash the texture to fit correctly onto our mesh object. In the texture coordinate, using Generated or Object will probably yield similar if not the same result.
    $endgroup$
    – Mark Jackson
    Feb 15 at 12:04
















$begingroup$
One more thing, without defining the parameters (in this case, the scale) by using a Mapping node, blender will automatically assume the default values (X 1.0, Y 1.0, Z 1.0) and project the texture to fit onto the mesh object which in our case, is not uniform on all sides. So we need a mapping node to tell blender that these values are not default values and it needs to stretch or squash the texture to fit correctly onto our mesh object. In the texture coordinate, using Generated or Object will probably yield similar if not the same result.
$endgroup$
– Mark Jackson
Feb 15 at 12:04




$begingroup$
One more thing, without defining the parameters (in this case, the scale) by using a Mapping node, blender will automatically assume the default values (X 1.0, Y 1.0, Z 1.0) and project the texture to fit onto the mesh object which in our case, is not uniform on all sides. So we need a mapping node to tell blender that these values are not default values and it needs to stretch or squash the texture to fit correctly onto our mesh object. In the texture coordinate, using Generated or Object will probably yield similar if not the same result.
$endgroup$
– Mark Jackson
Feb 15 at 12:04


















draft saved

draft discarded




















































Thanks for contributing an answer to Blender Stack Exchange!


  • Please be sure to answer the question. Provide details and share your research!

But avoid



  • Asking for help, clarification, or responding to other answers.

  • Making statements based on opinion; back them up with references or personal experience.


Use MathJax to format equations. MathJax reference.


To learn more, see our tips on writing great answers.




draft saved


draft discarded














StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fblender.stackexchange.com%2fquestions%2f131869%2fdisplacement-stretched%23new-answer', 'question_page');
}
);

Post as a guest















Required, but never shown





















































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown

































Required, but never shown














Required, but never shown












Required, but never shown







Required, but never shown







Popular posts from this blog

Biblatex bibliography style without URLs when DOI exists (in Overleaf with Zotero bibliography)

ComboBox Display Member on multiple fields

Is it possible to collect Nectar points via Trainline?