تبلیغات
تبلیغات
تبلیغات
تبلیغات
  • صفحه:
  • 1

موضوع: vector2.lerp

vector2.lerp 11 ماه پیش #111925

  • aya
  • آفلاین
  • كاربر فعال
  • ارسال: 511
  • دریافت تشكر: 381
  • 
سلام.

تو تابع وکتور 2 دات لرپ وقتی میخوای از مکان آ به مکان ب بری آیا امکانش هست کدی بهش اضافه کنی که gravity ریجید بادی توش تاثیری داشته باشه؟

مثلا جای this.transform.position.y این یه چیزی بنویسی نیروی جاذبه خود ریجید بادی توش تاثیر بزاره

اینم بگم ک this.transform.position.y*gravity هم جواب نداد یعنی درست کار نکرد



private Vector2 myTransform;
	private Vector2 myAimTransform;
	private float XAim;
	private float YAim;
	private float secondsForOneLength = 20f;
	private float turnTime;
	 private float gravity =-1 ;
	
	

	void Start () 
	{
		gravity *= Time.deltaTime;
		myTransform = new Vector2 (this.transform.position.x,this.transform.position.y);
		myAimTransform = new Vector2 (this.transform.position.x +8,this.transform.position.y);
		XAim = this.transform.position.x + 8;
		YAim = this.transform.position.y;
	}
	

	void Update () 
	{

		float t;
		t = Mathf.SmoothStep (0f, 1f, Mathf.PingPong (Time.time / secondsForOneLength, 1f));
		this.transform.position = Vector2.Lerp (myTransform, myAimTransform,t);

		if (this.transform.position.x == XAim && Time.time > turnTime ) {
			turnTime = Time.time + 1;
			Debug.Log ("Ok its Time to turn");
		}
	}
پروردگارا! قطعا من به هرچه از خیر از تو به من رسد نیازمندم

پاسخ: vector2.lerp 11 ماه پیش #111958

  • aya
  • آفلاین
  • كاربر فعال
  • ارسال: 511
  • دریافت تشكر: 381
دوستان کسی راهی به ذهنش نمیرسه؟ یا از همون translate استفاده کنم؟
پروردگارا! قطعا من به هرچه از خیر از تو به من رسد نیازمندم

پاسخ: vector2.lerp 11 ماه پیش #111978

  • مرادیانی
  • آفلاین
  • كاربر فعال
  • ارسال: 653
  • دریافت تشكر: 358
لازم نیست برو از منوی کمپوننت و قسمت فیزیک دوبعدی ، گزینه رجیدبادی دوبعدی رو بزن خودش فیزیک میشه
كاربران زیر تشكر كردند: aya

پاسخ: vector2.lerp 11 ماه پیش #111987

  • aya
  • آفلاین
  • كاربر فعال
  • ارسال: 511
  • دریافت تشكر: 381
مرادیانی نوشته:
لازم نیست برو از منوی کمپوننت و قسمت فیزیک دوبعدی ، گزینه رجیدبادی دوبعدی رو بزن خودش فیزیک میشه


ممنون از جوابت

در واقع مشکل اینجاست که وقتی از تابع وکتور دو دات لرپ استفاده میکنیم 2 وکتور میخواد x,y و ریجید بادی روش تاثیر نداره

این کارو با ترانسفورم.ترانسلیت انجام دادم ولی با لرپ میشه هوش مصنوعی پیچیده تری ایجاد کرد
پروردگارا! قطعا من به هرچه از خیر از تو به من رسد نیازمندم
كاربران زیر تشكر كردند: مرادیانی

پاسخ: vector2.lerp 11 ماه پیش #111990

  • aya
  • آفلاین
  • كاربر فعال
  • ارسال: 511
  • دریافت تشكر: 381
من که راهشو پیدا نکردم دوستان اگه کسی بعدها پیدا کرد بگه ثواب داره


اینم راه Translate

private float xRightAim;
	private float xLeftAim;
	private float speed;
	private float secondsForOneLength = 20f;
	private float turnTime;
	private float gravity ;
	bool dirRight = true;
	bool dirLeft = false;

	void Start () 
	{
		xRightAim = this.transform.position.x + 8;
		xLeftAim = this.transform.position.x - 8;
	}
	

	void Update () 
	{

		float t;
		t = Mathf.SmoothStep (0f, 1f, Mathf.PingPong (Time.time / secondsForOneLength, 1f));

		if(dirRight && !dirLeft){
			speed = 1;
			if (this.transform.position.x < xRightAim) {
				this.transform.localRotation = Quaternion.Euler (0, 0, 0);
				this.transform.Translate (Vector2.right * speed *Time.deltaTime);
				if (this.transform.position.x >= xRightAim) {
					speed = 0;
				}
			}
		}
		Debug.Log (speed);
		Debug.Log (dirRight);
		Debug.Log (dirLeft);


		if (!dirRight && dirLeft) {
			speed = 1;
			if (this.transform.position.x > xLeftAim) {
				this.transform.localRotation = Quaternion.Euler (0, 180, 0);
				transform.Translate (Vector2.right * speed * Time.deltaTime);
				if (this.transform.position.x <= xLeftAim) {
					speed = 0;
				}
			}
		}
		if (speed == 0) {
			StartCoroutine (ChangeDirections ());
		}

	}

	IEnumerator ChangeDirections()
	{
		yield return new WaitForSeconds (1.5f);
		dirRight = !dirRight;
		dirLeft = !dirLeft;
	}


____________________
t اینجا هیچکارس
پروردگارا! قطعا من به هرچه از خیر از تو به من رسد نیازمندم
آخرین ویرایش: 11 ماه پیش ارسال توسط aya.
  • صفحه:
  • 1
زمان ایجاد صفحه: 0.17 ثانیه

جدیدترین آثار ارسالی در گالری

تبلیغات
تبلیغات

جدیدترین ارسالهای تالارگفتگو