
جسم دلخواه انتخاب رو از داخل صحنه یا کادر hierarchy(کادر لیست اجزای صحنه) انتخاب کنید و یک کامپوننت ریجید بادی بهش بدید.(با زدن دکمه ی AddComponent و تایپ Rigidbody و انتخاب ریجیدبادی سه بعدی از لیست...
ادامه مطلب
@gameoverblog gameover.blog.ir #یونیتی نویسنده: بیسواد از گیم اور آموزش بردار نرمال در یونیتی /کاربرد متد نرمالایز در یونیتی/کاربرد normalize/کاربرد تابع normalized در یونیتی/حرکت به سمت مقصد توسط بردار نرمال(بردار عمود بر هدف یا بردار حرکت مستقیم به سمت هدف تابع Lerp از کلاس Vector3 : در شکل به وضوح می بینید اگر ما فاصله تا هدف رو 5 قسمت کنیم تابع نرمال xyz ای میده که اگر جمع کنیم با پوز فعلی، یک واحد به سمت هدف حرکت انجام میشه. #یونیتی نکته: بی نرمالایز هم به سمت هدف حرکت انجام میشه ولی ابتدا سرعت زیاد و وقتی به هدف نزدیک میشیم،سرعت کمه،چون تفاضل فاصله ها کم شده در speed ضرب کنیم سرعت ثابت نیست،ولی با نرمال سرعت همیشه ثابت هست. لرزش هم داریم در انتها. نکته ی بعدی : متد لرپ یا تا...
ادامه مطلب
glBegin(GL_POINTS); glColor3u(255,255,0);//rgb yellow glVertex2i(100,100);//xy glEnd(); علت عدم رسم نقطه">نقطه در openGL: برای رسم نقطه اولا یادتون باشه وقتی یک ورتکس یا راس رسم می کنید اگه مختصات اعشاری (float) بود ته دستور مختصات f بزنید یعنی glVertex2f و اگه مختصات صحیح هست i یعنی glVertex2i بزنید. // glPointSize(0.37); glBegin(GL_POINTS); glColor3ub(0,0,0); glVertex2f(0.5f,0.6f); glColor3ub(255,0,0); glVertex2f(0.5f,0.5f); glEnd();...
ادامه مطلب
glBegin(GL_POINTS); glColor3u(255,255,0);//rgb yellow glVertex2i(100,100);//xy glEnd();...
ادامه مطلب
gameover.blog.ir نویسنده:بیسواد شکل کلی: public static bool SphereCast(Vector3 origin, float radius, Vector3 direction, out RaycastHit hitInfo, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal); origin:مرکز کره در آغاز جارو کردن(اسکن) radius:شعاع کره(محوطه ی جستجوی کروی) direction:جهت جاور کردن (sweep ) کروی hitInfo: اگر true باشد ، hitInfo اطلاعات بیشتری از نقطه ی برخورد را برگشت می دهد.(RaycastHit رو هم ببینید) maxDistance:حداکثر طول cast(پرتاب اشعه برای بررسی برخورد با اجسام دیگر) layerMask : یک Layer mask برای نادیده گرفتن کلایدرهای انتخابی وقتی از یک کپسول cast می کنند. qu...
ادامه مطلب
gameover.blog.ir متد Vector2.Scale دو ورود بردار دو بعدی می گیره و این دو بردار دو بعدی رو در هم ضرب می کنه: public static Vector2 Scale(Vector2 a, Vector2 b); مثال: Vector2 a,b; a=new Vector2(3,4); b=new Vector2(5,7); Debug.Log(Vector2.Scale(a, b)); خروجی:(15.0, 28.0) یعنی مولفه اول بردار a رو در مولفه اول بردار b ضرب کرد و مولفه ی دوم بردار a رو در مولفه دوم بردار b ضرب کرد. 3*5=154*7=28...
ادامه مطلب
gameover.blog.ir شکل کلی تابع Quateion.AngleAxis به صورت زیر هست: public static Quateion AngleAxis(float angle, Vector3 axis); که چرخشی به اندازه ی زاویه ی angle حول بردار axis ایجاد می کنه.✅مثال:در اینجا حول محور سمت right که همون محور x هست، به اندازه ی mouselook.y درجه در جهت عکس چرخش می دیم(چون منفی هست عکس میشه): transform.localRotation = Quateion.AngleAxis (-mouselook.y, Vector3.right ); ...
ادامه مطلب
gameover.blog.ir به طور پیشفرض دو صدم ثانیه بر فریم هست که ساده کنیم میشه یک پنجاهم یا به عبارت دیگه یعنی در هر یک ثانیه ، 50 بار چک میشه تابع FixedUpdate. Edit|Project settings | Time ...
ادامه مطلب
gameover private chaelلینک کانال خصوصی گیم اورhttps://t.me/gameoverblogهر پکیجی که توان خریدش ندارید رایگان.اگه مشکل مالی ندارید حمایت کنید.-اعمالی که انجام می دهیم، اگر ذره ای و مثقالی باشد، به خودمان باز می گردد و بازتابش آنها را در زندگی خواهیم دید.زلزال۷او کسی است که (روح) شما را در شب (به هنگ...
ادامه مطلب
gameover private chaelلینک کانال خصوصی گیم اورhttps://t.me/gameoverblogهر پکیجی که توان خریدش ندارید رایگان.اگه مشکل مالی ندارید حمایت کنید.-اعمالی که انجام می دهیم، اگر ذره ای و مثقالی باشد، به خودمان باز می گردد و بازتابش آنها را در زندگی خواهیم دید.زلزال۷او کسی است که (روح) شما را در شب (به هنگ...
ادامه مطلب
gameover.blog.ir کلاس nonstatic کلاسی است که برای دسترسی به متغییر ها و متد های آن باید از آن یک شی ساخته شود (البت متد ها و متغییر هایی که Access Modifier مناسب داشته باشند که از بیرون قابل دیدن باشد)اما در کلاس static ما می توانیم به متدها و متغییر های آن بدون ساخت شی دسترسی داشته باشیم و اصولاهر...
ادامه مطلب
gameover.blog.ir به طور پیشفرض دو صدم ثانیه بر فریم هست که ساده کنیم میشه یک پنجاهم یا به عبارت دیگه یعنی در هر یک ثانیه ، 50 بار چک میشه تابع FixedUpdate. ...
ادامه مطلب
gameover.blog.ir <?php $people = array("Peter", "Joe", "Gle", "Cleveland"); echo current($people) . "<br>"; echo end($people); ?>...
ادامه مطلب
gameover.blog.ir <?php $my_array = array("red","green","blue","yellow","purple"); shuffle($my_array); print_r($my_array); ?> در مثال فوق یک آرایه با چند مقدار از پیش تعریف شده ساختیم و سپس عناصرش رو با تابع شافل در هم یا به طور تصادفی یا random ساختیم....
ادامه مطلب
gameover.blog.ir برای اجرای دستورالعمل های دلخواه در یک thread جداگانه بکار میره(یعنی بدون درگیری با اجراهای دیگه و هنگ کردن به طور مخفی و در پس زمینه هر وقت پردازنده وقتش آزاد شد با الگوریتم های زمانبندی سیستم عامل اجرا می شه) مثال از شکل اجرای رویداد DoWork: private void backgroundWorker...
ادامه مطلب
gameover.blog.ir شکل کلی: public void AddExplosionForce(float explosionForce, Vector3 explosionPosition, float explosionRadius, float upwardsModifier = 0.0F, ForceMode mode = ForceMode.Force); مثال: using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { public float radius = 5.0F; public float power = 10.0F; void Start() { Vector3 explosionPos = transform.position; Collider[] colliders = Physics.OverlapSphere(explosionPos, radius); foreach (Collider hit in colliders) { if (hit && hit.rigidbody) hit.rigidbody.AddExplosionForce(power, explosionPos, radius, 3.0F); ...
ادامه مطلب
gameover.blog.ir برای برگشت تعدیل مقداری بین 0 و 1 بکار می ره. یعنی اگه عدد بیشتر از 1 بود 1 و اگه کمتر از صفر بود 0 رو و در غیر اینصورت عدد رو برگشت میده. مثال: using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void Update() { transform.position = new Vector3(Mathf.Clamp01(Time.time), 0, 0); } }...
ادامه مطلب
gameover.blog.ir این تابع برای انتخاب یک بردار سه بعدی با سه مولفه تصاذفی xyz روی سطح یک کره به شعاع 1 بکار می رود. یعنی x و y و z هر کدوم به طور تصادفی انتخاب می شن و بین 0 و 1 هستند.مثال :using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void Example() { rigidbody.velocity = Random.onUnitSphere * 10; } } ...
ادامه مطلب
gameover.bog.ir damp=damping=تعدیل یا جلوگیری تجاوز از مقدار حداکثرشکل کلی: public static float SmoothDamp(float current, float target, float currentVelocity, float smoothTime, float maxSpeed = Mathf.Infinity, float deltaTime = Time.deltaTime); پارامترها: current موقعیت فعلی. target موقعیتی که تلاش می کنیم تا به آن برسیم. currentVelocity سرعت یا شتاب فعلی،این مقدار با استفاده از هر بار فراخوانی تابع،تغییر می کند. ...
ادامه مطلب
gameover.blog.ir عبارت های لامبدا (Lambda Expressions) سی شارپ 2.0 متدهای بینام را معرفی کرد، که تا اینجا این گونه از متدها را بررسی کردیم. هرچند املاء متدهای بینام تا حدودی طولانی بوده و نیاز به اطلاعاتی دارد که خود کامپایلر از آنها مطلع است. بجای اینکه مجبور باشید این اطلاعات تکراری را الحاق کنید، سی شارپ 3.0 عبارت های لامبدا را معرفی کرده که املاء و نگارش متدهای بینام را کاهش داده است. شاید بخواهید بجای استفاده از متدهای بینام از عبارت های لامبدا استفاده کنید. در حقیقت، اگر عبارت های لامبدا زودتر معرفی شده بودند، دیگر هرگز متدهای بینام وجود نداشتند. در ن...
ادامه مطلب