Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 12 Next capture
2021 2022 2023
1 capture
12 Jun 22 - 12 Jun 22
sparklines
Close Help
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
0
Question by Jason210 · Mar 08, 2017 at 11:22 AM · texture2dmaterialstextures3dsmaxmodelling

Texturing a large surface

Hi

I need to texture a large surface that is about 1000 feet long, but upon which I cannot use repeated tiling because the texture, though continuous, never quite repeats itself.

It seems that I can either to make one large texture (which would need to be a 4096 texture and even that will not produce the desired detail close up) or to divide it up into many textures.

If I use the second approach, I can only think of two ways to do it in a modelling program. The first is to simple break the mesh up into smaller pieces, and texture them separately, which is something I want to avoid; the second is to use multi/subobject material (ie multiple material ids... I don't even know if that is supported).

Looking forward for some help. I'm hoping there are more options than this!

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

2 Replies

· Add your reply
  • Sort: 
avatar image
1

Answer by Pengocat · Mar 08, 2017 at 01:48 PM

You could use the same approach that a terrain is normally using. It has several tiled textures that blend by a splat map. Another way is to have a base texture and place decals on it to break it up. Like you mention yourself increasing the texture size is not the best option on its own since even with a 4k texture each pixel would have to cover 3 inches. Sub-object materials should be supported up to a point. The performance would be the same as having individual materials though.

Comment
Add comment · Show 2 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image Jason210 · Mar 08, 2017 at 07:53 PM 0
Share

Hi & thanks

Decals won't work for this.

If multiple material IDs work on the same surface, then it might be the way. Would I need a splat map, even if the textures join up perfectly?

/Jason

avatar image Pengocat Jason210 · Mar 11, 2017 at 02:15 PM 0
Share

no you don't need a splat map if you use many individual textures but it will require a lot of GPU memory which is why tiled textures is normally used with some tricks to make them not appear as tiled textures.

avatar image
0

Answer by toddisarockstar · Mar 08, 2017 at 11:17 PM

Here is a custom shader I wrote to allow up to three textures to be placed on a surface.

to use it just draw a smaller image as a "map" to assign where you want your textures placed. when you draw your "map" texture simply use colors red white and blue to represent where the actual textures are placed!

to make a new custom shader, in the project tab in the inspector select create/shader. then open it and stick this code in it:

i hope this helps!!!

 Shader "todds/3Textures" {
     Properties {
        // _Color ("Overall Color", Color) = (1,0.5,0.5,1)
         _t1 ("texture in white", 2D) = "white" {}
         _tint1 ("Tint1", Color) = (1.0, 0.6, 0.6, 1.0)
         
         _t2 ("texture in red", 2D) = "white" {}
         _tint2 ("Tint2", Color) = (1.0, 0.6, 0.6, 1.0)
         _rc ("low cutoff", Range(1,80)) = 0.0 
         _t3 ("texture in blue", 2D) = "white" {}
         _tint3 ("Tint3", Color) = (1.0, 0.6, 0.6, 1.0)
         _rb ("low cutoff", Range(1,80)) = 0.0 
         _t4 ("texture map", 2D) = "white" {}
         
         
     }
     SubShader {
         //Tags { "RenderType"="Opaque" }
         LOD 200
         
         CGPROGRAM
         #pragma surface surf Lambert
         float _rc;
         float _rb;
         sampler2D _t1;
         sampler2D _t2;
         sampler2D _t3;
         sampler2D _t4;
         
         fixed4 _tint1;
         fixed4 _tint2;
         fixed4 _tint3;
         
         struct Input {
             
             float2 uv_t1;
             float2 uv_t2;
             float2 uv_t3;
             float2 uv_t4;
             
         };
       
 
         void surf (Input IN, inout SurfaceOutput o) {
             
             float f;
             
             half4 pix = tex2D (_t1, IN.uv_t1)*_tint1;
             half4 map = tex2D (_t4, IN.uv_t4);
             f=map.r;
             
             f=f*_rc;
             if(f>1){f=1;}
             pix=pix*f;
             f=1-f;
             pix=pix+tex2D (_t2, IN.uv_t2)*f*_tint2;
             
             f=map.b;
             f=f*_rb;
             if(f>1){f=1;}
             
             pix=pix*f;
             f=1-f;
             pix=pix+tex2D (_t3, IN.uv_t3)*f*_tint3;
             
             o.Albedo = pix.rgb;
             
         }
         ENDCG
     } 
     FallBack "Diffuse"
 }
 

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Follow this Question

Answers Answers and Comments

69 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

fbx import, .fbm folder created but no textures assigned to materials 0 Answers

Problems setting up a Texture2D 2 Answers

Assigning textures in project panel to materials dynamically or via editor scripts 1 Answer

Import Blender models 2 Answers

Random Tiling Textures 0 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges