Wayback Machinekoobas.hobune.stream
May JUN Jul
Previous capture 11 Next capture
2021 2022 2023
1 capture
11 Jun 22 - 11 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 /
This post has been wikified, any user with enough reputation can edit it.
avatar image
0
Question by HameedAbdul · Jul 29, 2015 at 08:27 PM · animationcollisionrigidbody2d

Increasing friction or Adding force relative to transform position in Unity 2D?

Back again with a quick question! I have a few basic platforming mechanics going on in this scene. I have a prefab platform with an animation that loops back and forth between two different x positions, but does not begin looping until OnCollisionStay2D activates with my player object with the tag "Red cube".

But once the animation starts the red cube has very little friction with the platform and falls off. I have attempted to fix this AddRelativeForce in this script. Is there any way to increase the friction to where my player cube isn't slipping off? Or is there anyway to script my platform to add constant force to my player where I will move with platform seamlessly? Thank you so much for your time! You guys are a great help :)

using UnityEngine; using System.Collections;

public class PlatformMovement : MonoBehaviour {

 public Rigidbody2D rb;
 public float speed;

 void Start()
 {
     rb = GameObject.FindGameObjectWithTag ("Red Cube").GetComponent<Rigidbody2D> ();
 }

 void OnCollisionEnter2D(Collision2D coll) 
 {
     if (coll.gameObject.tag == "Red Cube") 
     {
         Debug.Log ("Something has entered this zone.");
         GetComponent<Animation> ().Play ("Side To Side");
     }
 }

 void OnCollisionStay2D(Collision2D coll) 
 {
     if (coll.gameObject.tag == "Red Cube") 
     {
         rb.AddRelativeForce(new Vector2(speed, 0), ForceMode2D.Force);
     }

 }

 }



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 Positive7 · Jul 29, 2015 at 10:12 PM

This is not the best solution but it's hard to code from tablet without testing.

 using UnityEngine;
 using System.Collections;
 
 
 public class test9 : MonoBehaviour {
 
     GameObject player;
 
     void Start()
     {
         player = GameObject.FindGameObjectWithTag("Red Cube");
     }
     
     void OnCollisionEnter2D(Collision2D coll) 
     {
         if (coll.gameObject.tag == "Red Cube") 
         {
             Debug.Log ("Something has entered this zone.");
             GetComponent<Animation> ().Play ("Side To Side");
             player.transform.SetParent(transform,true);
             player.GetComponent<Rigidbody2D>().isKinematic = true;
         }
     }
 
     void Update() 
     {
         if(Input.GetKey(KeyCode.Space) || Input.GetAxis("Horizontal") > 0 || Input.GetAxis("Vertical") > 0){
             player.transform.SetParent(null);
             player.GetComponent<Rigidbody2D>().isKinematic = false;
             }
     }
 }
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

3 People are following this question.

avatar image avatar image avatar image

Related Questions

Jumping and reverse gravity with a Rigidbody2D (based on the Ruby tutorials) 1 Answer

Third Person: Picking up and carrying objects. 0 Answers

"Freeze Position" applied to an axis affects the bounciness of the object's collider on that axis. 0 Answers

Collider on Bone changes Bone Origin/Pivot 1 Answer

OnTriggerEnter2D is not working 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