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 shyxiaolong · Apr 22, 2021 at 06:04 PM · c#unity 5programmingmathprocedural

Hint joint how to configure

i am beginer and i have cube in air with element attached him with no rotation like a node, i have a couple cubes for simulate rope with hint joint. i have clicking right click at a cube and spawn rope from direction player to node and attaching last element rope with player and this working very vell. when player doesnt have velocity, and blocked rotation on rigidbody elements. but sometimes if i have been jumped and try to spawn rope in moving elements rope have weird rotations, and sometimes cubes rotation blocks. how i could work with rotations rope or i dont know, any advice? thanks. p.s sorry for bad english.

 private void CheckMouseActivity()
     {
         float x = Input.mousePosition.x;
         float y = Input.mousePosition.y;
         float z = Input.mousePosition.z;
 
         Vector3 point = new Vector3(x, y, z);
 
         if (Input.GetMouseButton(1) && !m_ropeIsActive)
         {
             m_aiming = true;
 
             Ray ray = Camera.main.ScreenPointToRay(point);
             GenerateRope(ray);
         }
        if(Input.GetButton("Jump") && m_ropeIsActive)
         {
             for (int i = 0; i < rope.Count; i++)
             {
                 DestroyImmediate(rope[i]);
                 //rope[i].active = false;
             }
             playerRb.AddForce(new Vector3(6f, 6f), ForceMode.Impulse); //TODO переделать, добавить импульс в зависимости от скорости и направления
             m_ropeIsActive = false;
             m_hooked = false;
         }
         
         //check bounds in playing area
     }
 void GenerateRope(Ray ray)
     {
         layerMask = ~layerMask;
         if (Physics.Raycast(ray, out RaycastHit hit, 10f, layerMask))
         {
             if (hit.transform.CompareTag("node") && !m_ropeIsActive)
             {
                 activeHook = hit.transform.gameObject;
                 m_CanMove = false;
                 Vector3 hitPos = hit.transform.position;
                 Transform hook = hit.transform.GetChild(0);
                 Vector3 hookInverseNormal = hook.up * -1f;
 
                 Rigidbody previosRb = hit.transform.GetChild(0).GetComponent<Rigidbody>();//hook
 
                 Vector3 distanceFromNode = transform.position - hit.point;
                 int distance = (int)distanceFromNode.magnitude;
 
                 BoxCollider link = linkPrefub.GetComponent<BoxCollider>();//(int)link.size.magnitude / 2;
                 int length = (int)((distance - 1f) / sizeCell); 
                 float ropeLength = sizeCell * 10f;
                 if (length < minLength) 
                 {
                     length = minLength;
                 }
                 //else if (length > ropeLength)
                 //{
                 //    length = (int)ropeLength * 2;
                 //}
                 for (int i = 1; i < length - 1; i++) 
                 {
 
                     var t = sizeCell * i; //позиция под новый куб
                     Vector3 dirToPlayer = transform.position - hit.transform.position;//направление до игрока,
                     Vector3 newPos = dirToPlayer.normalized * t;
                     GameObject toInstantiate = Instantiate(linkPrefub, hit.transform.position + new Vector3(newPos.x, -t, default), Quaternion.identity, hit.transform);
                     rope.Add(toInstantiate);
                     HingeJoint joint = toInstantiate.GetComponent<HingeJoint>();
                     if (i == 1)
                     {
                         joint.autoConfigureConnectedAnchor = true;
                     }
                     else
                     {
                         joint.autoConfigureConnectedAnchor = false;
                         joint.connectedAnchor = new Vector3(0f, -0.4f);
 
                     }
                     joint.enableCollision = false;
                     joint.connectedBody = previosRb;
 
                     previosRb = toInstantiate.GetComponent<Rigidbody>();
                 }
                 m_ropeIsActive = true;
                 m_hooked = true;
                 m_CanMove = true;
             }
         }
         else
         {
             //what to do if not did hit
         }
     }
 void FixedUpdate(){
 if (m_ropeIsActive)
         {
             if (m_hooked && activeHook)
             {
                 //TODO крутить нод хука чтобы выглядило красиво
             }
 
             if (rope.Count != 0)
             {
                 Rigidbody lastElementRope = rope[rope.Count - 1].GetComponent<Rigidbody>();
                 if (lastElementRope)
                 {
                     HingeJoint joint = GetComponent<HingeJoint>();
                     //joint.autoConfigureConnectedAnchor = false;
                     //joint.connectedBody = lastElementRope;
                     //joint.anchor = Vector2.zero;
                     //joint.connectedAnchor = new Vector2(0f, -0.4f);
                 }
             }
         }
 }

can put code from github with project I experimented here trying to achieve obedience, but I am convinced that this is the wrong direction, I just do not know how to work with rotations, I got confused if (i == 1) { joint.autoConfigureConnectedAnchor = true; } else { joint.autoConfigureConnectedAnchor = false; joint.connectedAnchor = new Vector3(0f, -0.4f);

                         }

https://github.com/Heges/first-2d-platformer/tree/main/2D-platformer

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

747 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 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 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 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 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 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 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 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 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 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 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

Multiple Cars not working 1 Answer

Hint Joint like a rope have weird behavior 1 Answer

Hint joint how to configure 0 Answers

How Can I Display UnityEvent in Custom Inspector When it is a Property of a Properties Property? (C#) 1 Answer

Find Vector3 perpendicular to Vector3 A in direction of Vector3 B 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