Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 13 Next capture
2021 2022 2023
1 capture
13 Jun 22 - 13 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 mchaza · Nov 24, 2011 at 02:02 PM · textureraycastmeshtrianglespolygon

shooting raycast from each triangle on mesh and change its texture

I dont know it this has been answers, did some searching and came out dry.

Question is that, If I was to have a object with a mesh that contains 200 triangles which make up 100 1x1m squares. I want to change the texture of the squares if an object is directly above that square to indicate where that block above is going to land. Currently I have 100 individual cubes with an attached script that does that by each shooting a ray cast in the air and if it hits a certain object with correct tag it changes it texture. here is the script for further understanding:

 using UnityEngine;
 using System.Collections;
 
 public class TextureChange : MonoBehaviour {
     
     //Texture to change to if ray cast its control block
     public Texture colourChange;
     
     //Its orginal texture to revert back to
     public Texture previousTexture;
     
     
     // Update is called once per frame
     void Update () {
         
         //variable to contain all layers but layer 8
         LayerMask layerMask = 1 << 8;
         layerMask = ~layerMask;
         
         //variable to store raycast values
         RaycastHit hit;
         //if the raycast hit something check objects tag, else keep orignal texture 
         if(Physics.Raycast(transform.position, Vector3.up, out hit, Mathf.Infinity, layerMask.value)) {        
             //if that object has tag control block, change the texture to the colourChange texture
             if(hit.collider.gameObject.tag == "ControlBlock") {
                 //change texture to requested texture variable 
                 gameObject.renderer.material.mainTexture = colourChange;
             }
             //if its an no controlable block keep it as orginal texture
             if(hit.collider.gameObject.tag == "UnControlBlock") {
                 gameObject.renderer.material.mainTexture = previousTexture;
             }
         } else {
             gameObject.renderer.material.mainTexture = previousTexture;    
         }
     }
 }

But having 100 blocks seems wasteful if there is an alternative method. Thankyou if for any answers if there is any on 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

0 Replies

· Add your reply
  • Sort: 

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

2 People are following this question.

avatar image avatar image

Related Questions

Mesh texture not properly rendered 0 Answers

Procedurally Generated Mesh Texturing 0 Answers

Odd Duplicate when selecting Triangle from Mesh (with Barycentric Selection.) 1 Answer

Textures dont show on my mesh when i reduce polygon count any ideas? D: 0 Answers

Render voxels with RGB data passed to them 1 Answer


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