درود مهمان گرامی! ثبت نام

امتیاز موضوع:
  • 1 رأی - میانگین امتیازات: 5
  • 1
  • 2
  • 3
  • 4
  • 5
زاویه ابجکت
#1
سلام؛
من در حال کار بر روی یه بازی دو بعدی با گرافیک Top-Down در یونیتی هستم که اولین کارم هست.
بازی دو پلیر داره که بازیباز ها می تونن اون ها رو با joy Stick (کنترلر مجازی لمسی!) حرکت بدن.
حالا من میخوام با یه کد ، یه کاری کنم که دو پلیر در هر موقعیت (position) ــی که باشند ، زاویه شون طوری باشه که انگار دارن به هم نگاه می کنند و روبروی هم هستند.
به این عکس نگاه کنید:
resim
لطفاً HELP ــم کنیدsad
این اموزش ها شاید بدردتون خورد ، من که نفهمیدم:
http://answers.unity3d.com/questions/666...acter.html
http://answers.unity3d.com/questions/492...ation.html
قند شکن یادتون نره
مطمعن نیستم ولی توی answers.unity خوندم که باید یه ربطی به این کد داشته باشه: Quaternion.Slerp
اینم کد کاملش ، البته نمیدونم این بدرد مشکل من میخوره یا نه:
resim
من همون Ali-reza8448 هستم ، چون رمزم رو یادم رفت یه اکانت دیگه ساختم
گروه بازی سازی H.A
انجین ما: یونیتی ، اکلیپس
تخصصای من:
-مدل سازی
-اکلیپس
-پیکسل آرت با پینت ویندوز 7
-یونیتی در حد بوق!
-کانستراکت(دیگه کار نمیکنم)
پاسخ
#2
فکر کنم جواب سوال من اینجاست: http://www.crydev.ir/thread79.html
الان وقت ندارم ولی فردا صبح ، تستش میکنم
من همون Ali-reza8448 هستم ، چون رمزم رو یادم رفت یه اکانت دیگه ساختم
گروه بازی سازی H.A
انجین ما: یونیتی ، اکلیپس
تخصصای من:
-مدل سازی
-اکلیپس
-پیکسل آرت با پینت ویندوز 7
-یونیتی در حد بوق!
-کانستراکت(دیگه کار نمیکنم)
پاسخ
#3
این واسه lookat سه بعدی:
کد php:
// This complete script can be attached to a camera to make it 
    // continuously point at another object.
    
    // The target variable shows up as a property in the inspector. 
    // Drag another object onto it to make the camera look at it.
using UnityEngine;
using System.Collections;

public class 
ExampleClass MonoBehaviour {
    public 
Transform target;
    
    
void Update() {
        
// Rotate the camera every frame so it keeps looking at the target 
        
transform.LookAt(target);
    }

اینم یکی دیگه:
http://answers.unity3d.com/questions/650...ingle.html
یه دونه واسه lookat2d قبلا گذاشته بودم نمی دونم به کار می یاد یا نه :
http://promakers.ir/showthread.php?tid=1...#pid127318


کدشو اگه دستکاری کنی فکر کنم یه چیز تو این مایه ها باید بشه :
کد php:
public Vector3 targetPos;
float turnSpeed=5;
            
// 4
void Update () 
{
           
Vector3 currentPosition transform.position;
            
targetPos=targetPos.transform.position;
            
rotDirection targetPos currentPosition;
            
rotDirection.0
            
rotDirection.Normalize();
        
        
Vector3 target rotDirection moveSpeed currentPosition;
        
float targetAngle Mathf.Atan2(rotDirection.yrotDirection.x) * Mathf.Rad2Deg;
        
transform.rotation 
            
Quaternion.Slerptransform.rotation
                             
Quaternion.Euler00targetAngle ), 
                             
turnSpeed Time.deltaTime );
    } 
کد تو تمیز تری هم میشه ساخت اما من عجله ای نوشتم. امیدوارم بچه روش کار کنن و بهترشو ارائه بدنyummi
پاسخ
 سپاس شده توسط Ali-reza8448v2
#4
من این کد آخریه رو که شما دادید تست کردم ، اصلاً هم دستکاریش نکردم فقط قبل rotDirection یه Vector3 اضافه کردم ، ولی فایده نداشت ، متناسب با موقعیت پلیر نمی چرخید ، همینجوری برای خودش می چرخید.

من چیزی از این ها نمی فهمم؛ منتظر یه آدم از خود گذشته(!) ام که بیاد و یه توضیح خوب بده و یه راه حل خوب برای این مشکل sad
به هر حال از زحمات شما ممنونmwah
چیز ساده ای هستا ، نمیدونم چرا اینقد منو دچار مشکل کرده
یه بار دیگه سوالمو بگم: دو پلیر داریم (2بعدی از نمای بالا) ، که میتونیم هر دو رو حرکت بدیم ، حالا میخوام زاویه پلیر ها همیشه طوری باشه که انگار رو بروی هم اند و دارن به هم نگاه می کنند.
منتظرم ، منتظر جواب.........
من همون Ali-reza8448 هستم ، چون رمزم رو یادم رفت یه اکانت دیگه ساختم
گروه بازی سازی H.A
انجین ما: یونیتی ، اکلیپس
تخصصای من:
-مدل سازی
-اکلیپس
-پیکسل آرت با پینت ویندوز 7
-یونیتی در حد بوق!
-کانستراکت(دیگه کار نمیکنم)
پاسخ
#5
اون متغیر public که گرفتم باید گیم ابجکت رو بکشی روش.
ضمنا اسکریپت رو بده به هر دو گیم ابجکت.
ضمنا اسپرایت ها و سورستو بذار ببینم حالیم میشه یا نه.
پاسخ
 سپاس شده توسط Ali-reza8448v2
#6
کد ارور میده؛
سورس رو هم با پ.خ. بهتون دادم
ببخشید که دارم وقت تون رو می گیرم
من همون Ali-reza8448 هستم ، چون رمزم رو یادم رفت یه اکانت دیگه ساختم
گروه بازی سازی H.A
انجین ما: یونیتی ، اکلیپس
تخصصای من:
-مدل سازی
-اکلیپس
-پیکسل آرت با پینت ویندوز 7
-یونیتی در حد بوق!
-کانستراکت(دیگه کار نمیکنم)
پاسخ
#7
بفرمایید : http://promakers.ir/showthread.php?tid=1...#pid129418
پاسخ
 سپاس شده توسط Ali-reza8448v2
#8
ممنون ، این کدی که در http://promakers.ir/showthread.php?tid=1...#pid129418 دادید درسته و کار میکنه. ولی به راه رفتن پلیر ها لطمه میزنه؛ آخه من برای حرکت پلیر ها از این کد استفاده میکنم: transform.Translate = (Vector3.right * (Time.delta.Time * speed
برای همین وقتی با کدی که شما دادید ، پلیر ها تغییر زاویه میدن ، مفهوم vector3.right اونها هم تغییر می کنه
الان به کدی احتیاج دارم که پلیر در هر زاویه ای که باشه ، به راست بره یا هر جهتی که من بگم
sadخیلی وقتتونو گرفتم
البته من از 3 easy touch استفاده می کنم ، ولی برای تست درون کامپیوتر از کد هایی که بالا گفتم استفاده میکنم.
اگه بشه با تنظیمات خود easy touch هم کاری کرد که مشکل حرکت پلیر حل بشه ، خوبه
من همون Ali-reza8448 هستم ، چون رمزم رو یادم رفت یه اکانت دیگه ساختم
گروه بازی سازی H.A
انجین ما: یونیتی ، اکلیپس
تخصصای من:
-مدل سازی
-اکلیپس
-پیکسل آرت با پینت ویندوز 7
-یونیتی در حد بوق!
-کانستراکت(دیگه کار نمیکنم)
پاسخ
#9
مشکل من ، مشکل این اقا هم هستhttp://promakers.ir/showthread.php?tid=9149
جوابو یافتم:this.transform.Translate(Vector3.right * ( Time.deltaTime * speed ) , Space.World );
من همون Ali-reza8448 هستم ، چون رمزم رو یادم رفت یه اکانت دیگه ساختم
گروه بازی سازی H.A
انجین ما: یونیتی ، اکلیپس
تخصصای من:
-مدل سازی
-اکلیپس
-پیکسل آرت با پینت ویندوز 7
-یونیتی در حد بوق!
-کانستراکت(دیگه کار نمیکنم)
پاسخ
#10
مشکل از کد player.cs هست.
اگه می خوای حول خودش بچرخه Space.Self میدی و اگه می خوای حول جهان(بدون مرکزیت pivot خودش) بچرخه Space.World میدی:
http://promakers.ir/showthread.php?tid=1...#pid129475
پاسخ
 سپاس شده توسط Ali-reza8448v2


موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
  شتاب ابجکت در زاویه ای خاص ebraeim75 6 126 25/3/1398، 11:48 صبح
آخرین ارسال: ProMember
  جابجا کردن آبجکت در فضای 2 بعدی در زاویه مورد نظر Navid_t 1 214 15/4/1397، 11:03 صبح
آخرین ارسال: qwerty13
  دسترسی به زاویه چرخش یک اوبجکت salar1298 4 399 13/4/1396، 07:28 صبح
آخرین ارسال: salar1298
  سوال در مورد جایگزین کردن ابجکت ها در یونیتی hamidrezasaeedi 6 1,612 14/10/1394، 12:15 صبح
آخرین ارسال: aliheadari
  سوال:بررسی برخورد ابجکت ها با یکدیگر Microsoft2 5 1,667 3/3/1394، 11:37 عصر
آخرین ارسال: sajjad3011



کاربرانِ درحال بازدید از این موضوع: 1 مهمان