یه سوال اساسی.
برای یه بازی اول شخص چجوری میشه نور رو روی تفنگ Fix کرد.
یعنی یه جایی از تفنگ رو مثل چراغ قوه کرد بعد خودش با تکون خوردن نورش رو هم تکون بده و نور باعث بوجود آمدن سایه های دینامیک بشه.
Printable View
یه سوال اساسی.
برای یه بازی اول شخص چجوری میشه نور رو روی تفنگ Fix کرد.
یعنی یه جایی از تفنگ رو مثل چراغ قوه کرد بعد خودش با تکون خوردن نورش رو هم تکون بده و نور باعث بوجود آمدن سایه های دینامیک بشه.
بهتره برای این کار یه کمپوننت از نوع Light برای اون قسمتی که قراره چراغ قوه بشه اضافه کنی.نقل قول:
در مورد کامپوننت میشه یکم توضیح بیشتر بدین/
راستی از اسکریپت هایی که میتونن نور رو Attach کنن میشه راحت استفاده کرد؟
بعد اونوقت میشه به نورش افکت های خاص داد؟
مثلاً شاید بخوام یه مشعل درست کنم اونوقت هم پارتیکل باید اتچ کنم هم نورش باید افکتی داشته باشه که ثابت نمونه و نورش به حالت آتیش باشه و هم دقیق با انیمیشن های مشعلم حرکت کنه.
محدودیتی که تو اینجا برام بوجود نمیاد؟
*ویرایش:
مثلاً میتونم از این استفاده کنم ولی با موقعیت متغیر؟
lightGameObject.transform.position =Vector3(0, 5, 0);
یا اسکریپت خاصی میخواد؟
نه نیازی به برنامه نویسی نیست.نقل قول:
از منوی کمپوننت قسمت Rendering گزینه ی Light.
Light رو فقط میتونی بهش lens flare بدی.
کامپوننت یه سری مشخصاته که به آبجکتت میدی.نقل قول:
در مورد کامپوننت میشه یکم توضیح بیشتر بدین/
مثلا داشتن نور یا یه دوربین، یا داشتن فیزیک یا mesh و ...
در واقع یه گیم آبجکت از چند تا کمپوننت تشکیل شده.
پس کمپوننت ها در کنار هم میشن یه گیم آبجکت.
مشخصات و رفتار یه آبجکت.
نمیدونم خوب توضیح میدم یا نه :31:
آهان فهمیدم.
ولی اینجوری که نمیشه بهش افکت یا برنامه خاصی داد.
مثلاً میخوام نور آتیشم به صورت رندم 5 میلیمتر جا به جا بشه و هر بار برگرده سر جای اولش.
تازه اینجوری کلاً لایت میشه در صورتی که مشعل فقط بالاش نور داره.
حالا چجوری پارتیکل بندازم برای آتیشش.
پارتیکل ساختن رو باید بلد باشی . تا چه حدی کار کردی ؟نقل قول:
چون کلی پارامتر داره و باید خودت کار کنی و یادبگیری.
اینجا چه جوری بت بگم آتیش بسازی :18: :31:
یه سری آتیش خود یونیتی آماده داره، اونا رو دیدی ؟
پیشنهاد میدم آموزش پارتیکل تریدی باز رو ببینی.
پارتیکل میسازم برات مثل هلو :31:
فقط چجوری روی مشعلی که قراره توی دست پلیر باشه اتچش کنم ؟؟؟
من خودم از ورژن 2.5 یا 2.6 با یونیتی بودم ولی خیلی باهاش جدی کار نکردم برای همینم کارهای ابتداییش رو بلدم ولی از همونا توی کارهای پیچیده تر نمیتونم خوب استفاده کنم.
خب اتچش کن دیگه :31:نقل قول:
خب مشعل رو چه جوری رو دست پلایر اتچ کردی ؟ اینم اونجوری اتچ کن!
ولی اگه کمپوننت باشه خودش اتچ میشه.
مثلا یه نور گذاشتی، خب نورتو ببر زیر مجموعه ی مشعل، توی پنل اسمشو درگ کن ببر زیر مشعل :20::31::20:
خوب نبودم يه مدت عذر مي خوام
دوست عزيز اقاي مجيد . برين دوتا پست قبل اختار منو نگاه كنيد
بگذريم
براي flare داشته باشي ميتوني يه امپتي ابجكت بسازي و از السكريپت براش flare تعريف كن (اينطوري دستت باز تره )
با کد زیر یه اسکرین شات از صحنه میگیرم که در پوشه save ذخیره میشه .
کد:function OnMouseDown () {
if(active_bt ==1)
Application.CaptureScreenshot("Assets/save/Screenshot.png");
}
}
حالا میخوام با یه دستور همین شات رو به یه آبجکت نسبت بدم .
چطوری میشه این کار رو کرد؟
منظورم اینه که از همون آدرس قبلی اتوماتیک شات رو به یه آبجکت نسبت بده.
ممنون:20:
خيلي گنگ منظورتو بيان كردي
اما اگه درست فهميده باشم اينجوري كن ....
خوب يه mousover بزار بالاش كه ماوس اومد تو ابجكتي كه اين اسكريپت هست برات شات بگيره
شات رو نميشه به ابجكت نسبت دادنقل قول:
منظورم اینه که از همون آدرس قبلی اتوماتیک شات رو به یه آبجکت نسبت بده.
ممنون [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
مگه x y z با u v w اه ؟
اما اگه منظورت اينه كه اينو تكسچر كني رو آبجكتت از كد renderer.material استفاده كن و Maintexture رو بكن اين
عزیز [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
اسکرین شات از صفحه میگیرم ، با این مشکلی ندارم .
مشکل اینه که همین شات رو میخوام به عنوان تکسچر بر روی آبجکت دلخواه به صورتreal time داشته باشم.
کار با این کد رو هم میدونمrenderer.material
ولی نمیدونم چطوری باید بهش آدرس پوشه ای که اون اسکرین شات داخلش هست رو به این دستور renderer.material بدم.
مشکلم فقط دادن آدرس تکسچر به متریال به صورت کد هست. همین.
من حدس میزنم اگه بتونی آدرس جای تکسچر اون مدل رو بدی به عنوان جایی که شات ذخیره میشه خودش وقتی جایگزین بشه اتوماتیک عوض هم میشه دیگه,نمیشه؟
راستی مشکل من هم حل شد ممنون ازتون بابت راهنمایی ها.
من قبلا آدرس داده بودم يادم نمياد دقيق چطوري بر طرفش كردم
اما يادمه راه حلش اين بود كه يه 2dtexture اول معرفي كني به عنوان وريبل بعد ...
سب كن برم ببينم فايلم كجاس
آها اينم از اين
کد:Texture2D asdsad = Resources.Load(" adres ");
گیم استدیو جان منظور شما در واقعه render texture هست برای اینکارشما شما ابتدا یک camera جدید میسازی دوربین جدید در جا ی مورد نظر قرار میدی بعد در قسمت project یک render texture ایجاد کرده و سپس دوربین ساخت شده رو انتخاب و در قسمت تنظیمات target texture اون render texture انتخاب کن حالا کافیه هر متریال مورد رو به جای تکسچر bmp و غیره اون render texture بزاری.
من نرم افزارو دانلود کردم. ولی کرک می خواد. اگه میشه کرکشو بدین. آموزش مقدماتی شو هم بدین ممنون میشم ( آموزشی برای ساخت یک بازی ساده بابهاش)
این فایل لودر 3.3.0f.4 هست که آخریشه منم استفاده کردم خوب بود.
فقط میریزیش اونجایی که نرم افزار نصب شده(اونجایی که فایل EXEاش هست)بعد این رو اجرا میکنید خودش یونیتی رو باز میکنه و به صورت پرو میشه.
دانلود مستقیم با حجم 18 کیلوبایت:
راستی قبلش باید به صورت Indie رجیسترش کرده باشین یعنی رجیسترش کنید اینترنتی رو بزنید یه صفحه میاد میلتون رو بنویسید و حالت غیر حرفه ای رو انتخاب کنید بعد از اینکه تموم شد یونیتی باز میشه بعدش هم میبندینش و لودر رو باز میکنین.کد:http://uploadtak.com/images/bzt8jneyq0rafvkjlks.rar
ممنون
من فری ریجستر کردم. پچ هم کردم ( کرکش) ولی وقتی می خوام برم تو نرم افزار ارور باگ میده. و دوتا گزینه برای ارسال باگ برای سازنده و ارسال نکردن میاد ( don't send خود کامپیوتر نه! یک ارور مخصوصه نرم افزار)
به روش لودر انجام دادین یا خودتون جدا کرک کردین؟؟؟
احتمالاً اگه خودتون کرک کرده باشین اینجوری شده باشه.
مطمئن هستین لودر رو جای درست ریختین؟
من توی این آدرس کپی کردم : C:\Program Files\Unity\Editor
بعدش ریجستر کردم فری. این ارور رو میداد. گفتم شاید کرک کنم درست شه ، روی کرک زدم ولی بازم همین مشکل رو داشت. حالا پاک می کنم یک دور دیگه میریزم ببینم چی میشه.
آقا یک مشکل جدی من این مدل با bridge تو cinema4d ساختم وقتی میارم تو یونتی یک تکش هست یک تکش نیست این همون مشکل culling هست که تو udk با گذشتن تیک 2 sides حل میشه حالا همین چیزی برای یونتی وجود داره
مدل در cinema4d:
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
نتیجه در یونتی :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
ببين تخصصي اگه نگاه كنيم 2side يعندي اينكه كل ابجكتت يه بار كپي ميشه و flipnormal ميشه (اين يعني دو برابر فشار رو رندر )
ابجكتي كه ساختي نبايد رو حالت 2side ميرفتي جلو اينطوري نميديدي كجاهاش flip ميخوري
پس برگرد تو c4d از حالت ديد 2d خارجش كن بعد اونجاهايي كه flip لازم داره تيره تره بايد انتخاب كني و flip normal رو بزني
بابا احسان جان من تیک 2 sides اصلا تو c4d ندیدم .به نظر احسان جان چیکار کنم خیلی براش زحمت کشیده ام.
احسان جان دمت گرم از نوع بخاری دوستانی که با cinema4d دچار مشکل شدند:
برای حل این مشکل در حالت ویرایشی Polygon Tools رفته و تمامی face ها که مشکل دارند رو انتخاب کرده و سپس از گزینه Functions گزینه align normal رو انتخاب کنند.
بازم ممنونم احسان جان.
ای بابا من می خوام کارو با این نرم افزار شروع کنم ولی باگ ریپورتر میاد همش برام! هیچکی نمی دونه باید چیکار کنم؟؟؟؟
شما از نسخه ای استفاده می کنید؟
از نسخه ی 3.3
کرک هم از دوستمون گرفتم.
من 3.2 دارم مشکلی نداره شما پوشه مثال یونتی camp در پوشه my documnet پاک کن شاید درست شد.
چنین پوشه ای نیست!
شاید مثال خود یونتی رو نصب نکردی ؟
كسي بلده چطوري يه عدد رو ميشه نرم كرد به اصطلاح damp كرد
منظورت احسان جان نفهیدم.میشه بیشتر توضیح بدی.
چیه یونیتی؟ نه!نقل قول:
مبین جان شما وقتی یونتی رو نصب می کنی 3 تیک در قسمت custom می بینی یکش خود یونتی و دیگری monoDeploymentو یک دیگه اش bootcamp هست که مثال خود یونیتی که بازی سوم شخص یک سربازه هست که شما موقع نصب تیک اون رو بردار .
میشه یک عکس از ایرور برام بزاری.
منظور نرم كرنه عدده ( value damping )
كارش اينه كه يه عدد بهش ميدي كه تغير ميكنه مثلا از يك تبديل ميشه به 30 اين بابا بر ميداره از يك ميره رو دو ميره رو سه ... ميره رو سي تو مدت زماني كه ميدي
باعث ميشه حركت هاي يه دفعه اي نرم بشن .
توضيح در باره value dampign
کد:http://en.wikipedia.org/wiki/Damping
احسان جان اینکه که با اسکریت راحت قابل انجام هست کافیه تو تابع اینو کدها رو بنویسی :
راستش هنوز درست منظورت رو نفهمیدم.کد:var numstart=0.0;
var numend=30.0;
var addspeed=0.1;
function fixedUpdate()
{
if(numstart<numend)
{
numstart+=addspeed;
}
}
فدات شم
من مثال زدم جا به جاييه 0 تا 30 رو
اها يه مثال روشن تر باهاش دوربين نرم كردن تو unity اما اون روشي كه استفاده كردن اخر اوسكليه ( مشخص بود سواد ندران ) يه كد داره كه از سينوسو اينا تشكليل ميشه از اون اسفاده ميكردن انقد سخت نميشد
مختصر تر توضيح بدم
يه تابع است كه عددي كه بره توش نصبت به تغيرات نرم ميشه فكر ميكنم مال يونيتي smoothdamp باشه اما نتونستم راش بندازم
تازه فهمیدم منظورت چیه .
نمی دونم این بدردت می خوره یا نه احسان جان.کد:var numstart=0.0;
var numend=30.0;
var addspeed=0.1;
function fixedUpdate()
{
if(numstart>numend-2)
{
if(addspeed>0)
{
addspeed-=0.01;
}
}
if(numstart<numend)
{
numstart+=addspeed;
}
}
آقا مبین ببین من چه کار کردم:
یونیتی رو دانلود کردم.
نصبش کردم.
بازش کردم گفت رجیستر کن.
اینترنتی رو زدم.
یه سایت باز کرد.
ای میلم رو نوشتم.
زدم رجیستر غیر پولی.
بعد انجین بالا اومد.
بعد بستمش.
رفتم اون لودر رو ریختم جایی که خود یونیتی هست.
اجراش کردم ورژن پروفشنالش باز شد.
اگر بدون لودر اجرا کنی میاد ولی ورژن الکیش که رنگ ویندوزش هم کمرنگ تر از پرو هست.