<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>نوشته های سامیار محمدیان</title><link>https://virgool.ir/feed/@samyar.mohammadian1388</link><description></description><language>fa</language><pubDate>2026-11-11 12:00:27</pubDate><image><url>https://files.virgool.ir/upload/users/910181/avatar/avatar.png</url><title>سامیار محمدیان</title><link>https://virgool.ir/@samyar.mohammadian1388</link></image><item><title>کلاس Mathf بخش 1</title><link>https://virgool.ir/@samyar.mohammadian1388/کلاس-mathf-بخش-1-dmnak3kveadl</link><description>سلام دوستان سامیار محمدیان هستم با بخش اول توضیحات کلاس Mathfتوجه کنید که بخاطر یکسری مشکلات ویرگول کد ها یکسری از علامت هاش برعکس یا جا به جا شدهترجمه شده از داکیومنت یونیتی...دوستان در واقع کلاس های Math و Mathf یکسری کلاس هستن که کار های ریاضیاتی جالبی رو انجام میدن!فعلا با Mathf کار داریمتابع Absمیاد عدد منفی رو تبدیل به عدد مطلق (مثبت میکنه)نمونه کد داکیومنت یونیتی?using UnityEngine;public class MathAbsExample : MonoBehaviour{    void Start()    {        // prints 10        Debug.Log(Mathf.Abs(-10));    }}تابع Ceilمیاد کوچک ترین عدد صحیح بزرگ تر یا مساوی رو بر میگردونهنمونه کد داکیومنت?using UnityEngine;using System.Collections;public class ExampleClass : MonoBehaviour{    void Example()    {        // Prints 10        Debug.Log(Mathf.Ceil(10.0F));        // Prints 11        Debug.Log(Mathf.Ceil(10.2F));        // Prints 11        Debug.Log(Mathf.Ceil(10.7F));        // Prints -10        Debug.Log(Mathf.Ceil(-10.0F));        // Prints -10        Debug.Log(Mathf.Ceil(-10.2F، ));        // Prints -10        Debug.Log(Mathf.Ceil(-10.7F));    }}تابع Clampشما با این تابع میتونید مقدار حداقل و حداکثر یک اعشار رو تعیین کنید.این تابع مقدار های حداقل، حداکثر و مبنا رو ازتون میگیرهدر واقع  حداقل و حداکثر بر مبنای مقدار اعشار مبنا تعیین میشن، مقدارش رو فلوت پیش فرض و اولیه (مقدار اولیه) قرار بدید مگر اینکه بخواید کار خاصی بکنید، به هر حال حداقل و حداکثر بر مبنای این هست.نمونه کد داکیومنت یونیتی?using UnityEngine;// Mathf.Clamp example.//// Animate a cube along the x-axis using a sine wave.// Let the minimum and maximum positions on the x-axis// be changed.  The cube will be visible inside the// minimum and maximum values.public class ExampleScript : MonoBehaviour{    private float xMin = -1.0f, xMax = 1.0f;    private float timeValue = 0.0f;    void Update()    {        // Compute the sin position.        float xValue = Mathf.Sin(timeValue * 5.0f);        // Now compute the Clamp value.        float xPos = Mathf.Clamp(xValue, xMin, xMax);        // Update the position of the cube.        transform.position = new Vector3(xPos, 0.0f, 0.0f);        // Increase animation time.        timeValue = timeValue + Time.deltaTime;        // Reset the animation time if it is greater than the planned time.        if (xValue &gt; Mathf.PI * 2.0f)        {            timeValue = 0.0f;        }    }    void OnGUI()    {        // Let the minimum and maximum values be changed        xMin = GUI.HorizontalSlider(new Rect(25, 25, 100, 30), xMin, -1.0f, +1.0f);        xMax = GUI.HorizontalSlider(new Rect(25, 60, 100, 30), xMax, -1.0f, +1.0f);        // xMin is kept less-than or equal to xMax.        if (xMin &gt; xMax)        {            xMin = xMax;        }        // Display the xMin and xMax value with better size labels.        GUIStyle fontSize = new GUIStyle(GUI.skin.GetStyle(&#34;label&#34;));        fontSize.fontSize = 24;        GUI.Label(new Rect(135, 10, 150, 30), &#34;xMin: &#34; + xMin.ToString(&#34;f2&#34;), fontSize);        GUI.Label(new Rect(135, 45, 150, 30), &#34;xMax: &#34; + xMax.ToString(&#34;f2&#34;), fontSize);    }}تابع Maxمیاد بزرگ ترین عدد در رنج چند عدد رو بر میگردونه.نمونه کد داکیومنت یونیتی?using UnityEngine;public class ScriptExample : MonoBehaviour{    void Start()    {        // prints 2.4        Debug.Log(Mathf.Max(1.2f, 2.4f));    }}تابع Minمیاد بزرگ ترین عدد در رنج چند عدد رو بر میگردونه.نمونه کد داکیومنت یونیتی?using UnityEngine;public class ScriptExample : MonoBehaviour{    void Start()    {        // prints 1.2        Debug.Log(Mathf.Min(1.2f, 2.4f));    }}دوستان فعلا خدا نگه دارتون باشه امیدوارم مفید واقع شده باشه!</description><category>سامیار محمدیان</category><author>سامیار محمدیان</author><pubDate>Sat, 09 Oct 2021 13:41:28 +0330</pubDate></item><item><title>نکات برنامه نویسی بهینه و تمیز در سی شارپ (تقریبا مباحث مربوط به یونیتی)</title><link>https://virgool.ir/@samyar.mohammadian1388/نکات-برنامه-نویسی-بهینه-و-تمیز-در-سی-شارپ-تقریبا-مباحث-مربوط-به-یونیتی-ayyjwjvlupqe</link><description>نکات برنامه نویسی تمیز و بهینه!درود دوستان سامیار محمدیان هستم.میخوایم چند نکته برنامه نویسی تمیز و بهینه رو مرور کنیم...یکم کوتاهه این مطلب و مختصر و مفید اشاره کردیم!نکته اول:[SerializeField]این رو بالای متغیر بذاریدچیکار میکنه؟ میاد متغیر های private رو داخل Inspector نمایش میده تا مقدارش رو اونجا بدید ولی خب سطح دسترسی public رو نداریدنکته دومبعضی ها میان بجای اینکه بنویسن مثلا private int a می‌نويسن int aهر دوشون private حساب میشنولی خب private int a خیلی تمیز ترهنکته سومبی دلیل از public استفاده نکنید!نکته چهارمالکی نیاید یک کار رو سی بار انجام بدید! مثلا نیاید برای سی تا زامبی سی بار هوش مصنوعی تعریف کنید، بیاید از this استفاده کنید و هوش مصنوعی رو برای this تنظیم کنید و به تمام زامبی ها بدید.فعلا بدرود دوستان</description><category>سامیار محمدیان</category><author>سامیار محمدیان</author><pubDate>Sat, 09 Oct 2021 09:34:11 +0330</pubDate></item><item><title>آموزش تغییر ریل تایم متغیر ها در یونیتی! با Remote Config</title><link>https://virgool.ir/@samyar.mohammadian1388/آموزش-تغییر-ریل-تایم-متغیر-ها-در-یونیتی-با-remote-config-kqujqqe8rl46</link><description>سلام دوستان، توجه کنید یکم اوضاع ترتیب کد ها و آکولاد ها بخاطر اینکه داریم اینجا مینویسیم یکم جا به جا شدهسامیار محمدیان هستم با توضیح استفاده از ریموت کانفیگ (Remote Config)در واقع Remote Config یک پکیج هست که توسط یونیتی رجیستر شده و تو پکیج منیجر موجود هست. این پکیج به چه دردی میخوره؟ ?با این پکیج میتونید به صورت ریل تایم و لحظه ای متغیر هاتون رو تغییر بدید!خب بریم سراغ کار باهاش...اول از تو پکیج منیجر، بخش Unity Registry پکیج Remote Config رو نصب کنید.بعد از این کار باید روی دکمه شبیه ابر (تو یونیتی 2021 به قبل سمت راست بالا و تو 2022 به بعد سمت چپ بالا هست) بزنید تا یکسری گزینه براتون بیاد.بعدش گزینه Cloud build رو روشن کنید.توجه کنید که حتما قبلش لاگین کرده باشید و فیلتر شکن روشن باشه، برا من فقط ویند اسکرایب جواب داد.چند بار باید سعی کنید تا وارد تب Cloud build بشید و روشنش کنید، کلا فارغ از فیلتر شکن باید اینقد باهاش ور برید تا باز بشه و روشن کنید گزینه اش رو.حالا از تب Window پنجره Remote Config رو اد کنید، همونطور که می‌بینید تقریبا نیازی به توضیح نداره! متغیر رو اد میکنید و نوع و مقدارش رو میدید و Push رو می‌زنید.و برای اینکه از این متغیر ها داخل بازی استفاده کنیم بریم با هم یه پروژه محور داشته باشیم!برید تو Remote Config یک متغیر استرینگ اد کنید و مقدارش رو Hello World! بذارید.بعد یک اسکریپت بسازید و این لایبرری ها رو توش اد کنید?using UnityEngine.UIusing Unity.RemoteConfigحالا برید این متغیر ها رو تعریف کنید?public struct UA { }public struct AA { }public Text Message;در واقع UA مخفف userAttributes و AA مخفف appAttributes هستکه کار های کانکت شدن یوزر و برنامه به ریموت کانفیگ رو انجام میدن.و اون متغیر Text هم یک Text هست که تو ادیتور بسازید، مقدار متغیرش رو همون تکستی که تو ادیتور ساختید قرار بدید. حالا این کد رو بزنید?private void Awake(){ ConfigManager.FetchConfigs&lt;UA, AA&gt;             (new UA(), new AA());}تبریک! با این کد برنامه و یوزر به ریموت کانفیگ کانکت شدنحالا اصل کار?Message.text = ConfigManager.appConfig.GetString(&#34;String Name&#34;);اینو تو تابع Start بزنید در واقع String Name اسم همون استرینگی هست که تو تب Remote Config تعریف کردیدخب دوستان تبریک! هم اکنون اگه خروجی بگیرید میتونید با تغییر مقدار متغیر استرینگی که در تب Remote Config تعریف کردید به صورت ریل تایم مقدار تکست رو تغییر بدید! فقط یادتون نره دکمه Push رو بزنید!این مقاله هم یکم کامل تره ولی خب بعضی کد هاش قدیمیه و تو نسخه ها جدید ریموت کانفیگ یا تغییر کرده یا نیازی نیست که بزنید: https://www.red-gate.com/simple-talk/development/dotnet-development/how-to-use-unitys-remote-config/✏️سامیار محمدیاننکته مهم در رابطه با چنل</description><category>سامیار محمدیان</category><author>سامیار محمدیان</author><pubDate>Sat, 09 Oct 2021 09:31:54 +0330</pubDate></item><item><title>کار با انیمیشن در یونیتی</title><link>https://virgool.ir/@samyar.mohammadian1388/کار-با-انیمیشن-در-یونیتی-uegfbuy9qedz</link><description>سلام دوستان. سامیار محمدیان هستم با یه مقاله کاربردی. اینجا یاد میگیرید چطور با انیمیشن هاتون هر کاری خواستید بکنید. ?کد توقف و پخش انیمیشن میخوای؟ بفرما://For playing the animation&#xA; gameObject.GetComponent&lt;Animator&gt;().Play(); &#xA; //or&#xA; gameObject.GetComponent&lt;Animator&gt;().enable = true; &#xA; &#xA; //For stop the animation&#xA; gameObject.GetComponent&lt;Animator&gt;().enabled = false;به همین سادگی  برای منم جالب بود. میخوای یه انیمیشن پشت سر هم اجرا بشه یا نشه؟ تیک لوپ رو بذار و بردار. میخوای بفهمی کی انیمیشن تموم شده بدون ایونت؟ ? تایمر بزنیه فلوت تعریف کن به نام Timer.این کدو بزن بعدش:Timer += Time.deltaTimeمیخوای معکوس باشه؟ به جای به علاوه علامت منها بزن. سوالی داشتی بگو این زیر ادیت بزنیم. ❤️?</description><category>سامیار محمدیان</category><author>سامیار محمدیان</author><pubDate>Wed, 16 Jun 2021 21:06:55 +0430</pubDate></item></channel></rss>