امتیاز موضوع:
  • 6 رأی - میانگین امتیازات: 4.67
  • 1
  • 2
  • 3
  • 4
  • 5

[-]
کلمات کلیدی
برنامه نویسی و راهکارهایی در یونیتی

برنامه نویسی و راهکارهایی در یونیتی
#71
استفاده از device camera یا دوربین موبایل در یونیتی:

1.یک New Project ایجاد کنید.

2.دوربین اصلی Main Camera رو انتخاب کرده و خصوصیت Transform رو در inspector اینطوری تنظیم کنید:

Position X= -90 Y=785 Z=0 Rotation X=90 Y=90 Z=0 Scale X=1 Y=1 Z=1

resim
3.یک پلن ایجاد کنید : GameObject — > Create Other — > Plane


4.دوربین اصلی رو انتخاب کرده و این تنظیمات رو براش انجام بدید :

Position X=0 Y=0 Z=0 Rotation X=0 Y=0 Z=0 Scale X=100 Y=100 Z=100

Tag=Player


سپس یک c# script به نام “CameraController” ایجاد کرده با این کد:

کد php:
using UnityEngine;
 
using System.Collections;
 
 public class 
CameraController MonoBehaviour
 
{
         public 
WebCamTexture mCamera null;
         public 
GameObject plane;
 
         
// Use this for initialization
         
void Start ()
         {
                 
Debug.Log ("Script has been started");
                 
plane GameObject.FindWithTag ("Player");
         
                 
mCamera = new WebCamTexture ();
                 
plane.renderer.material.mainTexture mCamera;
                 
mCamera.Play ();
         
         }
     
         
// Update is called once per frame
         
void Update ()
         {
     
         }
 } 
}

5.اسکریپت رو save کرده و بندازید روی “Plane” GameObject .

بازی رو اجرا کنید. تصویر 90 درجه چرخیده نشون داده میشه.اما روی موایل تصویر درست نشون داده خواهد شد:
resim
موفق باشید .

منبع: http://answers.unity3d.com/questions/706...c-scr.html

مترجم: sajjad3011
تشکر یادت نره بی زحمت
https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.



پاسخ
#72
توابع و متدهای یونیتی رو می خوام بهتر درک کنم.از کجا شروع کنم ؟

این اینجا : Help->Scripting Reference

resim
https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.



پاسخ
#73
میشه زاویه چرخش مبایل در یونیتی به دست اورد
پاسخ
#74
فعلا اینو ببین می فهمی یا نه :
http://answers.unity3d.com/questions/434...to-fo.html
تو پرسش و پاسخ بپرس چون یکم سرم شلوغه سوالای سنگین رو وقت نمی کنم تحقیق کنم.
https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.



پاسخ
#75
توضیح تابع Physics.Raycast و ثابت Mathf.Infinity در unity3d/ تشخیص موانع در یونیتی/جلوگیری از فرورفتن در دیوار یا .... با استفاده از ری کست که دویست بار گفته شده teeth


شکل کلی:
کد:
public static bool Raycast(Vector3 origin, Vector3 direction, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers);
من با مثال یاد می دم:

کد زیر می گه روبرو رو ببین. اگه تا فاصله ده متری جلوی ما چیزی بود پیام بده:
کد php:
using UnityEngine;
using System.Collections;

public class 
ExampleClass MonoBehaviour {
    
void Update() {
        
Vector3 fwd transform.TransformDirection(Vector3.forward);
        if (
Physics.Raycast(transform.positionfwd10))
            print(
"There is something in front of the object!");
        
    }


توضیح میدم: transform.position موقعیت خودمون هست.(موقعیت گیم ابجکتی که اسکریپت رو می اندازیم روش)

fwd از نوع بردار سه بعدی (کلاس Vector3)تعریف شد خودش شناخته میشه(منظورم اینه که توابع up و left و right و غیره رو از کلاس بردار سه بعدی به ارث می بره)

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

آخرین پارامتر هم حداکثر فاصله هست که دادیم 10 یعنی تا شعاع ده متری از جلومون هر چی وجود داشت از دیوار گرفته تا آدم یا هر جونوری بود تشخیص میده. ما اینجا گفتیم اگه چیزی جلومون بود پیام بده که بفهمیم تابع داره درست عمل می کنه. شما می تونید بگید مثلا سرعت صفر بشه که توی دیوار نره یا مثلا بعدش کدی بنویسید گه بیاد تگ tag شی روبرو رو بخونه و یا حمله کنه یا هر چیز دیگه ای که کدنویسی اضافه باید کنید اونجا.

نکته : به جای عدد 10 می تونیم Mathf.Infinity بذاریم.

Mathf.Infinity یه ثابت تعریف شده هست.خود Infinity به معنی بی نهایت و عضوی از کلاس ریاضی Mathf هست.

یونیتی اینو ساخته واسه اینکه بعضی اوقات نیاز داریم تا اون دور دورا رو رصد کنیم یعنی تا حتی 5 یا 6 کیلومتر اونورتر توی بازی رو رصد کنیم که اگه در شعاع دید ما و در روبروی ما چیزی بود detect کنه (تشخیص بده)

حالا چرا روبرو؟ چون گفتیم Vector3.forward

آیا میشه جهت های دیگه مثل بالا یا چپ و راست و پایین و .... رو بررسی کرد. آره اونم میشه. وقتی بنویسید Vector3 و نقطه بزنید خودش دستورات رو لیست می کنه مثل تابع up یا left یا right و الی آخر.

اگه اصلا بخوایم توی زاویه خاص پلیر چک کنیم باید چیکار کنیم؟

چطوری؟

اینطوری(واسه زاویه 63 درجه ):
کد php:
float angleToCheck =63f;
        if(
Physics.Raycast(transform.positionangleToCheck,out hit,10f)
        {
        ...
        } 

یا اینطوری:

دایرکشن یعنی جهت که بهش زاویه می دیم(زاویه همون angle هست)

مثل این:

کد php:
direction =newVector3(Mathf.Cos(angle),Mathf.Sin(angle),0f); 

کد بالا هم کد سیشارپی بود واضح هست using اون بالا اومد بگو سیشارپه. import اومد بگو جاوا هست . uses اومد بگو دلفی یا پاسکال هست و اگه بقیه رو بدو. امیدوارم کامل درک کنید و لذت ببرید.تشکر کن بی روح نباش. تشکر تو یه نفر هم می تونه روحیه ی انجمن باشه.آره داداlol

https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.



پاسخ
#76
ساخت آینه در یونیتی(ساخت آینه ی ماشین در یونیتی) با استفاده از تکنیک render to texture:
resim
http://promakers.ir/showthread.php?tid=8...9#pid98169
ساخت رفلکشن/ساحت refrection و انعکاس آینه در یونیتی:
resim
http://wiki.unity3d.com/index.php/MirrorReflection4

زوم کردن دوربین اسلحه در یونیی:
برای اینکار همون render to texture که گفتم رو یاد بگیرید.
یه دوربین مخفی بذارید دقیقا روی نوک روی اسلحه که همجهت با جهت اسلحه باشه و زیرشاخه اسلحه باشه که اسلحه هر طرف می ره دوربین هم همونو بگیره و بعدش یک plane بذارید بالای اسکرین که همیشه تو صحنه باشه.
بعدش مثلا توی فشردن کلید w کدی بنویسید که دوربین بره جلو و توی S کدی که دوربین بیاد عقب(و یک حداقل و حداکثر مقداری در نظر بگیرید برای جلو و عقب بردن دوبین). موفق باشید
https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.



پاسخ
#77
اجرای کد در حالت غیر اجرا/اجرای کد قبل از play/اجرای اسکریپت در محیط editor در یونیتی قبل از play بازی :
برای اینکار کد [ExecuteInEditMode] رو قبل از شروع کلاس اصلی اسکریپت می ذاریم.
کد php:
[ExecuteInEditMode// Make code live-update even when not in play mode
public class scriptNameMonoBehaviour 
https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.



پاسخ
#78
(14/6/1394، 04:56 عصر)sajjad3011 نوشته است: ساخت آینه در یونیتی(ساخت آینه ی ماشین در یونیتی) با استفاده از تکنیک render to texture:
resim
http://promakers.ir/showthread.php?tid=8...9#pid98169
ساخت رفلکشن/ساحت refrection و انعکاس آینه در یونیتی:
resim
http://wiki.unity3d.com/index.php/MirrorReflection4

زوم کردن دوربین اسلحه در یونیی:
برای اینکار همون render to texture که گفتم رو یاد بگیرید.
یه دوربین مخفی بذارید دقیقا روی نوک روی اسلحه که همجهت با جهت اسلحه باشه و زیرشاخه اسلحه باشه که اسلحه هر طرف می ره دوربین هم همونو بگیره و بعدش یک plane بذارید بالای اسکرین که همیشه تو صحنه باشه.
بعدش مثلا توی فشردن کلید w کدی بنویسید که دوربین بره جلو و توی S کدی که دوربین بیاد عقب(و یک حداقل و حداکثر مقداری در نظر بگیرید برای جلو و عقب بردن دوبین). موفق باشید


البته اگه میخواین کاملا مثل اینه بشه یعنی تصویر توش برعکس بشه باید موقع Export کردن مدل UV هاشو اول Flip کنین .
[url=http://promakers.ir/showthread.php?tid=13846]اولین کاراکتر من در زیبراش[/url]
پاسخ
#79
جابجا کردن اشیا در یونیتی/درگ ابجکت در یونیتی/حرکت اجسام از بالا در یونیتی/درگ گیم ابجکت:
http://promakers.ir/showthread.php?tid=10143
https://telegram.me/gameoverblog
بیشتر از آنچه برای موفق بودن تلاش می کنی برای با ارزش بودن تلاش کن.آلبرت انیشتین.



پاسخ
#80
تغییر جهت جاذبه در یونیتی
تو این آموزش کوتاه میخوایم جهت جاذبه رو در یونیتی عوض کنیم
کد سیشارپ
کد:
Vector3 gravity;

void Start()
{
     gravity = Physics.gravity;
}

void FixedUpdate()
{
     Physics.gravity = gravity;
    
     if(somethingIsTrue)
     {
         gravity.x = 0;
         gravity.y = -25;
         gravity.z = 0;
     }
}
توی somethingIsTrue هم کد مورد نظر رو مینویسیم
در سه خط آخر جهت جاذبه در سه محور رو تعیین میکنیم که در این کد جاذبه -۲۵ به سمت y هست یعنی بیست و پنج رو به پایین
منبع
http://answers.unity3d.com/questions/470...ction.html
[url=http://www.psnprofiles.com/sepehr_star][img]http://card.psnprofiles.com/1/sepehr_star.png?5159[/img][/url]
پاسخ




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