- Home /
Wall Pushing an Object
Hello, I'm trying to make a wall that push an object when it hits the wall and when the wall its yellow painted.
I already made a wall that when I paint the wall with the blue color, it pull an object, but I don't know how to make pushing it when its touching.
Here's the Yellow Wall Script (it works):
using UnityEngine; using System.Collections;
public class NewBehaviourScript : MonoBehaviour {
public Rigidbody bola; public float speed = 2;
public void Update(){
} public void OnCollisionEnter(Collision collision) { if (collision.gameObject.tag == ("bola")){
if (renderer.material.color==Color.yellow){
Debug.Log("tocou");
bola.transform.Translate(Vector3.forward* speed * Time.deltaTime); } }
} }
Answer by rodridkv · Apr 02, 2011 at 12:51 AM
I think that you need to apply a force to the rigidbody to simulate a "real" push, if you use transform the push is not going to be realistic, and it will be more similar to an animation.
To apply a force to a rigidbody in the Z axis (in c# for example):
Vector3 myForce = new Vector3(0.0f, 0.0f, 10.0f);
bola.AddForce(myForce);
The vector force depends on what you want to do :)
Hmm... It didn't work... weird, the Debug.Log it's showing perfectly! Thank you for helping! ;)
Answer by Pedro 3 · Apr 05, 2011 at 12:37 PM
I used this sugestion, but in game, the object only move in Z. The game have many wall's, and the wall push the object. i want the wall increase the distance between "bola" and the wall.
thx
Your answer
Follow this Question
Related Questions
Make an Object Animate Up In The Update Function 2 Answers
How to move Instantiated object to pre-defined position(Solved) 1 Answer
Ambientlight by distance 1 Answer
Vector3.Slerp not working 2 Answers
Unity Car Accelerometer 0 Answers