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 /
  • Help Room /
avatar image
1
Question by natesc00 · Aug 25, 2015 at 02:51 PM · collisionrigidbody2dboxcollider2d

transform.position to Rigidbody.AddForce

I am working on a game where the sprite follows the mouse clicks. I need to add boxcolliders for scoring points and boundaries. I've tried void OnCollisionEnter (Collision col), and that doesnt work. Here is my code. using UnityEngine; using System.Collections;

 public class player : MonoBehaviour {
     
     public float speed = 1.5f;
     private Vector3 target;
     
     void Start () {
         target = transform.position;
     }
     
     void Update () {
         var mouse = Input.mousePosition;
         var screenPoint = Camera.main.WorldToScreenPoint(transform.localPosition);
         var offset = new Vector2(mouse.x - screenPoint.x, mouse.y - screenPoint.y);
         var angle = Mathf.Atan2(offset.y, offset.x) * Mathf.Rad2Deg;
         if (Input.GetMouseButtonDown(0)) {
             target = Camera.main.ScreenToWorldPoint(Input.mousePosition);
             target.z = transform.position.z;
             transform.rotation = Quaternion.Euler(0, 0, angle);
             
             
         }
         
         transform.position = Vector3.MoveTowards(transform.position, target, speed * Time.deltaTime);
 
     }
 
 
 }
 All i need is to change Transfor.position to Rigidbody.addforce:)

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
0

Answer by Foulcloud · Aug 25, 2015 at 04:52 PM

OnCollisionEnter() will require a rigidbody on the player as well as a collider that is not set as a trigger. If you want to use triggers instead, you will need to use OnTriggerEnter(Collider owner).

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
avatar image
0

Answer by SuperRaed · Aug 25, 2015 at 08:22 PM

it's a very interesting challenge I thinkyou are going to need to write your own physics, how much force is needed to move an object with a given mass(Rigidbody().mass) this much distance (vector3 diferrence between current position and target) ? you still going to need time or velocity in order to calculate force(as far as I know).

one way you can do this is to add a reasonable amount of force to that object that's not too fast and then using either

1- a trigger to check if object has reached target to cut off the veocity through GetComponent(RigidBody)().velocity= Vector3.Zero;

2-this may sound a little crazy but you can dynamically add invisible barriers that will actually collide with gameobject and hold it in place, the should have friction set to max.

keep us updated with what you find out :)

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

4 People are following this question.

avatar image avatar image avatar image avatar image

Related Questions

2d collision not functioning correctly 0 Answers

OnCollisionEnter2D not getting called 2 Answers

Unable to stop animation upon collision (2d, animation, rigidbody) 0 Answers

Issues with rigidbody, boxcollider, and gravity in a 2d top down game 1 Answer

How To Check isGrounded Or Not PLEASE HELP 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