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 vipvex · Jan 13, 2013 at 03:56 AM · rotationobjectglitch

Weird behavior when adding rotation.

I'm trying to make a "bumerang" like projectile that you can shoot. In my script the projectile is supposed to rotate to the left or to the right depending on a witch way you swiped you mouse cursor however sometimes when I change the direction I look at and swipe to the right the projectile goes the complete opposite direction. Could anybody tell me how i could fix this bug? Thanks! `

pragma strict

var onHitEffect : GameObject;

var damadge : int; var damadgeOverTime : int; var damadgeOverTimeTime : int;

var speed : float = 50; var size : Vector3; var directionDistance : float = 50; var directionCurve : AnimationCurve; var directionStrength : Vector2 = Vector2(2, 0); var directionStrengthMulti : float;

var aoe : boolean = false; var aoeDamadge : float; var aoeRadius : float;

@HideInInspector var keepMoving : boolean = true; @HideInInspector var time : float; @HideInInspector var screenPos : Vector3; @HideInInspector var hit : boolean = false; @HideInInspector var guiDamadgeSpeed : float;

function Awake () {

 time = Time.time;
 directionCurve = AnimationCurve(Keyframe(0, 0), Keyframe(.5, 1));

}

function Start () {

 Physics.IgnoreLayerCollision(0, 8);
 transform.localScale = size;

}

function Update (){

//directionCurve = AnimationCurve(Keyframe(0, 0), Keyframe(1, 1));

}

function FixedUpdate (){

 if (keepMoving){
     
     var xPos = Vector3(0, directionCurve.Evaluate(Time.time - time) * (directionStrength.y * directionStrengthMulti) * Time.deltaTime, 0);
     rigidbody.MovePosition(rigidbody.position + (Vector3.Scale(transform.forward, Vector3(speed, speed, speed)) * Time.deltaTime));
     transform.localRotation.eulerAngles -= xPos;
     //Debug.Log(transform.localRotation.eulerAngles.y);
     
     
     //var xPos = Vector3.Scale(transform.right, Vector3(0, directionCurve.Evaluate(Time.time - time) * (directionStrength.y * directionStrengthMulti) * Time.deltaTime, 0));
     //rigidbody.MovePosition(rigidbody.position + (Vector3.Scale(transform.right, xPos)));
     
     //rigidbody.MovePosition(rigidbody.position + (Vector3.Scale(transform.up, 
     //Vector3(0, directionCurve.Evaluate(Time.time - time) * (directionStrength.y * directionStrengthMulti) * Time.deltaTime, 0))));
     //rigidbody.position += xPos;
     //rigidbody.position.y += directionCurve.Evaluate(Time.time - time) * directionStrength * Time.deltaTime;
 
 }



}

function OnCollisionEnter(collision : Collision) {

 if (collision.gameObject.tag == "Player"){ 
 
     var playerScript = collision.gameObject.GetComponent(Player);
     //playerScript.networkView.RPC("TakeDamadge", RPCMode.All, damadge);
 
 }
 
 if (onHitEffect){
 
     var contact : ContactPoint = collision.contacts[0];
     var rot = Quaternion.FromToRotation(Vector3.forward, contact.normal);
     
     Instantiate(onHitEffect, contact.point, rot);    
 
 }
     
 
     Destroy (gameObject);


}

Comment
Add comment · Show 3
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 Eric5h5 · Jan 13, 2013 at 04:02 AM 0
Share

That would be a lot more readable if you used the code button to format the code.

avatar image AlucardJay · Jan 13, 2013 at 06:05 AM 0
Share

it's a boomerang (greetings from Australia!). As per Eric, please format your code. You can do this by highlighting all your code, then clicking the 10101 button at the top of the edit window.

Though, it may be easier just to delete the code, paste it in again from the source, then highlight all the code and press the 101010 button at the top of the edit window before posting. When you don't mark your code as code, the text gets html escaped and it gets really hard to reformat it.

avatar image robertbu · Jan 13, 2013 at 06:27 AM 0
Share

Is it possible that this line:

var rot = Quaternion.FromToRotation(Vector3.forward, contact.normal);

Is flipping the "bumerang" upside down on some hits so it appears to rotate backwards?

Issues with directionStrength$$anonymous$$ulti and/or directionStrength would be the next thing you might look at (I don't see the code here that changes these values).

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

11 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

Related Questions

Multiple Cars not working 1 Answer

Object Rotation/Character Speed 1 Answer

Object problem 1 Answer

I need a 3d polygon between two cylinders 1 Answer

Slicing Objects 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