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 Moaid_T4 · Nov 06, 2014 at 05:13 PM · minecraft

Minecraft Clone Block Placing Script - need help

hello , im trying to make a minecraft clone and im working on the placing system i made a script it works , when i try to place a block from above a block it works perfectly but when i try to place a block from the side the block is set inside the block i clicked i hit and same happens when i place a block from bellow, if you can help me or give me a working code to base my code on that would be great , thanks for reading.

 var DistaneFired : int;
 var ShootFrom : Transform;
 var CurrentItem : GameObject;
 function Update () 
 {
 CurrentItem.SetActive(true);
 if(Input.GetMouseButtonUp(0))
 {
 var hit : RaycastHit;
 var Direction : Vector3 = transform.TransformDirection(Vector3.forward);
 Debug.DrawRay(ShootFrom.position,Direction*DistaneFired,Color.blue);
 if(Physics.Raycast(ShootFrom.position, Direction,hit,DistaneFired))
 {
 hit.transform.tag="occ_des";
 }
 }
 if(Input.GetMouseButtonUp(1))
 {
 var use : RaycastHit;
 var Direction2 : Vector3 = transform.TransformDirection(Vector3.forward);
 var hitrotatition = Quaternion.FromToRotation(Vector3.up, use.normal);
 Debug.DrawRay(ShootFrom.position,Direction2*DistaneFired,Color.yellow);
 if(Physics.Raycast(ShootFrom.position, Direction2,use,DistaneFired))
 {
 if(CurrentItem.name!="pickaxe" && CurrentItem.name!="Sword")
 {
 if(use.transform.name!="Collider(Clone))
 {
 print(use.point);
 use.point.x=Mathf.Round(use.point.x);
 use.point.z=Mathf.Round(use.point.z);
 use.point.y+=0.5;
 print(use.point);
 Instantiate(CurrentItem, use.point,hitrotatition);
 }
 }
 }
 }
 }
 

ps occ_des is the tag i use to destroy blocks, all the problems are at the use part

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

1 Reply

· Add your reply
  • Sort: 
avatar image
0

Answer by robertbu · Nov 06, 2014 at 05:19 PM

If this is how your original code is formatted, I highly encourage you to adopt an indentation style for your brackets that allows you to see the structure of your code. Long-term putting everything on the left margin will lead to many hours of searching for bugs and make it difficult for other to help you.

As for your problem, I assume you are instantiating cubes. This is not how Minecraft is done, but I believe this will fix your code:

  print(use.point);
  var pos = use.transform.position;
  pos += use.normal * 1.0;  
  print(pos);
  Instantiate(CurrentItem, pos,hitrotatition);

The 1.0 can be removed if you are using unscaled built-in cubes. For other objects, you may have to use some factor.

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

2 People are following this question.

avatar image avatar image

Related Questions

Creating blocks script! Need help :) 1 Answer

Place cubes? problem with my script :S 1 Answer

Audio Help! 1 Answer

Anyone got a Voxel generator I can use? 0 Answers

UV mapping 5 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