الفيييييييديوووووووو
http://www.youtube.com/watch?v=ZltwH...layer_embedded
قمت بتعديل اللايت مال صار افضل بكثييير
إعـــــــلان
تقليص
لا يوجد إعلان حتى الآن.
[ورشة عمل] لعبة "مهمة آلي" !
تقليص
X
-
المشاركة الأصلية بواسطة NTSoft مشاهدة المشاركةجميل اخى
ولكنى حللت المشكلة هذة ايضا ولاكن بطريقة اسهل شوية معرفتش كل هذا الكم من الترانسفورمات
سوف اعطيك الفكرة ببساطة
انا عملت جيم اوبجكت فارغ من اليونتى نفسة تمام
وطبقت علية اسكربت اللوك ات
وبعد كدا اخدت تغير محور الاكس من هزا الجيم اوبجكت وطبقتو على قاعدة الصاروخ
واخدت تغير محور الذد وطبقتو على مدفع الصاروخ
هذة الفكرة ببساطة
\
اترك تعليق:
-
المشاركة الأصلية بواسطة omarzonex مشاهدة المشاركةالكود موجود في لعبتي
الصاروخ الصارخ
والسكريت شكله احترافي
بس انا استخدم كود بسيط في سطرين لعزل كل حركة في محورها , عسى حد من الزواء استفاد من مشاركتك
اترك تعليق:
-
جميل اخى
ولكنى حللت المشكلة هذة ايضا ولاكن بطريقة اسهل شوية معرفتش كل هذا الكم من الترانسفورمات
سوف اعطيك الفكرة ببساطة
انا عملت جيم اوبجكت فارغ من اليونتى نفسة تمام
وطبقت علية اسكربت اللوك ات
وبعد كدا اخدت تغير محور الاكس من هزا الجيم اوبجكت وطبقتو على قاعدة الصاروخ
واخدت تغير محور الذد وطبقتو على مدفع الصاروخ
هذة الفكرة ببساطة
اترك تعليق:
-
وهذا كودي الصاروخ الصارخ
من تصميمي وبرمجتي طبغاً
كود:#pragma strict var meExplosion : GameObject; var meTarget : Transform; var meRanger : float = 10; var meSpeedex : float = 10; private var meDistance : float; var soundbomb : AudioClip; var panOnLeft = false; function Start() { audio.pan = 1; audio.panLevel= 0.5; audio.volume = 3; } function Update () { transform.Translate(Vector3.forward * Time.deltaTime * meSpeedex); meDistance +=Time.deltaTime * meSpeedex; if(meDistance >=meRanger) Explode(); if(meTarget) { transform.LookAt(meTarget); } else { Explode(); } } function OnTriggerEnter(other : Collider) { if(other.gameObject.tag == "Enemy") { Explode(); } if(other.audio) other.audio.spread = 0; } function OnTriggerExit(other : Collider) { if(other.audio) other.audio.spread = 360; } function Explode() { audio.clip = soundbomb; audio.Play(); Instantiate(meExplosion,transform.position,Quaternion.identity); Destroy(gameObject); if(panOnLeft) { panOnLeft = false; audio.pan = 1; } else { panOnLeft = true; audio.pan = -1; } }
اترك تعليق:
-
هذا هو كودي في قاعدة المنصة للصواريخ
كود:#pragma strict var Projetile : GameObject; var reloadtime : float = 1; var turnerSpeed : float = 5; var firePauseTime : float = 0.25; var muzzleEffect : GameObject; var errorAmount : float = 0.001; var meTarget : Transform; var muzzlePosition : Transform[]; //var FireBall : Transform; var pivot_Tint : Transform; var pivot_Pan : Transform; var aim_Pan : Transform; var aim_Tint : Transform; var Score : int; var guiScore : GUIText; private var nextfireTime : float; private var nextMoveTime : float; private var desireRotation : Quaternion; private var aimError : float; var Skins : GUISkin; var number : GUIText; function Start() { Score = 0; GUI.skin = Skins; } function Update() { if(meTarget) { aim_Pan.LookAt(meTarget); aim_Pan.eulerAngles = Vector3(0,aim_Pan.eulerAngles.y,0); aim_Tint.LookAt(meTarget); pivot_Pan.rotation = Quaternion.Lerp(pivot_Pan.rotation,aim_Pan.rotation,Time.deltaTime*turnerSpeed); pivot_Tint.rotation = Quaternion.Lerp(pivot_Tint.rotation,aim_Tint.rotation,Time.deltaTime*turnerSpeed); if(Time.time >= nextfireTime) { FireProjetile(); Score++; } } } function OnTriggerEnter(other : Collider) { if(other.gameObject.tag == "Enemy") { nextfireTime = Time.time+(reloadtime * 5); meTarget = other.gameObject.transform; //Score; } } function OnTriggerExit(other : Collider) { if(other.gameObject.transform == meTarget) { meTarget = null; Application.LoadLevel(0); } } function CalculateAimPosition(targetPos : Vector3) { var aimPoint = Vector3(targetPos.x + aimError,targetPos.y + aimError,targetPos.z + aimError); desireRotation = Quaternion.LookRotation(aimPoint); } function CalculateAimError() { aimError = Random.Range(-errorAmount,errorAmount); } function FireProjetile() { audio.Play(); nextfireTime = Time.time+reloadtime; // nextMoveTime = Time.time + firePauseTime; // CalculateAimError(); // // for(theMuzzlePosition in muzzlePosition) // { // Instantiate(Projetile,theMuzzlePosition.position,theMuzzlePosition.rotation); // Instantiate(muzzleEffect,theMuzzlePosition.position,theMuzzlePosition.rotation); // // //Destroy(FireBall); // } var m : int = Random.Range(0,6); var newMissile = Instantiate(Projetile,muzzlePosition[m].position,muzzlePosition[m].rotation); newMissile.GetComponent(MissilePro).meTarget = meTarget; } function OnGUI() { GUI.Label (new Rect (550, 150, 100, 130), "" + Score ); }
اترك تعليق:
-
المشاركة الأصلية بواسطة ntsoft مشاهدة المشاركةسوف اشرح طريقة العمل بمثال اخر وارجو ان تكون هزة مجة نظر صاحب الموضوع
هناك مكونان هما
1 السفينة
2 السلاح (وهذا السلاح يتكون من قاعدة للسلاح والمدفع المثبت على قاعدة السلاح)
السفينة تتحرك والسلاح كلة يتحرك معها (قاعدة السلاح والمدفع)
قاعدة السلاح تتحرك على المحور x ولاكن هذا لا يكفى لان القاعدة تتحرك بالنسبة لجسم السفينة (دى اول مشكلة)
المدفع يتحرك على المحور z وايضن هذا لا يكفى لان المدفع يتحرك بالنسبة لقاعدة المدفع (دى ثانى مشكلة)
بهيك انا وضحت طريقة العمل باقى الاسكربت
ارجو انى افدتكو بشىء
اترك تعليق:
-
سوف اشرح طريقة العمل بمثال اخر وارجو ان تكون هزة مجة نظر صاحب الموضوع
هناك مكونان هما
1 السفينة
2 السلاح (وهذا السلاح يتكون من قاعدة للسلاح والمدفع المثبت على قاعدة السلاح)
السفينة تتحرك والسلاح كلة يتحرك معها (قاعدة السلاح والمدفع)
قاعدة السلاح تتحرك على المحور x ولاكن هذا لا يكفى لان القاعدة تتحرك بالنسبة لجسم السفينة (دى اول مشكلة)
المدفع يتحرك على المحور z وايضن هذا لا يكفى لان المدفع يتحرك بالنسبة لقاعدة المدفع (دى ثانى مشكلة)
بهيك انا وضحت طريقة العمل باقى الاسكربت
ارجو انى افدتكو بشىء
اترك تعليق:
-
المشاركة الأصلية بواسطة omarzonex مشاهدة المشاركةضع gameObject فيه المحاور ثابتة
وضع عليها حركات الربوت مع اطلاق المدفعية نحو الهدف
انتظر قليلا سوف اكتب لك كيفية اطلاق المدفعية نحو الهدف المستهدف اينما ذهب بطريقة تارجت Target LookAt
اولا حركة القاعدة الرئيسية دورانها حول نفسها محور Y
ثانياً حركة المدفع او خركة الربوت متحكم بالمدفع
ثالثا قاعدة فوهة المدفع محور Z
طبعاً مع كل واحدة gameObject مختلف ومتصل بالقاعدة الرئيسية
مرحبا اخى هزا النوع من الاسكربتات مستواة عالى المهم انو محتاج جهد كبير وانا جربت محاولات كثيرة وما عرفت اعملو بردو فيا ريت تكتبو ليستفيد الجميع
وشكرا
اترك تعليق:
-
ضع gameObject فيه المحاور ثابتة
وضع عليها حركات الربوت مع اطلاق المدفعية نحو الهدف
انتظر قليلا سوف اكتب لك كيفية اطلاق المدفعية نحو الهدف المستهدف اينما ذهب بطريقة تارجت Target LookAt
اولا حركة القاعدة الرئيسية دورانها حول نفسها محور Y
ثانياً حركة المدفع او خركة الربوت متحكم بالمدفع
ثالثا قاعدة فوهة المدفع محور Z
طبعاً مع كل واحدة gameObject مختلف ومتصل بالقاعدة الرئيسية
اترك تعليق:
-
احكي لي يا رجل أنك بدأت ببرمجة الربوت
سوف أعطيك المهم والصافي في زبدة التركيب المبدئي
اترك تعليق:
-
اممممممممممممممممم دامك تبي تثبت محور x
ماني قادر افهم وضع التجربة لكني راح اعرض لك طريقة تثبيت مجور x اقصد لا يلف بمحور x
كود تتبع السلاح للنقطة الاصتدام
كود PHP:your_gun.transform.LookAt(Vector3(your_gun.transform.position.x, Xpoint.y, Xpoint.z));
اترك تعليق:
-
المشاركة الأصلية بواسطة لا اعلم مشاهدة المشاركةكود PHP:var your_gun : GameObject ;
var leathRay = 30.0 ;
function Update () {
var hit : RaycastHit;
var forward : Vector3 = transform.TransformDirection(Vector3.forward) * leathRay;
Debug.DrawRay (transform.position, forward, Color.green);
if (Physics.Raycast (transform.position, forward, hit, leathRay))
{
var Xpoint = hit.point ;
print (Xpoint) ;
}
your_gun.transform.LookAt(Xpoint);
}
يحتاج اعدل في your_gun.transform.LookAt(Xpoint);
لانه السلاح يتحرك في محورين منفصلين (ذراع الروبوت) مثل القاعده تدور على المحور Y والسلاح يدور على المحور X بالنسبة
اترك تعليق:
اترك تعليق: