«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
بایگانی تیر ۱۳۹۵ :: گیم اور _ بازیسازی با unity + مطالب متفرقه

گیم اور _ بازیسازی با unity + مطالب متفرقه

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

به نام خدا
--
گروه قدیم ما promakers.ir یا پرومیکرز بود که بالای هزار اموزش توش ساخته بودم به اسم sajjad3011 ولی حیف ادمین سایتش عوض کرد
حالا سوالی بود کاری بود این شمارمه

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

---
سوالی بود بذارید
نظر خصوصی نذارید
پاسخش سخته
دوست داشتید شماره بذارید تو واتساپ یا ایتا یا .... گروه بزنیم.
09358077198

بایگانی
پیوندها

۵۰ مطلب در تیر ۱۳۹۵ ثبت شده است

gameover.blog.ir

این دستور برای لود محله بکار می ره و فرقش با Application.LoadLevel اینه که سربار کمتری داره و مراحل لودینگ(بارگذاری) رو در پس زمینه محاسبه می کنه و سپس عمل نمایش موارد لود شده رو یکباره انجام میده.

مثال:

دقت کنید که در پنجره build settings(کلید میانبر ctrl+shift+b)، مرحله ها رو add کنید قبلش(مثل l1 و ...)

کد زیر باعث میشه در شروع مرحله،بعد از انجام محاسبات مرحله ی l1 لود بشه و بریم بهش.

using UnityEngine;
using System.Collections;

public class loadasync : MonoBehaviour {
	IEnumerator Start() {
		AsyncOperation async = Application.LoadLevelAsync("l1");
		yield return async;
		Debug.Log("Loading complete");
	}
}
۱ نظر موافقین ۰ مخالفین ۰ ۳۰ تیر ۹۵ ، ۰۳:۳۷
مدیرکل

 ri.golb.revoemag

--

برای بدست آورین فریم جای انیمیشن داریم:

animation["اسم انیمیشن"].normalizedTime


فریم اول صفر و فریم آخر یک هست.

شماره فریم هم عددی اعشاری است.

مثال: اگر فریم 9 بود انیمیشن تیر اندازی با نام shoot اجرا بشه:


if(animation["Aim"].normalizedTime >= .9)
 animation.Play("Shoot");


۱ نظر موافقین ۰ مخالفین ۰ ۲۶ تیر ۹۵ ، ۱۷:۲۴
مدیرکل

gameover.blog.ir


using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public GameObject prefab;
    void Start() {
        Vector3 position = new Vector3(Random.Range(-10.0F, 10.0F), 0, Random.Range(-10.0F, 10.0F));
        Instantiate(prefab, position, Quaternion.identity) as GameObject;
    }
}
۰ نظر موافقین ۰ مخالفین ۰ ۲۶ تیر ۹۵ ، ۱۱:۲۰
مدیرکل

gameover.blog.ir


ctr+Space+Click = زوم کردن سریع
Alt+Space+Click = کوچیک کردن سریع
--
با ctrl بعلاوه + یا - هم میشه همونکارا رو کرد


ctrl+D : برای خارج شدن از حالتی که با ابزار select چیزی رو انتخاب کردیم بکار میره

برای انتخاب ابزار moVe از کلید V (وی) استفاده کنید.(ctrl+T رو باهاش قاطی نکنید. اون واسه حالتی هست که بخواید با راست کلیک و انتخاب Warp شکلی رو کج و معوج کنید.

برای خارج شدن از move کلید A رو بزنید.

W = عصای سحر آمیز

عصا به انگلیسی میشه wand که W رو از اونجا گرفتن (magic هم یعنی سحر امیز) = magic Wand

وقتی می خواید توی صفحه ی zoom شده به چپ و راست و پایین و بالا برید Space رو نگه دارید تا علامت دست ظاهر بشه و Drag کنید.
روش دیگه فشردن کلید H و رها کردن اون هست . با اینکار ابزار Hand فعال می شه و می تونید Drag کنید نیازی به نگه داشتن هم نیست (free hand یا دست آزاد هستید)
برای انتخاب ابزار shape (رسم مستطیل،مربع ،دایره و ...) کلید U رو بزنید
برای انتخاب سریع قلم (براش) : B : Brush
G : سطل رنگ ( Gradient )
I : قطره چکان(برای کلیک در جایی و set کردن رنگ انتخابی روی آن نقطه) (eyedropper=قطره چکان)
L : Lasso ابزار انتخاب محدوده ی دلخواه
برای رسم سریع یک کاراکتر می تونید یک shape رو رسم کنید.
سپس ctrl+T بزنید.
سپس روی آن راست کلیک کرده و warp را انتخاب نمایید.
سپس گوشه های شکل را Drag کنید.
--

ایجاد یک لایه جدید : ctrl+Shift+N

رسم صحنه ای مثل ماه گرفتگی

یک لایه ایجاد کنید و سطل رنگ آبی تیره رو بریزید توش.

یک دایره توپر سبز تیره با opacity و 40% ایجاد کنید. و یک افکت outer glow با رنگ زرد مثل این عکس بهش بدید:
[تصویر: outer_glow.jpg]

یک لایه ی دیگر با رنگ قرمز ایجاد کنید .

دولایه ی بالایی رو overLay کنید.
[تصویر: ksoof.jpg]
۰ نظر موافقین ۰ مخالفین ۰ ۲۴ تیر ۹۵ ، ۰۷:۳۱
مدیرکل

gameover.blog.ir


[تصویر: after.jpg]

یکی از ترفندهای یباسازی و نورپردازی خیلی از طراحان اینه که از inner shadow استفاده می کنن.
کلیات رو با مثالی اموزش میدم خیلی مختثر و مفید و بقیه رو خودتون دستکاری کنید تا حرفه ای تر بشید teeth :
یه نقاشی مثل این بکشید :
[تصویر: befor.jpg]
روی لایه ی دلخواه دوبار کلیک کنید تا پنجره ی Layer Style باز بشه(البته بعضی اوقات کادر ReName باز میشه)
و سپس روی inner shadow برید تا Active بشه و تنظیمات فاصله ی سایه و ... رو دستکاری کنید:
[تصویر: layerStyle.jpg]
همونطور که می بینید گوشه های تصویر کمی به سمت داخل سایه دار شد.

نتیجه :
[تصویر: result.jpg]
شما می تونید صورت و دست و پا و بدن و لب و چشم و هر قسمتی از بدن رو توی لایه ی جداگانه ایجاد و روش دابل کلیک کنید و با همون روش هر چی رو خواستید از داخل سایه گذاری کنید.
با تمرین می تونید چیزای زیباتری هم خلق کنید.
۰ نظر موافقین ۰ مخالفین ۰ ۲۴ تیر ۹۵ ، ۰۷:۲۷
مدیرکل

gameover.blog.ir

یک لایه ایجاد کنید و رنگ سیاه رو بپاشید روش و از منوی forbidden گزینه ی Noise و سپس add noise رو بزنید و ok کنید تا نویز بندازه روی صفحه ی سیاه.
سپس مثل اموزش قبلی یک لایه ی جدید با ctrl+shift+N ایجاد کنید و یک رنگ گرادیان آبی صورتی ایجاد و با ماوس بکشید از یک نقطه به نقطه ی دیگه تا روی لایه ی جدید رنگ آمیزی بشه:

[تصویر: gradient_overlay.jpg]

۰ نظر موافقین ۰ مخالفین ۰ ۲۴ تیر ۹۵ ، ۰۷:۲۲
مدیرکل

[تصویر: subdivide.jpg]


برای تقسیم و نرم کردن مدل بکار میره.
با کلید ctrl+1 می تونیم اینکار رو انجام بدیم.
ctrl+2 و ctrl+2 و ... هم میشه تعداد ساب دیوایدها(تقسیمات فرعی) رو تا 9 زیباد کرد.
روی دکمه ی آچار (بخش modofier ) هم میشه کلیک کرد و مدیفایر subdivision surface رو اضافه کرد و گزینه ی view رو هرچی زیاد کنیم نرم تر میشه.
اینم فیلم آموزشی من :

http://opizo.com/Evpgk7


۲ نظر موافقین ۰ مخالفین ۰ ۲۴ تیر ۹۵ ، ۰۷:۰۹
مدیرکل

gameover.blog.ir

Fatal error: Call to undefined function curl_init() in C:\xampp

\htdocs\test\index.php on line 5

برای رفع خطا

فایل C:\xampp\php\php.ini رو باز کنید.

ctrl+F بزنید
extension=php_curl.dll رو سرچ کنید.

سمی کالن ( ; ) رو از اولش بردارید .

آپاچی رو reStart کنید.

----
منبع :
http://www.hotscripts.com/forums/php/26167-fatal-error-call-undefined-function-curl_init.html

۰ نظر موافقین ۰ مخالفین ۰ ۲۴ تیر ۹۵ ، ۰۷:۰۳
مدیرکل

gameover.blog.ir

نمایش رتبه ی سایت (برای مثال : پرومیکرز ) رو می خوام با استفاده از php بهتون یاد بدم.
ابتدا فایلی به اسم rank.php بسازید و کد زیر رو بریزید توش:

http://s5.picofile.com/file/8146479292/upload.zip.html

۰ نظر موافقین ۰ مخالفین ۰ ۲۴ تیر ۹۵ ، ۰۷:۰۰
مدیرکل

gameover.blog.ir

فکر کنم برای اینکه زمان سایت روی تهران تنظیم بشه باید بخش timeZone از server رو Iran-Tehran تنظیم کنید. چون ممکنه سرور روی مثلا کانادا باشه اما بازدید کننده ها بیشترشون از ایران هستن و زمان محلی تهران رو نیاز دارند.
البته میشه اسکریپتی نوشت که از روی یک time server بیاد ساعت جهانی و تهران رو بخونه و با PHP و AJAX و innerHTML و ی سری ریز کدهای دیگه اونو جاساز کنیم توی بخشی از سایت که می خوایم.
مثلا من اسکریپتی ساختم که زمان رو از داخل این page جدا می کنه :

۰ نظر موافقین ۰ مخالفین ۰ ۲۴ تیر ۹۵ ، ۰۶:۵۰
مدیرکل

gameover.blog.ir

سوال :

من دیتابیسم رو دستی ایجاد کردم ولی داده های فارسی من به صورت یه فونت نامفهموم در دیتابیس ذخیره میشه البته وقتی از دیتابیس استخراج میکنم مشکلی نداره . من فقط می خوام داده هام همون طور که فارسی هستش داخل دیتابیس قرار بگیره .

پاسخ :

بعد از ساخت دیتابیس می تونید از طریق mysql_query() اطلاعات جدید تو دیتابیس اینسرت کنید !

اما قبل از استفاده از کوئری کد

کد PHP:
mysql_query("SET NAMES 'UTF8'"); 
را بذارید تا فارسی ذخیره بشه !
۰ نظر موافقین ۰ مخالفین ۰ ۲۴ تیر ۹۵ ، ۰۶:۴۸
مدیرکل

gameover.blog.ir

به بخش Settings(علامت چرخ دنده) و سپس languages and input و سپس language برید و از لیست مربوط معمولا در قسمت های آخر گزینه ی "فارسی" رو انتخاب کنید:

[تصویر: farsi_blueStack.jpg]


۰ نظر موافقین ۰ مخالفین ۰ ۲۴ تیر ۹۵ ، ۰۴:۵۵
مدیرکل
gameover.blog.ir
public scriptName myScript;
  void Start(){
    myScript.enabled= false;//true/false
}

اسم اسکریپت رو بدید جای scriptName.
بعد اسکریپت رو درگ کنید روش در inspector.
۲ نظر موافقین ۰ مخالفین ۰ ۲۴ تیر ۹۵ ، ۰۱:۲۴
مدیرکل
gameove.blog.ir

برای مدلسازی در بلندر یا غیره نیازه عکسی بذارید پس زمینه یا کنار مدل از نماهای مختلف جلو و عقب بالا و غیره مدل رو مثل عکس مش کنید.
--
برای وارد کردن عکس داریم :

ابتدا باید تنظیمات مخفی بلندر رو فعال کنیم تا گزینه ی images as plane به منوی import اضافه بشه.

برای اینکار:

از منوی File گزینه ی User Performance رو انتخاب کنید.

به سربرگ addons برید(بعضی وقتا توی این سربرگ چیزی دیده نمیشه که باید بلندر رو ببندید و دوباره باز کنید).
و توی کادر جستجو،کلمه ی plane رو تایپ کنید و سپس از سمت راست import/expor:import images as plane رو فعال کنید:

http://s6.picofile.com/file/8259603034/imageAsPlane.jpg
روی دکمه ی Save user settings کلیک کنید تا تنظیمات ذخیره بشه.
حالا می تونید Shift+A رو بزنید از منوی ظاهر شده Mesh و سپس image as plane رو انتخاب کنید:

یک تصویر به صورت Plane اضافه میشه و می تونید با فشردن ماوس و حرکت اون اندازه ی Plane رو تغییر بدید یا اونو با اسفتاده از کلید R بچرخونید(S به معنی Scale و R به معنی Rotate هست که اینا رو دیگه خودتون باید بلد بشید و توی بخش های دیگه ای که آموزش دادم بخونید)


نکته: باید تو کادر خصوصیات که با کلید N فعال میشه گزینه ی Texture Solid رو در بخش Shading فعال کنید تا در لحظه ی کاری تکستچر روی plane نمایان بشه.

هر جا احساس کردید تصویر روی Plane تاریک یا سیاه هست و چیزی دیده نمیشه باید لامپ بذارید تا به قسمت های مربوط نور اضافه بشه.

کپی شده از http://gameover.blog.ir

۰ نظر موافقین ۰ مخالفین ۰ ۲۳ تیر ۹۵ ، ۱۹:۵۸
مدیرکل
gameover.blog.ir

مثال 1: تعریف ارایه دو بعدی رشته ای:
// ... Create 2D array of strings.
  string[,] array = new string[,]


مثال 2: تعریف آرایه ای از گیم ابجکت:

  GameObject[,] array = new GameObject[,]

۰ نظر موافقین ۰ مخالفین ۰ ۲۱ تیر ۹۵ ، ۲۲:۳۷
مدیرکل
یونیتی و فتوشاپ و بلندر رو نصب کن بعدش بیا تو کانال تلگرام ما @gameoverblog
۰ نظر موافقین ۰ مخالفین ۰ ۲۱ تیر ۹۵ ، ۲۲:۳۲
مدیرکل

بک لینک یعنی لینک سایتای دیگه رو جمع کنیم بریزیم تو سایتمون تا امار بره بالا.

اما این کار درستی نیست چون بعد مدتی سایت رو گوگل می اندازه دور

۰ نظر موافقین ۰ مخالفین ۰ ۲۱ تیر ۹۵ ، ۲۲:۳۱
مدیرکل
۰ نظر موافقین ۰ مخالفین ۰ ۱۹ تیر ۹۵ ، ۱۶:۰۳
مدیرکل
gameover.blog.ir
سازنده:بیسواد
http://s8.picofile.com/file/8315759926/demo.jpg

این هم پکیج بینایی
اگه بین پلیر و دشمن مانعی نباشه دشمن(enemy) پلیر رو می بینه(روی محور z یا جلو ،محور آبی رنگ)
به پلیر تگ "player" دادم
به جفت اشیا (پلیر و دشمن) کامپوننت فیزیک ریجید بادی(فیزیک اجسام جامد) دادم.
اجرا کنید و دیوار رو بین پلیر و دشمن بذارید دیگه دشمن پلیر رو نمی بینه.
دیوار رو جابجا کنید دشمن پلیر رو می بینه(دقت کنید روی دشمن به سمت پلیر باید باشه حتما، در غیر اینصورت باید یک کد بنویسید که زاویه دید داشته باشه یا یه شی مخفی emtpy روی پلیر بذارید که هی دور خودش بچرخه و اطراف رو ری کست کنه بعد اگه پلیر رو دید به همون سمت نگاه کنه و ری کست و lineRenderer برای رسم خط بین پلیر و دشمن.
-
سوالی از هوش مصنوعی بود بپرسید.یا در خواست اموزش.


دمو:

http://s9.picofile.com/file/8315759018/demo_binayi.zip.html


دانلود پکیج: 51 کیلوبایت
http://opizo.com/sGpw7N



۰ نظر موافقین ۰ مخالفین ۰ ۱۹ تیر ۹۵ ، ۰۷:۰۹
مدیرکل


gameover.blog.ir

https://s.cafebazaar.ir/1/upload/screenshot/com.Emadi.viroos5.jpg

به لینک زیر برید بع از چند ثانیه رد تبلیغ یا ads skip  بزنید:

http://opizo.com/loxPbm


۱ نظر موافقین ۰ مخالفین ۰ ۱۷ تیر ۹۵ ، ۰۲:۲۸
مدیرکل


gameover.blog.ir

به لینک زیر برید و بعد از چند ثانیه رد تبلیغ یا skip ads رو بزنید

http://opizo.com/kpA0wi

۰ نظر موافقین ۰ مخالفین ۰ ۱۵ تیر ۹۵ ، ۲۳:۴۴
مدیرکل
۰ نظر موافقین ۰ مخالفین ۰ ۱۵ تیر ۹۵ ، ۲۳:۴۲
مدیرکل
gameover.blog.ir

برای نگاه یا چرخش کاراکتر (فقط حول محور y یا چرخش به چپ و راست و بدون چرخش حول محور y و z) به سمت هدفی که روی متغیر target درگ کردیم این رو به کار ببرید:

Vector3 direction = target.transform.position - this.transform.position;
transform.rotation=Quaternion.Euler(0,direction.y,0);



برای حرکت مستقیم کاراکتر به جهتی که نگاهش رو به آن سمت می باشد:


به جای کد:
transform.position += Vector3.forward * Time.deltaTime * movementSpeed;



از کد زیر(حرکت به جلو) :


transform.position += transform.forward * Time.deltaTime * movementSpeed;

یا کد زیر(حرکت به عقب):
transform.position -= transform.forward * Time.deltaTime * movementSpeed;

استفاده کنید.


مثال حرکت به اطراف:
void Update(){		
		if (Input.GetKey (KeyCode.UpArrow))
			transform.position += transform.forward * speed;
		if (Input.GetKey (KeyCode.DownArrow))
			transform.position -= transform.forward * speed;		
		if (Input.GetKey (KeyCode.RightArrow))
			transform.position += transform.right * speed;
		if (Input.GetKey (KeyCode.LeftArrow))
			transform.position -= transform.right * speed;
	}


منبع:
http://answers.unity3d.com/questions/616195/how-to-make-an-object-go-the-direction-it-is-facin.html
۰ نظر موافقین ۰ مخالفین ۰ ۱۵ تیر ۹۵ ، ۱۴:۵۷
مدیرکل

gameover.blog.ir

 Input.GetAxis حرکت نرم یا smooth داره

Input.GetAxisRaw بدون حرکت نرم هست.

---

این مثال ها رو تست کنید و با کلید های WASD تست کنید تا بهتر دستتون بیاد:


GetAxisRaw:

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void Update() {
        float speed = Input.GetAxisRaw("Horizontal") * Time.deltaTime;
        transform.Rotate(0, speed, 0);
    }
}

مثال2:

GetAxis:

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public float horizontalSpeed = 2.0F;
    public float verticalSpeed = 2.0F;
    void Update() {
        float h = horizontalSpeed * Input.GetAxis("Mouse X");
        float v = verticalSpeed * Input.GetAxis("Mouse Y");
        transform.Rotate(v, h, 0);
    }
}


۰ نظر موافقین ۰ مخالفین ۰ ۱۲ تیر ۹۵ ، ۱۷:۵۹
مدیرکل

gameover.blog.ir

ولو سیتی خصوصیت هست.

addForce تابع هست،

یه موقع شتاب رو می خوای بدست بیاری با ولوسیتی بدست میاری.

تنظیم هم با همون ممکنه.

AddForce  بیشتر برای زمانی استفاده می شه که بخوایم تیریا گلوله bullet و ... بزنیم یا نیروی پرتاب چند متری در راستای دلخواه رو انجام بدیم.

و اسمش هم ویژه همون کاره تمیز تره اما با هر دوش می شه برنامه نویسی کرد.


مثال:پرتاب تیر ده متر جلوتر:

rigidbody.AddForce(Vector3.forward * 10);


مثال:پرش کاراکتر ده متر بالا:

rigidbody.AddForce(Vector3.up * 10);


روش دو:پرش کاراکتر ده متر بالا:

rigidbody.velocity = new Vector3(0, 10, 0);
محور up  یعنی y برابر یک.


سوال بود بپرسید.
۲ نظر موافقین ۰ مخالفین ۰ ۱۲ تیر ۹۵ ، ۱۷:۴۷
مدیرکل

gameover.blog.ir

using UnityEngine;
using System.Collections;

public class test : MonoBehaviour {
  public AudioSource myAudioSource;

  void OnTriggerEnter(Collider other){
    
    if (other.tag == "player")
      myAudioSource.Play ();
  }
}
۰ نظر موافقین ۰ مخالفین ۰ ۱۲ تیر ۹۵ ، ۱۷:۲۲
مدیرکل
gameover.blog.ir
مثال 1:
using UnityEngine;
using System.Collections;

[RequireComponent(typeof(AudioSource))]
public class ExampleClass : MonoBehaviour {
    public AudioClip clip;
    void Start() {
        AudioSource.PlayClipAtPoint(clip, new Vector3(5, 1, 2));
    }
}
مثال 2:
مثال دوم:
ابتدا یک گیم ابجکت تهی به نام GameController ایجاد کنید. سپس اسکریپتی با زبان سیشارپ به نام runAudioOnPosition (حروف دقیق رعایت بشه) ایجاد کرده و درگ کنید روی GameController تا بهش اختصاص پیدا کنه.

سپس یک گیم ابجکت تهی در نقطه ی دلخواه از جهان سه بعدی بازی ایجاد کنید،بعدش اونو درگ کنید روی متغیر A از inspector :

using UnityEngine;
using System.Collections;

[RequireComponent(typeof(AudioSource))]
public class runAudioOnPosition : MonoBehaviour {
  public Transform A;
  public AudioClip clip;
  void Start() {
    AudioSource.PlayClipAtPoint(clip, A.position);
  }
}

یک کامپوننت AudioSource بدید به گیم کنترلر تون و سپس فایل mp3 هم درگ کنید روی ورودی از کامپوننت. سپس کامپوننت رو درگ کنید روی متغیر clip.
اجرا بگیرید.

۰ نظر موافقین ۰ مخالفین ۰ ۱۲ تیر ۹۵ ، ۱۷:۲۱
مدیرکل

gameover.blog.ir

رگ دال چیه ؟ رگ دال سیستمی هست بر حسب rigidbody که وقتی کاراکتر تیر می خوره یا مثلا از روی موتور می افته ولو میشه.(هر یک از پارت های فرزند گیم ابجکت در حقیقت کامپوننت rigidbody دارن که فیزیک افتادن به صورت فردی روی تمام فرزندها اجرا میشه)


برای غیرفعال کردن رگ دال یکی از راه ها این است که گزینه ی isKinematic را برای تمام ریجید بادی های فرزند فعال کنیم(نکته: برای فعال کردن هم می توانید آن را false کنید):

using UnityEngine; 
using System.Collections;

public class Ragdoll : MonoBehaviour 
{
void DisableRagdoll() {
 Rigidbody[] allRigidbodies = GetComponentsInChildren<Rigidbody>();
 foreach(Rigidbody r in allRigidbodies) { 
r.isKinematic = true;
}
}

void EnableRagdoll() { Rigidbody[] allRigidbodies = GetComponentsInChildren<Rigidbody>(); foreach(Rigidbody r in allRigidbodies) { r.isKinematic = false; }
}

public void OnDeath() {
EnableRagdoll();
}

}


نکته:

اگر بخواهیم وقتی خون از صفر کمتر شد سیستم رگ دال اجرا بشه از کدی مثل این استفاده می کنیم(دوستان این کدها الگو هست):

در مثال زیر ابتدا انیمیشن در حال اجرای جاری را stop می کنیم.

سپس سیستم رگ دال را فعال می کنیم.

همچنین اسکریپت EnemyMovement را که برای حرکت کاراکتر بود غیر فعال می کنیم.(با همین روش شما باید سعی کنید تمام کامپوننت های دیگه رو در اسکریپت خودتون غیر فعال کنید. ما به طور کلی اشاره کردیم)

public void Damage(int damageValue) { 
_currentHealth -= damageValue; 

if (_currentHealth <=0) { 
Animation a = GetComponentInChildren<Animation>(); 
a.Stop();
Ragdoll r = GetComponent<Ragdoll>(); 

if(r != null){ 
r.OnDeath();
} //if

} //if

} //Damage



۰ نظر موافقین ۰ مخالفین ۰ ۱۲ تیر ۹۵ ، ۱۵:۳۷
مدیرکل

gameover.blog.ir

Rigidbody[] allRigidbodies = GetComponentsInChildren<Rigidbody>();
۰ نظر موافقین ۰ مخالفین ۰ ۱۲ تیر ۹۵ ، ۱۵:۳۲
مدیرکل

مثال اول:

private Transform cachedTransform;
private Rigidbody cachedRigidbody;
private AudioSource cachedAudioSource;
 
void Awake()
{
    cachedTransform = transform;
    cachedRigidbody = GetComponent<Rigidbody>();
    cachedAudioSource = GetComponent<AudioSource>();
}

مثال دوم:


//http://unitylore.com/articles/category/advanced/
using
UnityEngine; public class Player : MonoBehaviour { private new Transform transform; void Awake() { transform = GetComponent<Transform>(); } void Update() { if(transform.position.y > 5f) Debug.Log ("The player is high up."); } }


gameover.blog.ir


۰ نظر موافقین ۰ مخالفین ۰ ۱۲ تیر ۹۵ ، ۱۴:۵۲
مدیرکل

gameover.blog.ir

رو اول ساده:

ابتدا فریم های فایل gif رو با این سایت پس از آپلود جدا کنید:

http://gifmaker.me/exploder/

سپس در یک پوشه zip  دانلود و پس از unzip در یک آرایه بریزید فریم ها رو و استفاده کنید .


۲ نظر موافقین ۰ مخالفین ۰ ۱۱ تیر ۹۵ ، ۲۲:۴۱
مدیرکل
 خرید آموزش های یونیتی با قیمت 500 تا تک تومن.
http://www.picturesanimations.com/s/stars/27.gif

gameover.sellfile.ir


۰ نظر موافقین ۰ مخالفین ۰ ۱۱ تیر ۹۵ ، ۱۶:۴۱
مدیرکل
gameover.blog.ir
یک اسکریپت سیشارپ به نام lr با کد زیر بسازید و بدید به یک گیم ابجکت تهی به نام GameController:
using UnityEngine;
using System.Collections;
//GameOver.SellFile.ir
//@gameOverBlog
//gameover.blog.ir
public class lr : MonoBehaviour {
	public Vector3 start,end;
	public Color color;
	public GameObject A,B;
	public Material mat;
	private LineRenderer myLineRenderer;

	void Start () {
		this.gameObject.AddComponent<LineRenderer>();
		myLineRenderer=this.gameObject.GetComponent<LineRenderer>();
		//---
		start=A.transform.position;
		end=B.transform.position;
		DrawLine(start,end,color);
	}

	void DrawLine(Vector3 start, Vector3 end, Color color)
	{
		myLineRenderer.material =mat;
		myLineRenderer.SetColors(color, color);
		myLineRenderer.SetWidth(0.2f, 0.2f);
		myLineRenderer.SetPosition(0, start);
		myLineRenderer.SetPosition(1, end);
	}
}
سپس دو cube به نامهای cube1 و cube2 با متریال با رنگ دلخواه ایجاد کرده و سپس Drag کنید روی متغیر های A و B در inspector.
سپس یک متریال بسازید و به ورودی متغیر mat درگ کنید.
اجرا بگیرید:
http://s6.picofile.com/file/8258163784/lineRendere.jpg



۰ نظر موافقین ۰ مخالفین ۰ ۱۱ تیر ۹۵ ، ۰۱:۴۱
مدیرکل

کلاس PlayerPrefs مخفف  player preferences می باشد و برای ذخیره متغییرها و ایجاد session هایی در طول مراحل بازی بکار می رود.
یعنی با استفاد از اون می تونیم متغیری رو در کل بازی ذخیره و بازیابی کنیم.

این کلاس از نوع static هست. نوع استاتیک باعث میشه آخرین مقدار همیشه برای اون حفظ بشه.


PlayerPrefs.SetInt ("key", value);
PlayerPrefs.GetInt("key");

PlayerPrefs.SetFloat ("key", value);
PlayerPrefs.GetFloat("key");

PlayerPrefs.SetString("key","value")
PlayerPrefs.GetString("key");

برای خروج بازی و باقی موندن تغییر:

PlayerPrefs.Save();


بهترین آموزش عالی سیستم قفل مراحل با استفاده از همین مثال بالا:

قیمت فقط 500 تا تک تومن.

http://gameover.sellfile.ir/prod-486838-%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86+%D9%81%DB%8C%D9%84%D9%85+_+%D8%B3%D9%88%D8%B1%D8%B3+%D8%B0%D8%AE%DB%8C%D8%B1%D9%87+%D8%A8%D8%A7%D8%B2%DB%8C+%D9%88+%D8%B3%DB%8C%D8%B3%D8%AA%D9%85+%D9%82%D9%81%D9%84+%DA%AF%D8%B0%D8%A7%D8%B1%DB%8C+%D9%85%D8%B1%D8%A7%D8%AD%D9%84+%D8%AF%D8%B1+%DB%8C%D9%88%D9%86%DB%8C%D8%AA%DB%8C.html


۰ نظر موافقین ۰ مخالفین ۰ ۱۰ تیر ۹۵ ، ۱۹:۱۶
مدیرکل

gameover.blog.ir

شکل کلی:
در کد زیر شتاب Y(پاراکتر دوم ،محور بالا پایین ) در جهت منفی یعنی پایین با مقدار منفی یک تنظیم شد.
Physics.gravity = Vector3(0, -1.0, 0);
مثال: کد زیر رو به یک cube بدید و اون روی plane بذارید. سپس Space بزنید تا تست کنید.
 برای تغییر سرعت فرود کاراکتر،عدد -20.0f رو کم و زیاد کنید

using UnityEngine;
using System.Collections;

public class gravity : MonoBehaviour {
	private Rigidbody rb;
	void Start () {
		rb=gameObject.GetComponent<Rigidbody>();
		rb.useGravity=true;
		Physics.gravity =new Vector3(0, -20.0f, 0);
	}
	
	void Update () {
	if(Input.GetKey(KeyCode.Space)){
			rb.velocity=new Vector3(rb.velocity.x,5,rb.velocity.z);
		}

	}
}

۰ نظر موافقین ۰ مخالفین ۰ ۱۰ تیر ۹۵ ، ۱۴:۲۸
مدیرکل

gameover.blog.ir

public GameObject A,tmp,B;

void Start(){
tmp=A;
A=B;
B=tmp;
}
۰ نظر موافقین ۰ مخالفین ۰ ۱۰ تیر ۹۵ ، ۱۲:۰۹
مدیرکل

gameover.blog.ir

سعی می کنیم فقط مثال بیاریم و فکر کردن با شما

در مثال زیر تابع GetComponentsInChildren تمام کامپوننت های Renderer گیم ابجکت فرزند گیم ابجکت فعلی رو در به صورت آرایه ای برگشت می ده.

public void Enable () {
    Renderer[] renderers = GetComponentsInChildren< Renderer >();
    foreach(Renderer renderer in renderers) renderer.enabled = true;
}
 
public void Disable () {
    Renderer[] renderers = GetComponentsInChildren< Renderer >();
    foreach(Renderer renderer in renderers) renderer.enabled = false;
}
۱ نظر موافقین ۰ مخالفین ۰ ۰۸ تیر ۹۵ ، ۲۲:۵۵
مدیرکل
gameover.blog.ir
فوتون،برای ساخت بازی های مالتی پلیر آنلاین بکار میره.
سرورش توسط خود یونیتی ساپورت می شه و یه سرور قوی با امنیت بالا هست.
توابع سیشارپ برای یونیتی تحت پکیج فوتون ارائه میشه و سرور هم نیاز به برنامه نویسی نداره چون خود سرور رو با php یا غیره خود یونیتی اومده برنامه نویسی کرده.
تا 100 کاربر رو رایگان ساپورت می ده و بیشتر می خواید پولی میشه.
این اموزش.
به لینک زیر برید و چند لحظه صبر کنید بعدش رد تبلیغ بزنید.
خودم ور نمیرم باش چون فعلا حال بازی سازی مالتی پلیر  ندارم. وقتی بازی میسازم که گروه حرف گوش کد و واردی باشه که از حرفام تبعیت کنن و تک پری نکنن.
چون بازی سازی یعنی اول تیم،دوم تیم،آخر هم تیم. و اما وقتی سرمایه نیست تیم های کوچک کار چندان بزرگی نمی کنند مگر اینکه زمان زیادی رو هدر بدند.افرادی هم که بازی ساز تک نفره هستند و بازی های خوبی هم می سازند باید بگم در پس پرده به طور گروهی کار می کنند و پول خرج می کنن برای اوردن برنامه نویس و غیره. ویلا تک پری از دید ما حرام است.همین و بس. :)

http://opizo.com/RD1fJV


۱ نظر موافقین ۰ مخالفین ۰ ۰۸ تیر ۹۵ ، ۰۹:۲۸
مدیرکل

gameover.blog.ir

کد زیر رو بدید به یک ui Text تا پس از 5 ثانیه محو بشه:

//fade.cs
//gameOver.SellFile.ir
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class fade : MonoBehaviour {
	void Start () {
		GetComponent<Text>().CrossFadeAlpha(0f, 5f,false);
	}

}

منبع: کتاب ui در یونیتی:

http://gameover.sellfile.ir/prod-403328-%D8%A8%D9%87%D8%AA%D8%B1%DB%8C%D9%86+%DA%A9%D8%AA%D8%A7%D8%A8+%D9%81%D8%A7%D8%B1%D8%B3%DB%8C+%D8%B7%D8%B1%D8%A7%D8%AD%DB%8C+%D9%88%D8%A7%D8%B3%D8%B7+%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%DB%8C+ui+%D8%AF%D8%B1+%DB%8C%D9%88%D9%86%DB%8C%D8%AA%DB%8C+%D8%A8%D8%B1%D8%A7%DB%8C+%D8%A7%D9%88%D9%84%DB%8C%D9%86+%D8%A8%D8%A7%D8%B1+%D8%AF%D8%B1+%D8%A7%DB%8C%D8%B1%D8%A7%D9%86.html
۰ نظر موافقین ۰ مخالفین ۰ ۰۸ تیر ۹۵ ، ۰۰:۵۱
مدیرکل

gameover.blog.ir


public void Like(string like){
		
		AndroidJavaClass intentClass = new AndroidJavaClass ("android.content.Intent");
		AndroidJavaObject intentObject = new AndroidJavaObject ("android.content.Intent");
		
		AndroidJavaClass uriClass = new AndroidJavaClass ("android.net.Uri");
		
		intentObject.Call<AndroidJavaObject> ("setAction", intentClass.GetStatic<string> ("ACTION_EDIT"));
		intentObject.Call<AndroidJavaObject> ("setData", uriClass.CallStatic<AndroidJavaObject> ("parse", "bazaar://details?id="+like));
		intentObject.Call<AndroidJavaObject> ("setPackage", "com.farsitel.bazaar");
		
		AndroidJavaClass unity = new AndroidJavaClass ("com.unity3d.player.UnityPlayer");
		AndroidJavaObject currentActivity = unity.GetStatic<AndroidJavaObject> ("currentActivity");
		currentActivity.Call ("startActivity", intentObject);
	}

به جای com.farsitel.bazaar اسم اپ رو بزنید.

۱ نظر موافقین ۰ مخالفین ۰ ۰۷ تیر ۹۵ ، ۲۳:۴۹
مدیرکل

gameover.blog.ir

منبع این بود:

http://answers.unity3d.com/questions/141775/limit-local-rotation.html

js بود بردم سیشارپ:

اصل کار اینه:

     angle = Mathf.Clamp(angle, min, max);

تابع کلمپ میاد مقدار اولیه که در پارامتر اول بهش می دیم رو بین دو مقدار مینی مم و ماکزیمم چک می کنه اگه بیشتر شد روی حداکثر محجاز تنظیم و اگه کمتر روی حداقل میزان مجاز ست می کنه..

مثال


transform.eulerAngles =new Vector3(0, ClampAngle(angle, ang0-40, ang0+40), 0);

اینم یک تابع ترکیبی:


void float ClampAngle(float angle , float min, float max) {
 
     if (angle<90 || angle>270){       // if angle in the critic region...
         if (angle>180) angle -= 360;  // convert all angles to -180..+180
         if (max>180) max -= 360;
         if (min>180) min -= 360;
     }    
     angle = Mathf.Clamp(angle, min, max);
     if (angle<0) angle += 360;  // if angle negative, convert to 0..360
     return angle;
 }


۰ نظر موافقین ۰ مخالفین ۰ ۰۷ تیر ۹۵ ، ۲۰:۵۴
مدیرکل

کسی موافقه داستان بخره؟

اگه کسی خواست پیام بده.

۰ نظر موافقین ۰ مخالفین ۰ ۰۷ تیر ۹۵ ، ۰۴:۳۸
مدیرکل

gameover.blog.ir



http://afradstudio.ir/wp-content/uploads/2016/07/b4a_android_pack_tut_farsi.jpg کیفیت عالی

حجم کل نزدیک 300 مگ

پس از پرداخت یک فایل در اختیار شما قرار می گیره که لینک تمام پارت ها در آن هست و می تونید به صورت تک تک دانلود بفرمایید.

کپی آموزش و دادن آن به دیگران ممنون است.

قیمت بسیار عالی گذاشتیم تا همه بتونن تهیه کنید.

با این پک آموزشی شما برنامه نویسی اندروید رو یاد می گیرید و اگر مبتدی هستید در یک هفته حرفه ای می شید و راه خودتون رو پیدا می کنید.

همه چیز قدم قدم گفته شده و آموزش عالی هست و سعی شده بیشتر موارد مورد نیاز گفته بشه که واقعا پکیج آموزشی عالی و کاربردی ای هست.

لطفا برای حمایت از سازنده این پکیج رو از ما بخرید.

با تشکر از شما


لینک خرید آموزش:




۰ نظر موافقین ۰ مخالفین ۰ ۰۶ تیر ۹۵ ، ۰۳:۰۳
مدیرکل

gameover.blog.ir

بعضی وقتا برای تبلیغات کلیکی می خواید ترفند بزنید شاید این به کارتون بیاد.

<head>
<meta http-equiv="refresh" content="5"><!-- refresh browser every 5 seconds -->
</head>
<?php

header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>

<?php echo date('h:i:s A');?>
۰ نظر موافقین ۰ مخالفین ۰ ۰۴ تیر ۹۵ ، ۱۱:۴۳
مدیرکل

gameover.blog.ir

مثال : در رویداد Start اینو بذارید :

Handheld.PlayFullScreenMovie ("esmeFilm.mp4", Color.black, FullScreenMovieControlMode.CancelOnInput);
۱ نظر موافقین ۰ مخالفین ۰ ۰۴ تیر ۹۵ ، ۰۵:۴۴
مدیرکل

gameover.blog.ir

اینم واسه سادگی هست به جای دو مساوی و برای خلاصه سازی مقایسه تگ ها:

using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    void OnTriggerEnter(Collider other) {
        if (other.CompareTag("Player"))
            Destroy(other.gameObject);
        
    }
}
۰ نظر موافقین ۰ مخالفین ۰ ۰۳ تیر ۹۵ ، ۱۶:۰۴
مدیرکل

منبع:gameover.blog.ir

سازنده: گیم اور

آموزش ساخت سیستم قفل و ذخیره مراحل در یونیتی به همراه اسکریپت ها و اسپرایت ها و یک پک شامل موارد لازم برای ایمپورت در یونیتی
60 مگ
300 مگ بود فشرده کردم
lockLevel

این هم فیلم فارسی (فیلم تو پوشه ی film lq یعنی فیلم لو کوالیتی یا فشرده شده هست)مربوط به این آموزش که نکات زیادی توش توضیح داده شده

به همراه اسکریپت ها و sprite ها که پکیج کردیم و تحت یونیتی 4 و 5 باز میشه:

۱ نظر موافقین ۰ مخالفین ۰ ۰۳ تیر ۹۵ ، ۰۴:۰۶
مدیرکل
gameover.blog.ir

sing UnityEngine;
using System.Collections;

public class instantiateClickPoint : MonoBehaviour {
	public GameObject obj1;
	void Update () {
		if(Input.GetMouseButtonDown (0)){
			Instantiate(obj1,Input.mousePosition,obj1.transform.rotation);
		}
	}
}


۰ نظر موافقین ۰ مخالفین ۰ ۰۲ تیر ۹۵ ، ۱۹:۰۱
مدیرکل

gameover.blog.ir


لینک دانلود آموزش+سورس

http://opizo.com/yNCX6m


http://s7.picofile.com/file/8256859542/shot1.jpg

http://s6.picofile.com/file/8256877000/shot2.jpg


در این فیلم ذخیره اسم و امتیاز رو با استفاده از یک button و کدنویسی یادمی گیرید.

ایجاد دیتابیس mySQL روی هاست رایگان رو یاد می گیرید.

ساخت جدول و ستون ها

ارسال  امتیاز و اسم فرد به فشردن دکمه به صفحه ی وب php و ذخیره روی جدول دیتابیس

نمایش 5 امتیاز برتر و دریافت و log در یونیتی

در این آموزش از پارسه ،یا هیچ سیستم یا پکیج آماده ای  استفاده نشده.

همه چیز واضح هست.

تمام روی کدنویسی php و csharp در یونیتی با کد این کار رو می کنیم و رفع خطا

خود قسمت های ضروری هم پک شد همراه اموزش با حجم چند کیلوبایت

-

فیلم بسیار با ارزشی هست.

توصیه می کنم حتما تهیه کنید.

چون دیگه همچین آموزشی رو قول میدم هیچ جا پیدا نخواهید کرد.

چون تمام کارهایی که باید روی سرور انجام بشه تقریبا گفته شده.

و خوبیش این هست که برنامه نویسیتون و اطلاعاتتون بالا می ره.

 

کیفیت عالی

وضوع: 1366x768

صدا عالی


۴ نظر موافقین ۰ مخالفین ۰ ۰۲ تیر ۹۵ ، ۰۳:۴۰
مدیرکل

gameover.blog.ir

http://s7.picofile.com/file/8256688668/circle_nighteyi.jpg

لینک موزش زیر یک مگ:

http://opizo.com/xbAAWJ


۰ نظر موافقین ۰ مخالفین ۰ ۰۱ تیر ۹۵ ، ۰۰:۴۷
مدیرکل