«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
کانال بازی سازی تلگرام
بایگانی شهریور ۱۳۹۴ :: آموزش ساخت بازی اندروید+پکیج های تخصصی

آموزش ساخت بازی اندروید+پکیج های تخصصی

در کانال ما عضو بشید.به طور انتخابی به کاربران شارژ ایرانسل ارسال میشه.
در گیم اور، همیشه حق با مشتری است.
هر پکیجی که توان خریدش ندارید رایگان.اگه مشکل مالی ندارید حمایت کنید.
-
اعمالی که انجام می دهیم، اگر ذره ای و مثقالی باشد، به خودمان باز می گردد و بازتابش آنها را در زندگی خواهیم دید.زلزال۷
او کسی است که (روح) شما را در شب (به هنگام خواب) میگیرد; و از آنچه در روز کرده ‏اید، با خبر است; سپس در روز شما را(از خواب) برمیانگیزد; و (این وضع همچنان ادامه مییابد) تا سرآمد معینی فرا رسد; سپس بازگشت شما به سوی اوست; و سپس شما را از آنچه عمل میکردید، با خبر میسازد.انعام۶۰
دلها به یاد خدا آرام میگیرد.رعد ۲۷
زندگی دنیا تنها بازی و سرگرمی، و تجمل پرستی و تفاخر در میان شما و افزون طلبی در اموال و فرزندان است . حدید 20
آن خدایی که آدمی را از خون بسته (که تحول نطفه است) بیافرید
بخوان و (بدان که) پروردگار تو کریم‌ترین کریمان عالم است
آن خدایی که بشر را علم نوشتن به قلم آموخت
به آدمی آنچه را که نمی‌دانست تعلیم داد.
راستی که انسان سرکش و مغرور می‌شود.
چون که خود را در غنا و دارایی ببیند. علق ۲- ۷
این زندگانی چند روزه دنیا افسوس و بازیچه‌ای بیش نیست، عنکبوت ۶۴
در روی زمین به تکبر راه مرو که نمی توانی زمین را بشکافی و هرگز قامتت به بلندای کوهها نمی رسد. اسرا ۳۷
در آنچه خداوند بر تو بخشیده است، سرای آخرت را بجوی و سهم خود را از دنیا فراموش مکن و همانگونه که خدا به تو نیکی کرده است نیکی کن و هرگز فساد در زمین منما که خدا مفسدان را دوست ندارد. قصص ۷۷
و هرگاه نعمت و رحمتی به انسان بچشانیم و سپس آن را از او برگیریم او مأیوس و نومید میشود و به کفران و ناسپاسی بر میخیزد. هود ۹
بندگان مرا آگاه ساز که من بسیار آمرزنده و مهربانم.حجر۴۹
از رحمت خدا ناامید مباشید جز کافر هیچ کس از رحمتش نا امید نیست.یوسف۸۷
پس به یاد من باشید تا به یاد شما باشم. بقره ۱۵۲
زندگانی دنیا جز متاع فریبنده نیست . آل عمران ۱۸۵
از آنچه به شما روزی داده ایم پیش از آنکه روزی فرا رسد که نه معامله ای وجود دارد و نه دوستی و شفاعت ، انفاق کنید. بقره ٢۴۵
بسا چیزی را ناخوش داشته باشید که آن به سود شماست و بسا چیزی را دوست داشته باشید که به زیان شماست، و خدا میداند و شما نمیدانید. بقره۲۱۶
آیات (خود) را برای شما بیان کردیم شاید اندیشه کنید...حدید۱۷

پیوندهای روزانه
پیوندها

۴۲ مطلب در شهریور ۱۳۹۴ ثبت شده است

using UnityEngine;
using System.Collections;
using UnityEngine.UI;
 
 
public class SpriteTest : MonoBehaviour {
 
 
    public Image mySprite;
 
 
    void OnTriggerEnter()
    {
        Invoke("ActiveSprite",1);
    }
 
 
    void ActiveSprite()
    {
        mySprite.enabled = true;
    }
}
۱ نظر موافقین ۰ مخالفین ۰ ۳۱ شهریور ۹۴ ، ۱۹:۰۰
مدیرکل

این گزینه نقش enabed رو بازی می کنه. اگه true باشه آیتم عمل می کنه و اگه false باشه آیتم عمل نمی کنه.

معمولا در قسمت ui->canvas group یا اشیای زیرشاخه ی ui (واسط کاربری) در یونیتی 5 می تونید دکمه و کادر متن و عکس و ... رو به عنوان یوزر اینترفیس بسازید. و هر کدوم رو خواستید عمل نکنه گزینه ی interactable رو false کنید یا تیکشو بردارید.(توی inspector)

http://s6.picofile.com/file/8213435050/interactable.jpg

۰ نظر موافقین ۰ مخالفین ۰ ۳۱ شهریور ۹۴ ، ۱۳:۳۹
مدیرکل
کپی:gameover.blog.ir
این کلمه برای تعریف متغیرهایی بکار می ره که نوعشون رو نمی دونیم یا بر حسب مقدار می خوایم نوع اون رو مشخص کنیم.
مثال:
// i is compiled as an int 
var i = 5;

// s is compiled as a string 
var s = "Hello";

// a is compiled as int[] 
var a = new[] { 0, 1, 2 };

// expr is compiled as IEnumerable<Customer> 
// or perhaps IQueryable<Customer> 
var expr =
    from c in customers
    where c.City == "London" 
    select c;

// anon is compiled as an anonymous type 
var anon = new { Name = "Terry", Age = 34 };

// list is compiled as List<int>                              
var list = new List<int>();
منبع :
https://msdn.microsoft.com/en-us/library/bb384061.aspx


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

منبع: gameover.blog.ir

چطور سیشارپ و جاوااسکریپت رو یادبگیریم ؟
چون بچه های زیادی مشکل داشتن تصمیم گرفتم کمی توضیح بدم :
واسه یادگیری سیشارپ باید CPP بلد باشید. ساختار سیشارپ همونه فقط یه سری چیزا اضافه میشه،که اونم خلاصه یاد میدم.
واسه یادگیری js هم کمی پاسکال بلد باشید و همون c کافیه.
یه مقایسه سطحی میندازم روی دستورات سی پلاس پلاس و سیشاپ و جاوااسکریپت یا همون js (دقت کنید js رو با JAVA اشتباه نگیرید چون جاوا یه زبون جداست که js زیرمجموعه ی JAVA میشه و ساختار JAVA رو بعدا یاد می دم اگه نیازی بود)

* در CPP یا C وقتی بخوایم یه فایل کتابخونه ای رو ضمیمه کنیم از دستور include استفاده می کنیم که ابتدای برنامه می یاریمش.
مثال :

کد:
روش اول:
#include <iostream.h>
روش دیگر :
#include "stdio.h"
فرق دو روش هم اینه که توی یکیش ابتدا مسیر جاری رو واسه یافتن می گرده توی یکی دیگه توی پوشه ی include رو می گرده واسه یافتن فایل های هیدر یا سرآیند با پسوند h ( یعنی header و فایل های کتابخونه ای که در سر برنامه می آن)


* در JS نیازی به بار یا ضمیمه کردن فایل های کتابخونه ای نیست و خود انجین وظیفه داره هر فایلی رو که نیاز بود ضمیمه کنه پس ساده تر هست از این جهت کدنویسی کمتر.


* در csharp از using استفاده می کنیم برای افزودن فضای نام یا namespace یا همون کلاس هایی که توی اسکریپت هاو برناممون می خوایم از اونا استفاده کنیم.
مثال:

کد:
using UnityEngine;
using System.Collections;
توی دستورات فوق فضای نام UnityEngine و System.Collections رو اوردم .
این دو تا رو میاریم چون بیشتر کدهایی که می نویسیم توابع یا دستوراتی هستن که توی کلاس UnityEngine و کلاس Collections (که خودش زیر مجموعه ی کلاس System میشه) تعریفشون وجود داره.

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

به عنوان مثال وقتی از دستور Debug.Log برای چاپ یه پیام استفاده می کنیم باید اونو به صورت UnityEngine.Debug.Log بیاریم چون تابع Log در کلاس Debug تعریف شده و کلاس Debug هم در کلاس UnityEngine تعریف شده.

کلاس MonoBehaviour هم که در کلاس UnityEngine تعریف شده پس اگه فضای نام UnityEngine رو بالای برنامه ضممیه نکنیم باید به صورت UnityEngine.MonoBehaviour بیاد.

دستوراتی که در کلاس های دیگه تعریف شده رو هم باید شناخت و اسم کلاسشون رو بیاریم و بعدش علامت نقطه بزنیم و توابع زیرشاخه ی اونا رو که لیست میشه شناسایی کنیم که این کار چون شلوغ کاری هست از فضای نام استفاده می کنیم تا خلاصه بشه(یعنی همون آوردن اسم کلاس های مادر اونا که در بالا با using ضمیمه می کنیم)

مثال :
توی سیشارپ اگه بخوام اسکریپتی بسازم که پیام "Hello Promakers.ir " رو چاپ کنه کد اینطوری میشه:
کد PHP:
//using UnityEngine;
//using System.Collections;

public class NewBehaviourScript UnityEngine.MonoBehaviour {

    
// Use this for initialization
    
void Start () {
        
UnityEngine.Debug.Log("Hello promakers.ir");
    }
    
    
// Update is called once per frame
    
void Update () {
    
    }


می بینید فضای نام رو گذاشتم جزو توضیحات که بعد از دو تا علامت اسلش(//) آوردم(توضیحات چند خطی هم بین /**/ میاد که اینا همون ساختار سی پلاس پلس هست که اینجا نباید درس بدم توی بخش c بپرسید winking )

اگه در کد فوق دو خط زیر حزو توضیحات نباشه:
کد:
//using UnityEngine;
//using System.Collections;
دیگه اجباری به اوردنشون توی سورس نیست و آوردنشون هم اخیتاری هست(ولی زیاده کاری هست)
کد معادل:
کد PHP:
using UnityEngine;
using System.Collections;

public class 
NewBehaviourScript UnityEngine.MonoBehaviour {
    
    
// Use this for initialization
    
void Start () {
        
UnityEngine.Debug.Log("Hello promakers.ir");
    }
    
    
// Update is called once per frame
    
void Update () {
        
    }

کد معادل دیگه :
کد PHP:
using UnityEngine;
using System.Collections;

public class 
NewBehaviourScript MonoBehaviour {
    
    
// Use this for initialization
    
void Start () {
        
Debug.Log("Hello promakers.ir");
    }
    
    
// Update is called once per frame
    
void Update () {
        
    }

روی کدها نگاه کنید تا بیشتر درک کنید.
--
از تفاوت های دیگه زبان js و سیشارپ اینه که توی js متغیرها رو به این صورت تعریف می کنیم:
کد:
var varName:varType[=defaultVal];
در js ابتدا اسم متغیر می یاد بعشد دو نقطه افقی(happy و بعدش نوع متغیر.
قسمتی که توی [] اوردم شال مقدار پیشفرض متغیر میشه و اختیاری هست. توضیح هم نمی دم روی کد چون اسم خوبی گذاشتم به فارسی انگلیسی(فینگلیش) واضح هست.

در سیشارپ اول نوع متغیر میاد و بعدش اسم متغیر و بعدش علامت انتساب(=) و بعدش مقدار پیش فرض که مساوی و مقدار دادن اختیاری هست. قبل از نوع متغیر هم میشه کلمات public و private رو اورد که به معنی سراسری و خصوصی هست. فرقشون اینه که متغیر سراسری در تمام توابع شناخته شده هست و می تونیم به مقدار اون متغیر دسترسی داشته باشیم ولی نوع خصوصی فقط داخل همون تابع.
مثال :
کد:
public bool render_mesh_normaly = true;
private bool render_lines_1st = true;


نکته آخر: یاد گیری زبان های js و csharp بسیار ساده است ولی احتیاج به دانش کلی داره. وقتی کل ساختار یک زبان رو یاد بگیریم دیگه نیازی به حفظ کردن نداریم. کافیه الگو رو از اینترنت درآریم و نحوه ی استفاده از اونا رو درک کنیم . یا یک مثال ببینیم و کمی تحقیق کنیم.
معمولا زمانی که برامون سوالی پیش می یاد بسته به اون سوالمون سعی می کنیم در امر یادگیری پیش روی کنیم در غیر اینصورت اگه بخوایم کل زبان سیشارپ و تمامی مسائل رو حل کنیم باید بگم یک شبه نمیشه. شما ساختار سی پلاس پلاس رو یاد بگیرید بعدش بیاید ببینید سیشارپ چقدر آسونه.

یکی از خصوصیات دیگه ی سیشارپ و قدرتش نسبت به cPP اینه که مثلا وقتی می خوایم تبدیل متغیر انجام بدیم می تونیم بعد از اسم اون متغیر یه نقطه بذارم و بعدش تابع مورد نظر رو انتخاب کنیم. چون خود اسم متغیرها هم نوعی کلاس محسوب می شن که زیر توابعی عضو خودشون دارن . مثلا اگه متغیری از نوع int تعریف کرده باشیم به اسم number برای تبدیلش به رشته ی عددی و برگشت مقدار تبدیل شده می نویسیم num.toString() و و یا تبدیل float به int می نویسیم varName.toByte() و الی آخر.big grin

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

من حتی سیشارپ رو خوب نمی دونستم و کمی فکر کردم دیدم همون CPP هست ولی با قابلیت های تازه تر (در حقیقت سیشارپ ورژن جدید CPP هست از نظر من و اگر چه اینطور نیست و CPP یه جاهایی لازمه ولی به هر حال نظر شخصیمه و فعلا بپذیرید)




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


اجرای یک فیلم در ابتدای بازی و از بین رفتن بعد از چند (در اینجا 10) ثانیه:
اسکریپت زیر رو میندازیم روی یک plane.
سپس یک فیلم کوتاه mp4 رو به پروژه اضافه می کنیم (به صورت movie texture توسط یونیتی تبدیلات انجام میشه خودکار)
یادتون نره quick Time هم باید نصب باشه) .
سپس فیلم رو می کشیم روی پارامتر a که از نوع MovieTexture تعریف کرده بودیم.
حالا اجرا می کنیم

کد PHP:
//movieTexture.js
//author:sajjad3011
var MovieTexture;
var 
i:float=0;
 var 
myTimer float 10.0;
function 
Start () {
 
renderer.material.mainTexture a;
a.Play();
}
 
function 
Update () {

if(
myTimer && a.isPlaying){ 
myTimer -= Time.deltaTime
if(
myTimer <= 0){Destroy(transform.gameObject); }
}
}
//update 
روی صحنه ی دلخواه میریم تا نمای خوبی داشته باشیم سپس دوربین رو انتخاب می کنیم و ctrl+shit+F می زنیم تا روی صحنه ی جاری set بشه.
فیلم اجرا میشه و بعد از 10 واحد زمانی نابود میشه.
بعدش می تونید هر عملی دوست داشتید انجام بدید.

کد معادل سیشارپ:
معادل سیشارپ:
public MovieTexture a;
float myTimer =10f;
void Start(){
renderer.material.mainTexture = a;
a.Play();
}
void Update () {
if(myTimer > 0 && a.isPlaying){ 
myTimer -= Time.deltaTime; 
if(myTimer <= 0){Destroy(transform.gameObject); 
}
}

۰ نظر موافقین ۰ مخالفین ۰ ۳۰ شهریور ۹۴ ، ۱۹:۵۰
مدیرکل
منبع: gameover.blog.ir
با تشکر از sajjad3011

نابود شدن گیم ابجکت با کلیک روی آن:

کد :
void Update (){
        if (
Input.GetMouseButtonDown (0))
            
Destroy (transform.gameObject);

حرکت گیم آبجکت به سمت بالا در زمان بین 2 الی 6 ثانیه:
کد :
using UnityEngine;
using System.Collections;

public class 
harkat MonoBehaviour {
    public 
float speed=0.01f;
    
// Use this for initialization
    
void Start () {
    
    }
    
    
// Update is called once per frame
    
void Update () {
        if(
2<=Time.time && Time.time <=6)
        
transform.position = new Vector2 (transform.position.xtransform.position.Time.time speed);
    }

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

نامرعی کردن گیم ابجکت در یونیتی/مخفی کردن یا invisible کردن گیم ابجکت در یونیتی:
کد :
GetComponent<Renderer> ().enabled false

بردارهای حرکت در یونیتی:
کد:
Vector3.zero    خلاصش میشه Vector3(0, 0, 0).
Vector3.one    خلاصش میشه Vector3(1, 1, 1).

Vector3.down    خلاصش میشه Vector3(0, -1, 0).
Vector3.up    خلاصش میشه Vector3(0, 1, 0).

Vector3.forward    خلاصش میشه Vector3(0, 0, 1).
Vector3.back    خلاصش میشه Vector3(0, 0, -1).

Vector3.left    خلاصش میشه Vector3(-1, 0, 0).
Vector3.right    خلاصش میشه Vector3(1, 0, 0).
سیستم ضرب برداری هم در اینجا بحث شده قبلا :
http://promakers.ir/showthread.php?tid=12123

۰ نظر موافقین ۰ مخالفین ۰ ۳۰ شهریور ۹۴ ، ۱۷:۰۰
مدیرکل
منبع: gameover.blog.ir

اسکریپت حرکت به جایی که کلیک کردیم move2click در یونیتی:
کد js :

کد :
// Click To Move script
// Moves the object towards the mouse position on left mouse click
 
var smooth:int=1; // Determines how quickly object moves towards position
 
private var targetPosition:Vector3;
 
function Update () {
    if(Input.GetKeyDown(KeyCode.Mouse0))
    {
        var playerPlane = new Plane(Vector3.up, transform.position);
        var ray = Camera.main.ScreenPointToRay (Input.mousePosition);
        var hitdist = 0.0;
 
        if (playerPlane.Raycast (ray, hitdist)) {
            var targetPoint = ray.GetPoint(hitdist);
            targetPosition = ray.GetPoint(hitdist);
            var targetRotation = Quaternion.LookRotation(targetPoint - transform.position);
            transform.rotation = targetRotation;
        }
    }
 
    transform.position = Vector3.Lerp (transform.position, targetPosition, Time.deltaTime * smooth);
}
اسکریپت بالا به زبون js هست.بندازید روی player.اجرا کنید. هرجا کلیک می کنید player میره اونجا.
پارامتر smooth روی 1 تظیم شده.اگه مقدارش بیشتر بشه سرعت حرکت بیشتر میشه.
نکته: اسکریپت فوق برای بازی های استراتژی از نمای کامل بالا کار نمی کنه)
اسکریپت حرکت سه بعدی پلیر در یونیتی/اسکریپت کاراکتر کنترلر:

این اسکریپت رو بدید به player .
نکته: پلیر نباید کامپونتت rigid body داشته باشه.ضمنا یک کامپوننت character controller هم بدید به player.
کد :

#pragma strict

function Start () {

}
private var moveDirection : Vector3 = Vector3.zero;
function Update () {
   
 var speed=5;
 var jumpSpeed=5;
 var gravity=5;
        var controller : CharacterController = GetComponent(CharacterController);
        if (controller.isGrounded) {
            // We are grounded, so recalculate
            // move direction directly from axes
            moveDirection = Vector3(Input.GetAxis("Horizontal"), 0,
                                    Input.GetAxis("Vertical"));
            moveDirection = transform.TransformDirection(moveDirection);
            moveDirection *= speed;
            
            if (Input.GetButton ("Jump")) {
                moveDirection.y = jumpSpeed;
            }
        }
        // Apply gravity
        moveDirection.y -= gravity * Time.deltaTime;
        
        // Move the controller
        controller.Move(moveDirection * Time.deltaTime);
    

}
اسکریپت حرکت دو بعدی player به چپ و راست در یونیتی:
کد :
//Player.Cs
//move 2d player Left/Right Unity
//Author:Sajjad3011
using UnityEngine;
using System.Collections;

public class player : MonoBehaviour {

    private Animator animator;
    private int walkSpeed=5;

    private float xScale,yScale;
    private bool run;

    void Start () {
        animator = this.GetComponent<Animator> ();
        xScale = transform.localScale.x;
        yScale = transform.localScale.y;

    }

    void Update(){ 
        if (Input.GetKey(KeyCode.RightArrow)) {
            run=true;
            GetComponent<Rigidbody2D>().velocity=new Vector2(walkSpeed,GetComponent<Rigidbody2D>().velocity.y);
            transform.localScale=new Vector2(xScale,yScale);
        }
        if (Input.GetKey (KeyCode.LeftArrow)) {
            run=true;
            GetComponent<Rigidbody2D>().velocity=new Vector2(-walkSpeed,GetComponent<Rigidbody2D>().velocity.y);
            transform.localScale=new Vector2(-xScale,yScale);
        }
        if (Input.anyKey==false){
            GetComponent<Rigidbody2D>().velocity=new Vector2(0,GetComponent<Rigidbody2D>().velocity.y);
            run=false;
        }

        if (animator != null) {
            animator.SetBool ("run", run);

        }

    }
}


به این بخش مراجعه بفرمایید: http://promakers.ir/showthread.php?tid=12196



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

منبع : gameover.blog.ir

سعی کنید برای کدهاتون توضیح بذارید و dirty code رو به clean code ویرایش کنید.
کد تمیز کدی هست که فهم و درک اون آسونتر و کد کثیف کدی هست که فهم و درکش سخت تر باشه.
مثال:
کد کثیف:

کد:
if (Input .GetAxis ("Horizontal")<0)//Left
کد اصلاح شده تمیز:
کد :
if (Input.GetKey(KeyCode.LeftArrow))//Left 
کد کثیف:
کد:
if (Input .GetAxis ("Horizontal")>0)//Right
کد اصلاح شده ی تمیز:
کد :
if(Input.GetKey (KeyCode.RightArrow))//Right 
کد کثیف:
کد:
if (Input .GetAxis ("Vertical")>0)//Up
کد اصلاح شده ی تمیز:
کد :
if (Input.GetKey (KeyCode.UpArrow))//Up
۰ نظر موافقین ۰ مخالفین ۰ ۳۰ شهریور ۹۴ ، ۱۶:۵۵
مدیرکل
draw_text(100,100, chr(97));
draw_text(100,150, ord('a'));
کپی از : gameover.blog.ir
ord('A');//out: 65

chr('65')';//out: 'A'
۰ نظر موافقین ۰ مخالفین ۰ ۲۹ شهریور ۹۴ ، ۱۸:۵۰
مدیرکل
کپی از : gameover.blog.ir
آموزش Rigging در 3dsmax
خوب مثل اینکه تا خودم شروع نکنم کسی شروع نمی کنه.چند روزی هست دارم مطالعه می کنم و شبا فیلم آموزشی دانلود می کنم که زیاد به دردم نخورد و فکر کنم خودم باید به شیوه ی خودم یاد بدم تا بتونم توی کارهای تیمی بچه ها رو بیارم بالا . یکی برای بازی رستم و دیگه برای قوی تر شدن و انجام پروژه های بعدی انشاءا... big grin
--
دو تا سیستم رو فعلا عنوان می کنم: CAT + Biped

CAT یا ابزار انیمیشن کاراکتر :

[تصویر: catParent.jpg]

برای دسترسی به این سیستم به بخشCreate و سپس Helper رفته و از لیست گزینه ی CAT objects و سپس Cat parent رو انتخاب می کنیم. و بعدشم اگه بخوایم انسان رو ریگ کنیم Base Human رو می زنیم بعدش توی صحنه کلیک می کنیم و Drag می کنیم(ماوس رو در حالی که کلیک رو نگه داشتیم حرکت می دیم و سپس رها می کنیم) تا یک استخوانبندی انسانی به صورت مربعی مانند ساخته بشه.
گزینه های دیگه ای هم هست که برای ریگ موجودات مختلف بکار می ره.
در اینجا من سیستم CAT رو نمی خوام استفاده کنم ولی فقط اصطلاحاتشو می گم تا یکم براتون راحت بشه :

vertebrae=استخوان مهره
Quadrupeds =چهارپایان
biped=دو پا
marine=دریایی
alien=بیگانه
angel=فرشته
ape=میمون
centipede=هزارپا
lizard=مارمولک
mech=شاید به معنی مکانیکی باشه
panther=پلنگ
spider=عنکبوت
pelvis=لگن خاص
بقیه هم چون نمیدونستم ترجمه نکردمbig grin


سیستم Biped:

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


ما قراره رستم رو انیمیت کنیم. رستم یه وجود دو پا هست. پس باید از روش ریگ دوپایان که به انگلیسی میشه Biped (بای پِ د) استفاده کنیم.


برای ایجاد سیستم دوپا ، به منوی Create و سپس System و سپس Biped برید.

سپس در داخل صحنه Drag کنید تا استخوان بندی دلخواه شا ایجاد بشه به صورت خیلی زیباتر برای انسان:
[تصویر: rig_Biped_3dsMax.jpg]


در شکل بالا من اومدم قسمت های مختلف استخوان پا و دست و کمر و غیره رو با کلیک انتخاب کردم و جابجا کردم و چرخش دادم. شما هم می تونید قسمت های مختلف رو انتخاب کنید و کلید W رو برای جابجایی و کلید R رو برای تغییر مقیاس بزنید . و کلید E رو برای چرخش استفاده کنید.

با Ctrl+A می تونید کل استخوان ها رو انتخاب کنید.

خوب اگه شما کمی باهاش کار کنید می بینید چقدر استاندارد و طبیعی هست.

یکی از فرق های سیستم Biped با CAT اینه که توی Biped ما نمی تونیم به صورت تکی استخوان ها رو Scale یا تغییر اندازه بدیم. و باید کل استخوان ها رو انتخاب کنیم و Resize کنیم. علتش اینه که Biped دقیقا استاندارد هست و استخوانها از هم جدا نمی شن و دقیقا مثل استخوانبدی انسان هست که توی بدن ما خداوند متعال ایجاد کردهhappy
-
برای ساخت انیمیشن هم یک دکمه ی کلید هست که تغییرات هر فریم رو در time Slider یا نوار لغزان زمانی میشه ثبت کرد و یک دکمه ی autokey که وقتی نوار انیمیشن رو جابجا می کنیم دیگه نیاز به زدن آیکن کلید نیست بلکه خودکار تغییراتی که می دیم رو ثبت می کنه و برای ذخیره هر تغییر جدید فقط کافیه نوار زمانی رو جابجا کنیم و ببریم جلوتر و تغییرات بعدی رو انجام بدیم و در نهایت انیمیشن رو Play می کنیمbig grin
-
تا اینجا شد سیستم Biped (دو پایان) و ایجاد انیمیشن که واسه یادگیریش باید هزارتا فیلم یوتیوبی و غیره و ... رو دانلود می کردیم و حجم می زدیم تا آخرشم بلانسبت گیج تر بشیم Smile اما من خیلی روون و ساده یاددادمwinking
-
کاری که باید بکنیم اینه که انیمیشن رو ایجاد کنیم و سپس مدلی رو بسازیم یا حالا دانلود کنیم و ببریم توی تری دی استادیو مکس و سوار کنیم روی استخوون تا مدل هم مثل استخون همون حرکات رو اجرا کنه.
-
برای اینکار باید استخون رو دقیقا توی مدل قرار بدیم که برای راحتی کار توصیه می شه فریم اول استخون به حالت T form یعنی دست باز باشه و همچنینن تمام انشتان دست و پا و استخوان ها داخل مدل جاسازی بشه تا حرکت طبیعی تری رو داشته باشیم.
-
لطفا تمرین کنید و نمونه کارهاتونو تو بخش نمونه کارها بذارید و بگید که با آموزش من یاد گرفتید big grin


----

منبع :
autodesk

مترجم:sajjad3011

3ds Max برای پویا سازی و Rigging کاراکتر دارای دو سیستم فرعی است :(CAT و character studio )
اگر چه برای هر یک از این دو سیستم فرعی تنظیمات ویژه ای وجود دارد ، می توان آنها را با دو اصلاحگر Physique modifier و Skin modofier سفارشی کرد و هر دوی آن ها با تعدادی از فرمت فایل های motion capture سازگارند.

اما بین سیستم CAT ( ابزار انیمیت کاراکتر)، و character studio تفاوت های مهمی وجود دارد.بهترین روش برای تشخیص اینکه کدام یک از این دو سیستم برای کار روی پروژه ی شما مناسب تر است آن است که ابتدا هر دوی آن ها را بیاموزید و سپس طبق تجربه،تصمیم بگیرید هرکدام را که مایلید انتخاب نمایید.

در زیر مقایسه ای بین آن دو داریم:

CAT :
این سیستم با توجه به پیشرفته بودنش در بعضی اوقات ساده ترین روش برای انیمیشن کاراکتر هست. با CAT می تونید به سادگی کاراکترهای چند پا و غیرانسانی خود را rig و animate کنید.حتی می توانید کاراکترهای انسانی خود را به طور واقع گرایانه ای rig کنید.از بین ریگ های ساخته شده با CAT ،موجودات فرز و چابکی مثل اژدها(dragon) با 4 پا و 2 بال،عنکبوت(spider)،و یک چندپا(centipede) با 8 پا وجود دارد.شما می توانید همه ی اینها را به آسانی بدون استفاده از graph-based CATMotion editor انیمیت کنید. CATMotion بهترین گزینه برای اصلاح حرکت چرخشی در زمان واقعی با استفاده از تنظیم پارامترها برای بخش هایی از بدن مثل لگن خاصره(pelvis) است;این پارامترها عبارتند از Twist(پیچ و تاب) و Roll(گردش) و Pitch (پیچ)و Lift (آسانسور) و Push (فشار) .

قدرت دیگر و نسبتا آسان به استفاده از ویژگی CAT ، سیستم لایه بندی(layering system) است.هر دوی آنها از طریق CATMotion(برای چرخه بخش بدن فردی) و در full-rig level با فریم های کلیدی وزن گذاری شده(keyframed weighting) در هر دو سطح قابل دسترسی هستند.دومین مورد،پشتیبانی از رمز گذاری سیستم رنگ بندی لایه هاست و با استفاده از آن می توان فهمید که کدام لایه به حرکت در هر لحظه ی داده شده کمک می کند. CAT همچنین از ادغام بین FK و IK برای کنترل سفارشی حمایت می کند.

در آخر، CAT ،ماهیچه و اشیای استاندارد ماهیچه ای را برای شبیه سازی ساختمان عضلانی ایجاد می کند.
در درس بعضی character studio را مختصر شرح میدهیم.winking

character studio:
این سیستم،شامل یک مجموعه ابزار وسیع برای character-animation می باشد که میتواند با کاراکترهای چندپا کار کند اما در درجه ی اول برای ریگ دوپایان(bipedal rigs) در نظر گرفته شده است.از این رو بر ابجکت اصلی آن اسم Biped نهاده شده است.همچنین بخشی از character studio عبارت است از Physique modifier (مدیفایر فیزیک) برای skinning ریگ های کاراکتر. Physique می تواند با ابجکت های ریگ غیر از Biped و خصوصیاتی مثل بخش های user-definable rigid (جامد تعریف شده ی کاربر) و deforming(تغییر شکل) استفاده شود سومین کامپوننت character studio عبارت است از Crowd که انیمیشن روالی از گروه های بزرگی از کاراکترها را با رفتارهایی مثل اجتناب(avoidance)،حرکت تصادفی،دنبال کردن یک سطح امکان پذیر می کند. Biped کامپوننت character studio ی قدرتمند و پیشرفته تری است.از ویژگی های آن می توان به ایجاد procedural footstep (قدم زدن رویه ای)، freeform animation(انیمیشن فرم آزاد)،یک ویاریشگر انیمیشن ویژه به نام Workbench و یک خصوصیت انیمیشن غیرخطی به نام Motion Mixer (در دسترس برای انیمیشن عمومی) اشاره کرد.همچنین،خصوصیت Motion Flow تولید اسکریپت تصادفی،انتقالات رویه ای(procedural transitions) و بیشتر ... را ارائه می دهد.


این PDF هم skinning یا سوار کردن مدل روی استخون biped رو یاد میده:
http://images.autodesk.com/adsk/files/3dsmax_2010_character_animation.pdf


۰ نظر موافقین ۰ مخالفین ۰ ۲۸ شهریور ۹۴ ، ۰۰:۵۸
مدیرکل
کپی از : gameover.blog.ir
با اسکریپت زیر دشمن همیشه به player نیگا می کنه


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);
    }
}


متغیر target از نوع public تعریف شد.
target یعنی هدفی که می خوایم دشمن بهش نگاه کنه.
بنابراین می تونیم اسکریپت رو بندازیم روی دشمن و سپس player رو بکشیم بندازیم روی پارامتر target که به صورت پابلیک ساختیم.
۰ نظر موافقین ۰ مخالفین ۰ ۲۷ شهریور ۹۴ ، ۲۳:۱۴
مدیرکل
۰ نظر موافقین ۰ مخالفین ۰ ۲۵ شهریور ۹۴ ، ۲۱:۲۸
مدیرکل
14 ثانیه صبر و رد تبلیغ رو بزنید :

http://opizo.com/JQrH7Q


۰ نظر موافقین ۰ مخالفین ۰ ۲۵ شهریور ۹۴ ، ۲۱:۰۰
مدیرکل
روی لینک زیر کلیک کنید. بعد از 14 ثانیه رد تبلیغ رو بزنید:


http://opizo.com/UEkDFS


PDF رو بخونید قدم به قدم مراحل رو طی کنید. موفق باشید

۰ نظر موافقین ۰ مخالفین ۰ ۲۵ شهریور ۹۴ ، ۱۶:۱۳
مدیرکل
چرخش حول محور z :
transform.Rotate(0, 0, 100*Time.deltaTime);  //fast anti-clockwise rotation
 transform.Rotate(0, 0, 10*Time.deltaTime);   // slower  anti-clockwise rotation
 transform.Rotate(0, 0, 100* -Time.deltaTime);  // fast clockwise rotation
 transform.Rotate(0, 0, 10* -Time.deltaTime);   // slower clockwise rotation

چرخش به سمت ماوس:
void Update () {
Vector3 mousePos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
transform.rotation = Quaternion.LookRotation(Vector3.forward, mousePos - transform.position);
}


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

پاسخ:
گاهی علت این است که به گیم ابجکت های خود collider های 2D داده ایم اما در اسکریپت خود از توابع 3D در اسکریپ های خود استفاده کرده ایم.

برای حل مشکل از مثال زیر الگو بگیرید :

کد سیشارپ:
        void OnTriggerEnter2D(Collider2D other) {
        
Debug.Log("OnTriggerEnter 2D");
        } 

        
void OnCollisionEnter2D(Collision2D coll) {
        
Debug.Log("OnCollisionEnter 2D"); 
نکته ی دوم اینه که هر دو گیم ابجکت باید collider 2d داشته باشد.
نکته سوم : بلعکس موارد فوق هم ممکنه رخ بده که خودتون می تونید جابجا کنید توابع 2D رو با توابع 3D.
۱ نظر موافقین ۰ مخالفین ۰ ۲۴ شهریور ۹۴ ، ۰۲:۰۲
مدیرکل

gameover.blog.ir

تکنیک یک : یونیکد

🔶🔶🔶🔶تایپ فارسی در یونیتی/فارسی نویسی در یونیتی:(آموزش:سجاد)

خوب اینم به خاطر سوال یکی از دوستان اشاره می کنم خودتون برید پی ش:

1)این سایت برای پیدا کردن کد کاراکترهای فارسی و انگلیسی و غیره به کارتون میاد :
https://unicode-table.com/en/#arabic

2) این کد برای تبدیل کد هگزا دسیمال به کاراکتر مورد نظر هست(کدش به زبان سیشارپ هست و در یونیتی ازش استفاده می کنیم)

char upArrow = '\u25B2';
Debug.Log(upArrow.ToString());

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

مثلا 0620 میشه "ی" فارسی

با بک اسلش یو،اومده می گه می خوام یونیکد تایپ کنی برام
بعدش کد اسکی می ده که در مبنای شانزده یا هگزا دسیمال هست
25B2

برد یم دسیمال دهدهی

decimal=مبنای ده

اگه alt نگه داری 9650 بزنی اون کاراکتر تایپ میشه

اگه هم توی یونیتی بخوای باید همین 9650 رو تبدیل به هگزا دسیمال کنی بعدش بدی به تابع ToString

تبدیل کنه به رشته

با \u


char upArrow = '\u25B2';
Debug.Log(upArrow.ToString());

بلی

باید برید تو سایت https://unicode-table.com/en/#arabic

کد تمام حروف رو در بیارید

از a تا z
از الف تا ی
و الی آخر


و کد هگزا دسیمالشونو توی ارایه کپی کنی

توی یونیتی

بعدش از هر کدوم خواستی استفاده کنی

کلمه دلخواه رو هم می تونی بنویسی

یا رشته دلخواه


اها تازه فهمیدم😃

=====


تکنیک دو:

با استفاده از یک فارسی ساز می تونید متن فارسی رو به یونیتی انتقال داده و از فونت مجازش توی یونیتی استفاده کنید.
به عنوان مثال فونت F_unwan.ttf (فونت هایی که اولشون F داره) برای فارسی ساز Leo moon کار می کنه که می تونید این فونت رو بکشید توی project و سپس یک ui canvas Text ایجاد کرده و فونت رو بکشید روی پارامتر Font در inspector.
سپس متن تایپ شده در Leomoon رو کپی کنید توی فیلد Text در inspector .
[تصویر: farsi_unity.gif]




کل کاراکترهای فارسی رو با Leomoon کپی بگیرید

ببر توی یک آرایه در یونتی ذخیر کنید


برای اینکه متن فارسی با حروف درست وارد بشه و حروف جمله به ترتیب از راست ترین حرف وارد بشه  و سپس با تایپ به سمت راست بره ابتدا خصوصیت رو در inspector روی چپ چین بذارید سپس جمله ی فارسی رو در متغیری از نوع رشته ای ذخیره کنید مثال myString.
سپس داریم:

IEnumerator PlayText()
{   
 for (int i=myString.Length-1;i>0i--) {
 
  TTX.text = myString[i] + TTX.text ;
    yield return new WaitForSeconds (0.125f);

 }
}

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

//move and jump -
//attach this Script to ur Player
//hot keys :  
//            ArrowKeys=Move
//            Space=Jump
//Edided by : sajjad3011
    
var speed float 6.0;
    var 
jumpSpeed float 8.0;
    var 
gravity float 20.0;

    private var 
moveDirection Vector3 Vector3.zero;
    function 
Start()
    {
          
//this.gameObject.AddComponent(Rigidbody);//afzudane fizik
          
this.gameObject.AddComponent(CharacterController);//afzudane character controller
    
}
    function 
Update() {
        var 
controller CharacterController GetComponent(CharacterController);
        if (
controller.isGrounded) {
            
// We are grounded, so recalculate
            // move direction directly from axes
            
moveDirection Vector3(Input.GetAxis("Horizontal"), 0,Input.GetAxis("Vertical"));
            
moveDirection transform.TransformDirection(moveDirection);
            
moveDirection *= speed;
            
            if (
Input.GetButton ("Jump")) {
                
moveDirection.jumpSpeed;
            }
        }

        
// Apply gravity
        
moveDirection.-= gravity Time.deltaTime;
        
        
// Move the controller
        
controller.Move(moveDirection Time.deltaTime);
    }



واسه تشخیص برخورد هم ابتدا گیم ابجکت دلخواه رو انتخاب می کنی و add component و سپس box collider (محدوده ی مکعبی شکل) یا sphere collider( محدوده ی کره ای شکل برای شخص کردن ناحیه برخورد) میدی بهشون.
rigid body هم ندادم چون کمی مشکل ساز میشه
کد خیلی ساده هست . با کد یک کاراکتر کنترلر اضافه کردم. می تونستم دستی هم تو بخش طراحی با دکمه add component و تایپ character controller و enter اضافه کنم که خودم کدنویسی رو چون دوست داشتم با کد اضافه کردم
۰ نظر موافقین ۰ مخالفین ۰ ۲۳ شهریور ۹۴ ، ۱۸:۰۹
مدیرکل
۰ نظر موافقین ۰ مخالفین ۰ ۲۳ شهریور ۹۴ ، ۰۲:۱۵
مدیرکل
کل مطلب در RayCast خلاصه میشه.
ایده :

http://answers.unity3d.com/questions/438175/enemy-ai-detect-player-when-seen.html


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

چند فرد مسلط به یونیتی برای ساخت بازی دو بعدی پیام بدن.

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

اینو بذار تو update:
واسه چرخش:

کد:

transform.Rotate (new Vector3(0, Time.deltaTime, 0) * rotationSpeed );
به جای rotationSpeed هم سرعت دلخواه رو بده. پاراکتر اول و آخر Vector3 رو صفر دادم که x,z هستن.ما میخوام حول y بچرخه واسه همین پارامتر دوم رو هر لحظه با زمان افزایش میدیم و بردار بدست اومده رو در سرعت دلخواه ضرب می کنیم که زاویه چرخش هی زیاد میشه و همینطور می چرخه.
واسه حرکت هم : مثال:
کد:

//transform.position.Set(new_x,new_y,new_z);
transform.position.Set(transform.position.x,transform.position.y,new_z)
۰ نظر موافقین ۰ مخالفین ۰ ۱۷ شهریور ۹۴ ، ۱۹:۰۲
مدیرکل


Vector3.zero    خلاصش میشه Vector3(0, 0, 0).
Vector3.one    خلاصش میشه Vector3(1, 1, 1).

Vector3.down    خلاصش میشه Vector3(0, -1, 0).
Vector3.up    خلاصش میشه Vector3(0, 1, 0).

Vector3.forward    خلاصش میشه Vector3(0, 0, 1).
Vector3.back    خلاصش میشه Vector3(0, 0, -1).

Vector3.left    خلاصش میشه Vector3(-1, 0, 0).
Vector3.right    خلاصش میشه Vector3(1, 0, 0).


myTransform.position += myTransform.forward * moveSpeed * Time.deltaTime;
ادامه ی بحث:
http://promakers.ir/showthread.php?tid=12123&pid=125881#pid125881
۰ نظر موافقین ۰ مخالفین ۰ ۱۷ شهریور ۹۴ ، ۱۴:۵۵
مدیرکل
منبع: gameover.blog.ir



//test.Csharp
//Switch between animations of Animator component by changing the condition variable 'state'
//Author:Sajjad3011

    using UnityEngine;
    using System.Collections;
    public class test : MonoBehaviour {
        int state = 0;
        public Animator animator1;
        void Start () {
        }    
        // Update is called once per frame
        void Update () {
            if (Input.GetKey (KeyCode.LeftArrow)) {
                state = 1;
                Debug.Log("left");
            }
            if (Input.GetKey (KeyCode.RightArrow)){
                state = 2;
                Debug.Log("right");
        }
            if (animator1 == null) {
                Debug.LogError("Animator is null!");
            } else {
                 animator1.SetInteger("state", state);
            }
    
        }
    }

//S3011 
در این اسکریپت متغیر animator1 رو به صورت Public تعریف کردیم تا بتونیم بعد از اختصاص این اسکریپت، توی پنجره inspector به صورت پارامتر ورودی تنظیم کنیم.

متغیر state از کامپوننت Animator رو با فشردن کلید چپ و راست روی 1 و 2 تنظیم می کنیم و توی پنجره ی ماشین حالت Animator هم شرط یا condition ای به نام state از نوع Integer تعریف می کنیم و روی فلشی که به سمت انیمیشن سمت راست می ره می گیم اگه state مساوی(Equal) بود به 1 و روی فلشی که به سمت انیمیشن دویدن به سمت چپ می ره می گیم اگه state مساوی(Equal) بود به 2 .


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

بعد از 14 ثانیه رد تبلیغ رو بزنید لینک مستقیم فایل mp4 میاد.حجم حدود 43 مگ هست.

http://media.farsnews.com/media/Uploaded/Files/Images/1394/06/14/13940614000151_PhotoI.jpg

http://opizo.com/K3GPhx

۰ نظر موافقین ۰ مخالفین ۰ ۱۶ شهریور ۹۴ ، ۱۰:۳۱
مدیرکل
ثانیه صبر کنید سپس رد تبلیغ و بزنید تا به صفحه مورد نظر هدایت بشید. یادتون نره بدون شیلتر فکن وارد بشید:

http://opizo.com/hMhAqi


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

http://s6.picofile.com/file/8210293142/The_animator_s_survival_kit.jpg

روی لینک کلیک کنید و 14 ثانیه منتظر بمانید و سپس رد تبلیغات رو بزنید.

حجم: تقریبا 30 مگابایت

فرمت : PDF

 

http://opizo.com/tuOzcG

اگه لینک خراب بود بگید اصلاح کنیم.

۰ نظر موافقین ۰ مخالفین ۰ ۱۴ شهریور ۹۴ ، ۰۲:۴۹
مدیرکل
بهترین بازی های سال 2015


http://opizo.com/7Xxi7g


بهترین بازی های اندرویدی سال 2014 از نگاه گوگل:

http://opizo.com/C5l1PI


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

می خوای چیکار کنی با این کد؟ موبایل رو کج کنی به راست و چپ موتور یا ماشین فرمون بده به چپ و راست ؟
با این عکسا روحیه بدم بهت؟ Gyroscope

http://www.i-phone.ir/forums/uploadedpictures/8cc1d230c10801cfb2144d6bac42639f.jpg

http://www.techtilt.com/wp-content/uploads/2010/06/iPhone-4-Gyroscope-640x410.jpg


http://opizo.com/AJjJkF

۰ نظر موافقین ۰ مخالفین ۰ ۱۲ شهریور ۹۴ ، ۱۱:۴۷
مدیرکل
منبع : gameover.blog.ir
این کد سطرهای یک فایل رو که شامل لینک های وب هست از فایل 1.txt می خونه و به صورت لینک در تگ a href نشون میده :

<?php
//Link saz
//Author:sajjad3011
$file = fopen("1.txt","r");

while(! feof($file))
  {
 $myStr= fgets($file);
  echo "<a href='" . $myStr . "' >" .   $myStr . "</a><br />";
  }

fclose($file);
?>


۰ نظر موافقین ۰ مخالفین ۰ ۱۲ شهریور ۹۴ ، ۰۳:۵۱
مدیرکل
منبع :gameover.blog.ir
  1. if(!playerController.IsGrounded() && playerController.velocity.y < 0)
  2. {
  3. animation.CrossFade("FallDown", 0.5);
  4. animation["FallDown"].speed = 3;
  5. }


منبع :
http://answers.unity3d.com/questions/776750/fall-animation-when-character-is-falling.html

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

 منبع :gameover.blog.ir

به برنامه ایکلیپس برید و از منوی بالاش Help رو بزنید بعد هم Install New Software.


http://bayanbox.ir/id/3700347232681624161?view


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

منبع : gameover.blog.ir


Edit->Resources->Open Resource Folder

مسیر دیگر

Settings->Manage Resources


مسیر نصب براش ها :

AppData\Roaming\krita\share\apps\krita\brushes


---

فایل های داخل پوشه های Brush و pattern و paintoppressets رو از پوشه ی دانلودی در پوشه های متناظر مسیر AppData\Roaming\krita\share\apps\krita کپی کنید. بعدش krita رو ریست کنید و حالشو ببرید.


۰ نظر موافقین ۰ مخالفین ۰ ۰۹ شهریور ۹۴ ، ۰۵:۴۶
مدیرکل
منبع: gameover.blog.ir
برای اینکار باید به قسمت Global Game settings سربرگ Other برید.

http://s6.picofile.com/file/8209107150/disableDefautKey.jpg


البته بهتره با game maker studio کار کنید و همچنین یادتون باشه کدهای save نداریم و باید از توابع و فایل های ini استفاده کنید.
۰ نظر موافقین ۰ مخالفین ۰ ۰۷ شهریور ۹۴ ، ۱۹:۰۱
مدیرکل

 منبع :gameover.blog.ir



ctrl+shift+B

Player settings

Other settings

miminum api Level

android 2

http://s3.picofile.com/file/8208463468/buildSettingMinimumAndroidRequirement.gif


۰ نظر موافقین ۰ مخالفین ۰ ۰۳ شهریور ۹۴ ، ۲۱:۱۳
مدیرکل
منبع :gameover.blog.ir
<?php
$str = 'php is easy and powerful';
echo preg_match('/php/', $str);
?>
خروجی کد بالا برابر با 1 خواهد بود، البته 1 در اینجا یعنی کلمه مورد نظر در عبارت وجود دارد.

مثال بعدی:
- بررسی یک رشته متنی برای حرف a-z و اعداد 0-9 در JavaScript
در این مثال می خواهیم رشته متنی را در JavaScript بررسی کنیم و ببینیم آیا تنها شامل حروف a-z، اعداد 0-9 و فضای خالی است یا خیر، خواهیم نوشت:
<script type="text/javascript">
var str = 'Regex is so Simple!!';
var reg = /^[0-9A-Za-z ]*$/;
if(reg.test(str)){
    alert('مقادیر معتبر است');
}
else{
    alert('مقادیر معتبر نیست');    
}
</script>

مطالعات بیشتر(منبع webgoo)
http://webgoo.ir/154/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%DB%8C-%D8%B9%D8%A8%D8%A7%D8%B1%D8%A7%D8%AA-%D8%A8%D8%A7-%D9%82%D8%A7%D8%B9%D8%AF%D9%87-regular-expressions

۰ نظر موافقین ۰ مخالفین ۰ ۰۳ شهریور ۹۴ ، ۰۴:۱۶
مدیرکل

 منبع :gameover.blog.ir


ما توی basic4android یا بعضی زبونا یه چیز داریم به نام Exception یا همون "استثنا"ی خودمون. از این استثنا با نام خلاصه ی e هم توی سیشارپ یا بعضی زبون ها و حتی گاهی جاوا استفاده می شه.

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

 منبع :gameover.blog.ir


velocity

سرعت حرکت یا شتاب رو تعریف می کنه.سرعت دوربین+کامپوننت انیماتور+سیستم ذره ای پارتیکل(دود و جرقه و ....)+بدنه های فیزیکی جامد و سخت(rigid body)+کامپوننت character controller و .... .
۰ نظر موافقین ۰ مخالفین ۰ ۰۱ شهریور ۹۴ ، ۲۳:۴۰
مدیرکل

کپی از : gameover.blog.ir

موقعی که دارم خروجی apk می گیرم خطای زیر رو میده.این خطا برای چیه ؟

UnityException: Minimum platform required is Android 5.0 (API level 21)
[تصویر: android5_0_api_level_21.jpg]

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

منبع : gameover.blog.ir


توی رویداد key press Any key از گیم میکر استادیو اینو بذارید :


کد :

window_set_captionstring(keyboard_lastkey));//room_caption = string(keyboard_lastkey) ;
۰ نظر موافقین ۰ مخالفین ۰ ۰۱ شهریور ۹۴ ، ۰۲:۱۶
مدیرکل