- Home /
whats dynamics of the playerball based on differential equations
Hey...
What do they mean by below :
The dynamics of the players based on differential equations of my original work has been implemented in the video game ?
Thanks!!!!
Answer by Julien-Lynge · Jul 18, 2012 at 03:48 PM
Differential equations are equations where the change in value of the equation at any time relies on the value of the equation at that time. For instance, for a ball moving through air, the change in speed (due to drag) is dependent on the current speed of the ball - the faster it's going, the more drag there will be. These equations are continuous (what happens next relies on what was happening an instant ago), and so are notoriously tricky to try and solve using discrete methods, e.g. by updating the speed only 60 times per second. Unfortunately, that's the way video game engines work - they aren't built to solve continuous math problems.
If you want to know more about differential equations, you can check out Wikipedia or any sufficiently advanced math textbook. Be warned that if you haven't had multiple semesters of foundational math like calculus you probably won't get very far.
@Julien : thanks for the reply.......below is the code that i am using for my enemy ball....how can implement the differential equations in the below code.
pragma strict
var Speed= 10; var wayPoint : Vector3;
function Start(){ //initialise the target way point Wander(); }
function Update() { // this is called every frame // do move code here transform.position += transform.TransformDirection(Vector3.forward)*Speed*Time.deltaTime; if((transform.position - wayPoint).magnitude < 3) { // when the distance between us and the target is less than 3 // create a new way point target Wander();
// don't need this
//transform.LookAt(wayPoint);
//transform.position += transform.TransformDirection(Vector3.forward)*Speed*Time.deltaTime;
}
}
function Wander() { // does nothing except pick a new destination to go to wayPoint= Random.insideUnitSphere *12; wayPoint.y = 0.7; // don't need to change direction every frame seeing as you walk in a straight line only transform.LookAt(wayPoint); //Debug.Log(wayPoint + " and " + (transform.position - wayPoint).magnitude); }
Thanks!!!!
Code that I'm using :
pragma strict
var Speed= 10; var wayPoint : Vector3;
function Start(){ //initialise the target way point Wander(); }
function Update() { // this is called every frame // do move code here transform.position += transform.TransformDirection(Vector3.forward)*Speed*Time.deltaTime; if((transform.position - wayPoint).magnitude < 3) { // when the distance between us and the target is less than 3 // create a new way point target Wander();
// don't need this
//transform.LookAt(wayPoint);
//transform.position += transform.TransformDirection(Vector3.forward)*Speed*Time.deltaTime;
}
}
function Wander() { // does nothing except pick a new destination to go to wayPoint= Random.insideUnitSphere *12; wayPoint.y = 0.7; // don't need to change direction every frame seeing as you walk in a straight line only transform.LookAt(wayPoint); //Debug.Log(wayPoint + " and " + (transform.position - wayPoint).magnitude); }
Two issues: first, you need to format your code. $$anonymous$$ake sure that every line of code has 4 spaced in front of it, then UnityAnswers will nicely format it.
Second, you haven't told me what the differential equation is that you want to integrate into your code.
@Julien.Lynge :
formatted code:
pragma strict
var Speed= 10;
var wayPoint : Vector3;
function Start(){
//initialise the target way point
Wander();
}
function Update()
{
// this is called every frame
// do move code here
transform.position += transform.TransformDirection(Vector3.forward)*Speed*Time.deltaTime;
if((transform.position - wayPoint).magnitude < 3)
{
// when the distance between us and the target is less than 3
// create a new way point target
Wander();
// don't need this
//transform.LookAt(wayPoint);
//transform.position += transform.TransformDirection(Vector3.forward)*Speed*Time.deltaTime;
}
}
function Wander()
{
// does nothing except pick a new destination to go to
wayPoint= Random.insideUnitSphere *12;
wayPoint.y = 0.7;
// don't need to change direction every frame seeing as you walk in a straight line only
transform.LookAt(wayPoint);
//Debug.Log(wayPoint + " and " + (transform.position - wayPoint).magnitude);
}
Second Point: the concept is to move the ball with certain speed around a circle & when it hits the player should one of the 3 lives.
Your answer
![](https://koobas.hobune.stream/wayback/20220613074339im_/https://answers.unity.com/themes/thub/images/avi.jpg)