«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
Occlusion Culling در یونیتی چیست ؟ بهینه سازی بازی در یونیتی :: گیم اور _ بازیسازی با unity + مطالب متفرقه

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

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

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

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

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

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

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

منبع:gameover.blog.ir

Occlusion Culling باعث میشه اجسام پشت دوربین رندر نشه و سرعت بازی رو خیلی بالا میبره و باعث کارایی بی نظیری در رندر میشه و حتی برای بازی های اپن ورد  open world هم پاسخگو هست.

--

بعضی اوقات می خوایم فقط صحنه هایی که در محدوده ی دوربین هستن یا توی یک محوطه مکعبی دلخواه هستن رندر بشه فقط، تا سرعت بازی بره بالا یا بهینه تر بشه و پردازش اضافی برای قسمت هایی که پشت دوربین هست جهت رندر انجام نشه. اگه اشتباه نکنم طبق توضیحات سایر دوستان به این کار می گیم Occlusion system .

آموزش فارسی رو می تونید در دو تا فیلم آپارات ببینید :


لینک مستقیم فیلم اول :
http://opizo.com/UyaQH0

لینک مستقیم فیلم دوم :
http://opizo.com/OgVS8z


توضیحات اضافی:

یکی از تکنیک های مهم بهینه سازی بازی های بزرگ و بهبود فریم ریت frame rate در یونیتی و سایر گیم انجین ها:

یکی از تنظیمات occlusion culling و یکی از تنظیمات دیگه گزینه ی near دوربین هست.

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

تکنیک دیگه اینه که بیایم خودمون اسکریپت بنویسیم ابتدا آرایه ای بسازیم که کل اشیای صحنه داخلش باشه.(یعنی از نوع GameObject باشه)

سپس Tag هر گیم ابجکت رو چک کنیم اگه غیر از tag زمین و خودمون بود شرط دوم رو اجرا کنیم و اون اینه :

با تابع Vector3.Distance به الگوی


public static float Distance(Vector3 a, Vector3 b);


فاصله ی دوربین رو تا شی رو چک می کنیم.
اگر فاصله کمتر از میزان دلخواه بود گیم ابجکت رو setActive(true یا فعال وگرنه setActive(false یا غیر فعال کنه.
با استفاده از این تکنیک هر چقدر بازی شما بزرگ باشه به شدت افزایش کارایی و بهینه سازی رو خواهیم داشت.
این یکی از حقه های بسیار مهمی هست که اکثر بازی ساز های بزرگ ازش بهره می برن.
با تشکر از رئیس :)



یک آموزش دیگه که از سایت یونیتی گرفتیم و زیپ کردیم روی پیکو فایل از اینجا دانلود کنید:
http://gameover.blog.ir/1394/11/17/%D8%A2%D9%85%D9%88%D8%B2%D8%B4-Occlusion-Culling-Occlusion-Area-%D8%B2%DB%8C%D9%BE-%D8%B4%D8%AF%D9%87-%D8%A7%D8%B2-%D8%B3%D8%A7%DB%8C%D8%AA-%D8%A7%D8%B5%D9%84%DB%8C-%DB%8C%D9%88%D9%86%DB%8C%D8%AA%DB%8C
موافقین ۰ مخالفین ۰ ۹۴/۱۱/۰۵
مدیرکل

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی