دوستی به من ایمیل زده بود و گفته بود دوست داره یه ویدیو بسازه که آی دی های شبکه های اجتماعی ای که فعاله توشون رو نمایش بده ، بعد هم گفته بود هیچ دانشی از ساخت این جور ویدیوها نداره و می خواد سریع بسازه . به نظرم ایده ی جالبی بود و گفتم یه آموزش بنویسم تا اگه کسی خواست همچین ویدیویی برای خودش بسازه این کارو کنه .اگه کامل این آموزش رو یاد بگیرید می تونید بعدن تیتراژ و ویدیوهای تایپوگرافی مختلف سه بعدی هم بسازید .
اگه دوست دارید یه ویدیوی دو بعدی جالب بسازید بهتره از نرم افزار Anime Studio استفاده کنید ولی مشکلی که هست اینه که چون تازه کار هستید و آشنایی با انیمیشن ندارید من باید از صفر طرز استفاده از این نرم افزار رو بگم که خیلی وقت گیر می شه ، ولی چون قبلن چند تا آموزش از Motion Studio 3D نوشتم به سراغ این برنامه می رم که از آموزش های قبل هم کمک بگیرید و بتونید سریع ویدیو رو بسازید . پس بهتره همین جا این مطلب رو رها کنید و آموزش های قبلی رو یه نگاه بندازید و دوباره برگردید اینجا !
چند تا نکته قبل از شروع بگم که ، با این برنامه می تونید خروجی خوبی بگیرید – اگه خلاقیت داشته باشید – ولی چیزی که توی ذهن من بود فکر کنم با Anime Studio جالبتر بشه . در هر صورت سعی می کنم ویدیویی رو با Motion Studio 3D بسازم که همون خروجی توی ذهنمو بهم بده . توی این آموزش زیاد به جزییات نمی پردازم و خیلی سریع طرز ساخت یه ویدیوی ساده و جالب رو آموزش می دم که بتونید توی یکی دو ساعت بسازیدش و اگه جزییاتی می خواید بهش اضافه بشه به خلاقیت خودتون بستگی داره . در انتها هم خروجی و سورس کار رو گذاشتم که می تونید ببینید و دانلود کنید .
اما قبل از شروع ساخت ویدیو چی کار کنیم ؟
قبلش باید ایده داشته باشیم که چون قرار توی این ویدیو یه سری لینک نمایش داده بشه ، ایده ی من اینه که لوگوی شبکه های اجتماعی به صورت چرخش حول محور x ظاهر شن و آی دی کاربر توی شبکه هم زیرش حول محور y بیاد و مدتی با سرعت آهسته حول همون محور بچرخن و بعد برن و لوگو و آی دی بعدی بیاد . ایده ی ساده ایه ولی اگه روش کار کنیم چیز خیلی خوبی در خواهد اومد .
به چه چیزایی نیاز داریم ؟
خب بعد از ایده تنها چیزایی که نیاز داریم نرم افزار Corel Motion Studio 3D و یه سری فونته . اگرم بعدن بخواید روی ویدیو آهنگ بزارید و یه خورده جلوه های ویدیویی بهش اضافه کنید به یه برنامه ی تدوین مثل مثلن Corel VideoStudio هم نیاز داریم .
اما فونتایی که گفتم چی هستن ؟! چون نمی خوام خیلی پیچیدش کنم و مجبور نشید لوگوی هر شبکه ی اجتماعی رو طراحی کنید ، می تونیم از فونت هایی که این لوگوها رو دارن استفاده کنیم . فونتی که من می خوام استفاده کنم فونت Social Logos هست که تقریبن لوگوی بیشتر شبکه های اجتماعی رو داره . البته اگه سرچ کنید فونت های زیادی شبیه این هستن که هر کدوم رو خواستید می تونید استفاده کنید و یه چیز کاملن سلیقه ای هست . برای نوشتن آی دی شبکه ها هم از فونت gill sans ultra bold condensed استفاده می کنم . اگر در انتها سورس پروژه که گذاشتم رو خواستید دانلود کنید یادتون باشه قبلش حتمن این فونت ها رو نصب کنید تا نوشته های پروژه رو درست نشون بده .
خب اگه همه چی آمادست شروع کنیم!
اول نرم افزار Motion Studio رو باز می کنیم . بکگراند پروژه به صورت پیشفرض مشکی هست ولی من می خوام پروژم بکگراند سفید داشته باشه که برای این کار از پنجره Attribute Panel وارد منوی Background می شم و رنگ سفید رو برای بکگراندم انتخاب می کنم .
خب حالا همونطور که قبلن توی این آموزش نوشتم برای افزودن متن ، از منوی سمت چپ گزینه ی Insert Text رو بزنید و فونت آیکونمون که اینجا Social Logos هست رو انتخاب کنید . حالا آیکون مورد نظر رو از توی کیبوردی که بهمون نشون داده می شه انتخاب می کنیم . من اول توی پروژم آیکون فیسبوک رو انتخاب می کنم و روی OK کلیک می کنم تا وارد پروژه بشه .
خب وقتی که لوگومون ساخته شد بهتره یه ذره خوشگلش کنیم ! من دوست دارم که دور لوگو از جلو یه خط مشکی بکشم و رنگ لوگو رو آبی کنم که به فیسبوک بخوره . این کارو برای بقیه ی لوگوها هم می کنم، یعنی مثلن لوگوی یوتیوب رو قرمز می کنم، توییتر رو آبی روشن و…
خب برای کشیدن خط دور ، لوگو رو انتخاب می کنیم و بعد از پنجره Attribute Panel وارد قسمت Bevel می شیم . اینجا تنظیمات مختلف برای آبجکت ها و متن ها وجود داره که ما چون می خوایم خط دور لوگو بندازید از منوی این قسمت گزینه ی Custom Bevel رو انتخاب می کنیم و طبق تنظیمات زیر این اعداد رو اعمال می کنیم . البته شما با توجه به ذوق و سلیقه می تونید با اعداد بازی کنید یا شکل دیگه ای برای لوگوها در نظر بگیرید و اعمال کنید .
برای رنگ آمیزی چون ما می خوایم خط دور لوگو ، مشکی باشه ابتدا از منوی بالای نرم افزار ( Face Toolbar ) جایی که ۶ تا مکعب هست طبق شکل زیر به جز مکعب چهارم بقیه ی مکعب ها رو کلیک می کنیم تا خاموش بشن .
حالا از پنجره ی Attribute Panel وارد قسمت Color می شیم و رنگ مشکی رو انتخاب می کنیم . من چون دوست ندارم لوگو انعکاس نور داشته باشه رنگ قسمت Specular color رو هم مشکی می زارم تا انعکاس نور دیگه نداشته باشیم . البته این هم به سلیقه مربوط می شه و چیز دل بخواهی ای هست .
الان شما یه لوگوی روشن با خط دور مشکی دارید. برای اینکه رنگ لوگو رو آبی کنید از نوار بالا ترتیب مکعب ها رو برعکس کنید . یعنی به جای اینکه مکعب چهارم فعال باشه بقیه ی مکعب ها رو فعال و مکعب ۴ رو غیر فعال کنید . حالا می تونید به لوگو هر رنگی که می خواید بزنید . تا اینجا شما باید چیزی شبیه به شکل زیر داشته باشید :
خب حالا با یه فونت دیگه ، آی دی یا آدرستون توی فیسبوک رو به پروژه اضافه کنید ( من همونطور که گفتم از فونت gill sans ultra bold condensed استفاده می کنم ) و طبق همین روش بالا رنگ می زنمش . حالا با انتخاب آیکون “دست” از Location Toolbar ، آی دی و لوگو رو جابه جا کنید تا به چیزی که می خواید برسید. من آی دیمو اضافه کردم و هم لوگو و هم آی دی رو جا به جا کردم و چیزی شبیه به شکل زیر الان دارم :
تا اینجا لوگوی فیسبوکمون آمادست . از پنجره ی Object Manager با نگه داشتن دکمه ی کنترل هر دوتا آبجکتمونو انتخاب می کنیم و از روش کپی می کنیم . حالا دوتا لوگو و دو تا آی دی داریم، از بالا ، آی دی و لوگوی اول رو انتخاب می کنیم از نوار ابزار ( Standard Toolbar ) روی گزینه Show/Hide که شبیه یک چشم هست کلیک می کنیم تا چشم فعال بشه و دو تا آبجکتمون مخفی بشه :
حالا لوگوی مخفی نشده رو انتخاب می کنیم و همونطور که توی آموزش قبلی گفتم با کلیک روی Edit Object می تونیم اونو تغییر بدیم و لوگوی بعدیمونو انتخاب می کنیم که من توییتر رو انتخاب می کنم و طبق همون روش بالا رنگ می زنیم :
حالا همینطور باید با کپی کردن دو لوگوی آخر و Hide کردنشون تمام لوگوها و آی دی ها رو به پروژه اضافه کنیم . من بعد لوگوی توییتر ، لوگوهای لینکداین ، وردپرس ، یوتیوب و ویمیو هم اضافه کردم و حالا می خوام انیمیت کردنشونو شروع کنم . فقط یادتون باشه آخرین لوگو هم که مشخص کردید Hide کنید تا روی صفحه هیچ چیزی نبینید و فقط بکگراند سفید باشه .
چون هیچ آموزشی قبلن درباره ی انیمیت کردن ننوشتم مجبورم قبلش یه سری توضیحات بدم . انیمیت کردن کلن توسط پنجره ی Timeline انجام می شه و توسط این پنجره می تونید همه ی آبجکت ها رو به حرکت در بیارید . چون این یه پروژه ی تقریبن آماتور هست من نمی خوام خیلی حرکات پیچیده اعمال کنم و برای همین فقط در حد چرخش و Show/Hide شدن ، انیمیت رو انجام می دم .
خب برای انیمیت کردن هر پروژه ای توی Motion Studio 3D اول باید فریم هامون رو مشخص کنیم . انیمیشن من یه انیمیشن ۲۵ فریم بر ثانیست ، یعنی توی هر ثانیه ۲۵ حرکت صورت می گیره که حرکت های تقریبن نرم و خوبی خروجی میده . برای همین از پایین پنجره ی TimeLine در قسمت Frames عدد ۲۵ رو انتخاب می کنیم . حالا من تصمیم دارم هر لوگو طی ۴ ثانیه ظاهر بشه ، نمایش داده بشه و بره . با توجه به اینکه هر ۲۵ فریم توی پروژم ۱ ثانیه به حساب میاد من به ۱۰۰ فریم برای هر لوگو نیاز دارم و چون ۶ تا لوگو دارم پس کلن به ۶۰۰ فریم احتیاج دارم و برای همین پایین پنجره ی Timeline عدد ۶۰۰ رو وارد می کنم . حالا تایم لاینم برای انیمیت کاملن آمادست .
خب برای انیمیت اول قراره لوگوی فیسبوک ظاهر بشه ، برای همین روی فریم ۱ لوگوی فیسبوک و آی دی ای که وارد کردم رو از پنجره ی Object Manager انتخاب می کنم و روی آیکون چشم ( Show/Hide ) کلیک می کنم تا ظاهر بشن بعد روی همون فریم لوگوی فیسبوک رو انتخاب می کنم و از نوار ابزار روی آیکون چرخش کلیک می کنم و حول محور X لوگو رو ۹۰ می چرخونم . با توجه به مکان قرار گرفتن لوگو اگر دیدید زاویه ی لوگو کاملن حول X چرخیده نشده این عدد رو آروم کم و زیاد کنید تا روی محور منطبق بشه . توی پروژه ی من این لوگو با ۹۴ درجه کاملن منطبق می شه
آی دی رو هم انتخاب می کنیم ولی این بار اون رو حول محور Y باید -۹۰ درجه بچرخونیم که توی پروژه ی من کاملن منطبق می شه و لازم نیست کم و زیادش کنم . تا اینجا باید همچین چیزی داشته باشیم :
حالا میایم روی فرم ۱۰ و درجه ی لوگو رو از ۹۴ به ۰ تغییر می دیم و آی دی رو هم روی -۱۰ می زاریم تا به همچین چیزی برسیم . البته این اعداد روی پروژه ی من به این فرمه شما با توجه به مکان قرار گرفتن آبجکت ها و سلیقه شخصی می تونید تغییر بدید .
حالا می ریم روی فریم ۹۰ و چرخش لوگو رو روی محور X به -۱۵ و چرخش آی دی رو به ۱۰ تغییر می دیم و در نهایت به فریم ۱۰۰ می ریم و آی دی رو به ۹۰ و لوگو رو به -۹۰ تغییر می دیم . باز در اینجا چون لوگوم روی محور X منطبق نشد من با اعداد بازی می کنم و روی ۸۶ درجه به نتیجه می رسم . حالا هم لوگو و هم آی دی رو روی همون فریم ۱۰۰ با زدن آیکون چشم Hide می کنیم و لوگوی بعدی که توی پروژه ی من توییتر هست رو روی فریم ۱۰۰ ، show می کنیم .
حالا همین مراحل چرخش و انیمیت رو روی لوگوی توییتر هم انجام می دیم با این تفاوت که فریمامون اینبار از ۱۰۰ تا ۲۰۰ هست و تقسیم بندی هامون مثل لوگوی قبل ولی توی این رنج باید باشه . در نهایت پس از انیمیت کردن همه ی لوگوها پروژه آمادست تا رندر بگیریم و خروجی رو اگه لازمه ادیت کنیم .
قبل از رندر من می خوام به انیمیشنم حرکت بلور و سایه ی خیلی روشنی هم بدم . حرکت بلور به حرکتی می گن که وقتی سریع انجام بشه دوربین اون حرکت رو با کشش می گیره و چشم ما هم وقتی حرکتی رو بلور ببینه اون رو واقعی تر تشخیص می ده . برای دادن حرکت بلور به پروژه ، اول روی فریم ۰ میام و بعد از بالای پنجره Attribute Panel روی آیکون Add Plug-in کلیک می کنیم و True Motion Blur رو انتخاب می کنیم . مقدار ۵ به صورت پیشفرض نمایش داده می شه که من دست نمی زنم ولی با کم و زیاد کردنش می تونید روی شدت حرکت و حساسیت بلور تاثیر بزارید که این هم کاملن به سلیقه مربوط می شه .
برای دادن سایه هم باز روی Add Plug-in کلیک کنید و این بار Shadow رو انتخاب کنید . می تونید با تغییر اعدادی که نمایش داده می شه میزان پخش بودن و مکان سایه رو تغییر بدید . من چون یه سایه ی کم رنگ و پخش می خوام تمام متغیر ها رو روی ۱۰ می زارم و رنگ طوسی خیلی روشنی رو ( #DEDEDE ) انتخاب می کنم .
برای رندر کردن پروژه از منوی File روی Criate Video File کلیک کنید . از پایین پنجره ای که ظاهر می شه روی Option کلیک کنید . بعد توی صفحه ای که میاد به قسمت General برید و اونجا Farame rate رو روی ۲۵ قرار بدید . سایز فیلم هم برای اینکه خروجی خیلی خوبی داشته باشیم بهتره بزرگ کنیم که برای این کار هم توی همون صفحه User-defined رو فعال کنید و مقابل Width عدد ۱۶۰۰ و مقابل Height هم ۱۲۰۰ وارد کنید . حالا همه چیز رو ذخیره کنید و در نهایت بگید که فایل کجا ذخیره بشه و روی Save کلیک کنید و منتظر باشید از پروژه رندر گرفته بشه .
بعد از رندر من پروژم رو توی Corel VideoStudio باز کردم و یه موسیقی هم روش گذاشتم که در نهایت خروجی کار رو می تونید در ادامه ببینید .
این روزها شما وقتی یه دی وی دی فیلم یا انیمیشن اوریجنال بگیرید حتمن متوجه شدید که اون رو می تونید با چند زبون ببینید ، یا اینکه زیرنویسش رو به چندین زبون مختلف بخونید ، این کار در نگاه اول ممکنه چیز خارق العاده ای به نظر برسه ولی وقتی با این فرض نگاه کنیم که در اصل فیلم بدون صداست و ما هستیم که می گیم چه صدایی روی فیلم پخش بشه یا چه زیر نویسی نمایش داده بشه خیلی چیز عجیبی به نظر نمیاد .
با اومدن فرمت هایی مثل MKV این ویژگی از قالب DVD و… خارج شد و پرکاربردتر شد . MKV می تونه بدون افت کیفیت ، حجم فیلم رو به شدت پایین بیاره و از ویژگی های چندصدایی و چند زیرنویسی و… هم برخورداره و می شه گفت یه فرمت خیلی خوب برای این مدل کارهاست .
شبکه های چند زبانه مثل یورونیوز هم تقریبن همین مدلی هستند و شما با یک تصویر و چندین زبان روبرو هستید و می تونید خبرها رو با زبونی که متوجه می شید بشنوید و ببینید .
حالا اینارو گفتم تا برنامه ای رو معرفی کنم که خیلی راحت می تونه چند صدا و زیر نویس رو به یه فیلم اضافه کنه و با سرعت خیلی زیاد اون ها رو تو هم میکس کنه و یه خروجی MKV بگیره . با این برنامه همچنین می تونید لاین های زیر نویس و صدای روی فیلم ها رو جدا کنید و خروجی رو اونجور که دوست دارید تغییر بدید .اسم این برنامه mkvmerge GUI هست و می توینید از اینجا دانلودش کنید .
طرز کارش خیلی سادست ، اول از همه برای اینکه خروجی هر صدا کاملن منطبق با تصویر باشه شما باید صداهای مختلف رو روی تصویر ببینید و اصطلاحن سینکش کنید و بعد فقط از صدا خروجی mp3 یا هر فرمت دیگه ای بگیرید . بعد نرم افزار mkvmerge GUI رو بازش کنید و طبق تصویر و توضیحات زیر ، نقاط مشخص شده رو پر کنید :
۱- روی گزینه add کلیک کنید و فیلم اصلیتون رو باز کنید ، بعد با کلیک روی همین گزینه می تونید صداها و یا زیر نویس هایی که می خواید اضافه بشه رو باز کنید .
۲- توی این لیست ، ویدیو و صداها و زیرنویس هایی که انتخاب کردید نمایش داده می شه ، با انتخاب هر کدومشون و کلیک روی up یا down می تونید به صداها و یا زیرنویس ها اولویت بدید و مثلن مشخص کنید کدوم صدا به صورت پیشفرض روی تصویر باشه و صداهای دیگه با چه اولویتی چیده بشن . اگه تیک گزینه ای رو بردارید ، اون گزینه از خروجی حذف می شه . موقعی که می خواید زیرنویس و یا صدایی رو از فیلم حذف کنید و یا فقط از یک صدا یا زیرنویس خروجی بگیرید می تونید با برداشتن یا زدن تیک ها ، خروجی رو مدیریت کنید .
۳- با انتخاب هر کدوم از گزینه های منوی بالا تنظیماتی اینجا مشخص می شه که شما به صورت دلخواه می تونید اعمال کنید ، مثلن اگه توی خروجی دیدید که زیرنویس فارسی درست نمایش داده نمی شه ، می تونید برای زیرنویس فارسی از قسمت format specific option ، نوع کارکتر UTF-8 رو مشخص کنید . و تنظیمات دیگه ای که اینجا هست و زیاد ضروری نیست و نمی خوام بهش بپردازم .
۴- در نهایت از این قسمت مشخص کنید که خروجی کجا ذخیره بشه .
بعد روی دکمه ی start muxing کلیک کنید تا صداها و زیرنویس ها و… با تصویر ادغام بشن و یه خروجی MKV از ویدیو بهتون بده .
برای دیدن این مدل فیلم ها فکر کنم بهترین گزینه ، نرم افزار km player باشه ، برای تغییر صدا یا زیرنویس توی این برنامه ، روی تصویر کلیک راست کنید ، از قسمت audio که وارد stream selection بشید می تونید لیست صداها رو ببینید و صدای مورد نظرتون رو انتخاب کنید . برای زیرنویس هم از قسمت subtitles و منوی subtitle languages می تونید زیرنویس مورد نظرتونو انتخاب کنید .
پ.ن : اگه فیلم هایی رو دانلود کردید که گفته شده بود اون فیلم دارای باند صدای ۵ به ۱ هست ، منظور دقیقن اینه که فیلم دارای چند صداست و معمولن هم یکی از اون صداها ، صدای موسیقی و باند بدون دیالوگ هست !
توی این قسمت از آموزش MotionStudio 3D همونطور که قبلن گفتم می خوام درباره ی مراحل تبدیل یه طرح ۲ بعدی به ۳ بعدی و طراحی اشکال ۳ بعدی با استفاده از خط تقارن توضیح بدم . توی قسمت قبل توضیح دادم که چجوری می شه با اشکال هندسی آبجکت های ساده ی سه بعدی طراحی کرد و اگه اون مطلب رو خونده باشید الان می تونید با هر نوع شکل هندسی و سر هم کردن اون ها اشکال ساده طراحی کنید . اما بریم سراغ این آموزش که توی سه بخش توضیح می دم :
الف) ساخت متون ۳ بعدی
گزینه ای توی MotionStudio 3D وجود داره که شما می تونید اونجا متن خودتون رو بنویسید و به نرم افزار بدید ، نرم افزار به صورت خودکار به متن شما حجم می ده و اونو سه بعدی می کنه . برای این کار از نوار آبجکت روی آیکون Insert text کلیک کنید و توی پنجره ای که باز می شه متنتون رو بنویسید و تایید کنید . متن به صورت خودکار سه بعدی می شه و بهتون نشون داده می شه . البته امکان فرم دادن و کم کردن حجمش هم وجود داره که چون مبحث طولانی ای هست توی قسمت بعد دربارش می نویسم .
اما مشکلی که این قسمت داره ، ساپورت نکردن فونت و زبون فارسیه ! ینی شما اگه به فارسی چیزی بنویسید متنون وارونه و جدا از هم نمایش داده می شه ! برای این مشکل من متوجه شدم اگه از فونت های سری PWL استفاده کنید مشکل رو می شه رفع کرد . من این سری از فونت ها رو براتون توی گوگل داکم آپلود کردم که می تونید از اینجا دانلود کنید . فقط طرز کار کردن با این فونت ها توی MotionStudio 3D یه خورده با اعمال شاقست !
بعد از نصب فونت ها توی پنجره ی Insert text یکی از این فونت ها رو انتخاب کنید ، می بینید که توی کیبوردی که زیر این پنجره هست کلمات فارسی نمایش داده می شه . شما باید متنتون رو با این کیبورد و به صورت عکس تایپ کنید تا درست نمایش داده بشه . مثلن برای نوشتن “جنتلمن” توی کیبورد اون پنجره باید اینجوری حروف رو انتخاب کنید : ” ـن ـمـ ـلـ ـتـ ـنـ جـ ” بعد که تایید کنید متن فارسی رو به صورت سه بعدی می بینید .
خوشبختانه فونت های سری PWL متنوعن و می تونید فونت مورد نظرتونو توش پیدا کنید ولی اگه فونت خاصی می خواید باشه که توی این مجموعه نیست ، توی ادامه مطلبم می گم چه جوری تصاویر و متون دو بعدی رو از خارج به برنامه بدید و سه بعدی تحویل بگیرید !
ب) تبدیل یه طرح ۲ بعدی به سه بعدی :
اول بیایم ببینیم هدفمون از این کار چیه ؟! فرض کنید لوگوی یه کمپانی رو به صورت فایل تصویری دادن و گفتن می خوان به این لوگو حجم بدن یا در اصل ۳ بعدیش کنن و با یه افکت خاصی آخر بعضی کلیپاشون بزارن ! برای این کار ما باید اول لوگو رو سه بعدی کنیم و بعد انیمیتش کنیم و روش افکت و صدا و چیزای دیگه بزاریم . همچنین همونجور که توی قسمت قبل اشاره کردم با این روش می تونید متون دو بعدی رو به صورت تصویر ذخیره کنید و بعد توسط این روش اون رو سه بعدی کنید !
برای این کار باز هم به سراغ نوار آبجکت می ریم و ایندفعه گزینه Inser Graphics رو انتخاب می کنیم .
توی پنجره ای که ظاهر می شه توسط ابزارهاش به راحتی می تونید تصاویر دو بعدی رو به صورت برداری بکشید و بعد اونو به نرم افزار بدید تا سه بعدیش کنه . اگه با نرم افزارهای طراحی برداری مثل Corel Drow کار کرده باشید این قسمتش براتون گنگ نیست و خیلی راحت می تونید کار کنید . اما برای سه بعدی کردن یه لوگو لازمه طرح رو داشته باشید و بعد از روی اون طرح برداریش رو بکشید ! برای بکگراند کردن لوگو یا متن یا طرح از منوی سمت چپ پنجره روی Insert Background Image کلیک کنید و تصویرتونو باز کنید ، می بینید که تصویر در بکگراند ظاهر می شه . حالا با کمک ابزار Patch که آیکونش همون سمت پنجره هست می تونید دور طرحتونو بکشید و یه شکل برداری ازش داشته باشید .
وقتی که دور طرح رو کشیدید و تایید کردید طرحتون به صورت سه بعدی به شما نشون داده می شه . که می تونید طبق آموزش قبلی اون رو رنگ آمیزی کنید و برای انیمیت آماده کنید . همونجور هم که اشاره کردم توی قسمت بعد روش های کم کردن حجم طرح و افکت دادن بهش رو آموزش می دم .
البته یه آیکونی هم زیر آیکون Insert Background Image با عنوان Convert To Vector وجود داره که اگه انتخابش کنید طرح رو به صورت برداری بهتون تحویل می ده . برای لوگوهای ساده این روش خوبیه که سریع برداری تحویل بگیرید ولی برای لوگوهای پیچیده طرح رو با نقطه های زیاد و نا هماهنگ نشون می ده که به نظرم مناسب نیست .
ج) طراحی اشکال سه بعدی با خط تقارن
فرض کنید می خواید یه کوزه یا لیوان به صورت سه بعدی طراحی کنید . برای این کار باید از خط تقارن کمک بگیرید . مثلن اگه ما شکلی ال ( L ) مانند رو حول محور y چرخش بدیم شکلی شبیه لیوان به دست میاد . توی MotionStudio 3D هم می شه همچین کاری کرد و با چرخش شکلی خاص حول x یا y می شه اشکال سه بعدی به دست آورد .
برای این کار از نوار آبجکت ها گزینه ی Insert Lathe Object رو انتخاب کنید .
یک محور y توی صفحه مشاهده می کنید . از پایین پنجره محور رو به x هم می تونید تغییر بدید . حالا از یک سمت خط تقارن باید نصف شکلتون رو برای چرخش بکشید و بعد تایید کنید . من در اینجا به طور مثال یه کوزه کشیدم .
حالا توی پنجره ی Attribute Panel می تونید به قسمت Lathe Object برید و اونجا تغییراتی مثل درجه ی چرخش ، تعداد اضلاع چرخش ، دادن حجم داخلی و… رو اعمال کنید.
نکته ی دیگه توی این آموزش اینه که توی تمام مواردی که گفتم برای ویرایش متن یا طرح می تونید از پایین نوار آبجکت روی گزینه Edit Object کلیک کنید و عمل ویرایش رو انجام بدید .
توی قسمت بعد همونطور که گفتم درباره ی کم کردن حجم و یه سری از تنظیماتی که روی این طرح ها می شه اعمال کرد توضیح می دم .
خیلی وقت بود که آموزشی از SWiSH Max ننوشته بودم . اما مدتی قبل توی یکی از کامنت ها یکی ازم درخواست کرد نحوه ی ساخت یک پلیر ساده رو بنویسم و من هم در پاسخ به اون دوست عزیز این پست رو می نویسم . این پلیر ها معمولن برای پخش پادکست و موسیقی توی وبلاگ ها و وبسایت ها کاربرد دارن و نمونه های آمادش هم مثل این زیاده . ولی اگه یه پلیر ساده ی اختصاصی برای وبلاگتون می خواید بد نیست این آموزش رو بخونید . توجه کنید که با این آموزش می تونید یه پلیر ساده با قابلیت پخش و توقف فایل صوتی تولد کنید و فایل های صوتی هم با دستور value باز نمی شن و باید توی خود پروژه قرار بگیره .
اول از همه باید صفحه ی پلیر خودتونو طراحی کنید .صفحه ی پلیر باید دارای ۲ تا دکمه باشه ، یکی دکمه ی پخش یا play که با یه مثلث رو به راست نشون می دن و یه دکمه توقف یا stop که با مربع نشونش می دن ( طرز ساخت دکمه رو اینجا می تونید یاد بگیرید ) . البته می تونید از کلمات یا نمادهای دیگه هم استفاده کنید که کاملن سلیقه ایه .
وقتی صفحه ی پلیر رو طراحی کردید نوبت به فایل صوتی و دستورات این دکمه هاست . اول از همه باید فایل صوتی رو باز کنید . فایل صوتی بهتره mp3 باشه . همچنین سعی کنید کیفیتش رو با کم کردن kbps ، پایین بیارین که حجمش کم بشه . با توجه به اینکه آهنگ روی اینترنت باید لود بشه اگه حجمش زیاد باشه خیلی زمان زیادی برای لود شدن می بره و عملن کارکردشو از دست می ده .
برای باز کردن آهنگ از پنجره ی Content روی Import to Library کلیک کنید و گزینه sound رو انتخاب کنید و آهنگتون رو باز کنید . توی این مثال من آهنگ test.mp3 رو برای پروژم انتخاب کردم .
حالا نوبت دستور دادن به دکمه هاست . وارد قسمت Script دکمه پخش بشید و کد زیر رو بنویسید ( اسکریپت کجاست ؟! )
on (release) {
playSound(“test”);
}
حالا کدهای زیر رو هم برای Script دکمه ی توقف بنویسید
on (release) {
stopSound(“test”);
}
توجه کنید که چون اسم آهنگ انتخابیم test بود این کدها رو برای آهنگی به این نام نوشتم ، شما باید با توجه به اسم آهنگتون کد رو تغییر بدید .
حالا پلیر آمادست و می تونید از اون توی وبلاگ یا وبسایتتون برای پخش و توقف آهنگ استفاده کنید . فقط توجه کنید که آهنگ زمانی پخش می شه که کاربر روی دکمه پخش کلیک کنه ! اگر می خواید آهنگ به صورت خودکار شروع به پخش کنه ، Scene پروژتون رو انتخاب کنید و وارد قسمت Script بشید و کدهای زیر رو اونجا بنویسید :
onFrame (1) {
playSound(“test”);
}
onFrame (2) {
stop();
}
با این کد از فریم اول موسیقی شروع به پخش می کنه ، کاربر با کلیک روی دکمه توقف می تونه آهنگ رو قطع کنه .
نکته ی دیگه اینکه اگر کاربر در حین پخش آهنگ روی دکمه ی پخش کلیک کنه آهنگ دومی شروع به پخش می کنه و در اصل ۲ تا آهنگ همزمان با هم پخش می شن ! و هر چی این عمل رو تکرار کنه آهنگ ها مجددن روی هم پخش می شن ! برای جلوگیری از این اتفاق در قسمت Script روی کد playSound یک کلیک کنید تا در بالای کد تصویری مانند زیر را ببینید :
حالا روی گزینه Sound Effect کلیک کنید و تیک گزینه Don’t play sound if it is already playing رو بزنید . حالا آهنگ فقط یه بار پخش می شه و کاربر هر چقدر هم که روی دکمه ی پخش کلیک کنه با تداخل آهنگ ها روبرو نمی شه .
همچنین اگه می خواین آهنگتون به صورت دنباله دار یا Loop پخش شه ، توی همون پنجره ی بالا تعداد تکرار رو توی کادر Loop Sound بنویسید .
پ.ن : می تونید با این آموزش یا این آموزش برای پلیرتون یه لودینگ هم بسازید تا کاربر منتظر لود شدن آهنگ بمونه .
امروز قصد دارم یکی از بهترین کلاس هایی که برای ارسال ایمیل با php رو دیدم بهتون معرفی کنم . این کلاس ویژگی های خیلی خوبی داره و خیلی هم سبکه و می شه باهاش کارای زیادی انجام داد . قبل از اینکه این کلاس و طرز کارش رو توضیح بدم اول می گم که ارسال ایمیل با کدهای php چه جوریه و فرقش با این کلاس چیه .
یک تابع به صورت پیش فرض برای ارسال ایمیل با php وجود داره ، تابع mail که خیلی هم کار باهاش راحته و می تونید با دادن متغیرهای ایمیل ، به راحتی ایمیل مورد نظرتونو ارسال کنید . به عنوان مثال اگه من یه ایمیل با موضوع تست و متن سلام به آدرس [email protected] با تابع mail بخوام بفرستم به شکل زیر می نویسم :
<?php
$to = “[email protected]”;
$subject = “تست”;
$message = “سلام”;
mail($to,$subject,$message);
echo “ایمیل ارسال شد !”;
?>
اما مشکلی که این تابع داره اینه که وابسته به تنظیمات ایمیل apache هست و از سروری که توی apache تعریف شده ایمیل ها رو ارسال می کنه . یعنی شما اگه یه سایت خدماتی خیلی ساده روی یه هاست بخواین راه بندازین و از این تابع برای ارسال ایمیل استفاده کنید آدرس فرستنده ی ایمیل آدرسی هست که روی apache تعریف شده و اگه به تنظیمات سرور دسترسی نداشته باشید نمی تونید آدرس فرستنده رو طوری تغیر بدید که گیرنده ی ایمیل آدرس ایمیل شما رو به عنوان فرستنده ببینه !
مشکل دیگه ای که این تابع پیش فرض داره اینه که ایمیل ها رو به شکل متن ارسال می کنه و نمی شه به ایمیل استایل و یا حالت خاصی داد . مثلن اگه شما بخواین فونت ایمیلتون چیز دیگه ای باشه و یا اندازه ی متن توی بعضی جاها عوض شده باشه و یا هر استایلی که بخواید ایمیلتون داشته باشه ، با این تابع نمی شه و کدهای html رو هم به شکل متن ارسال می کنه !
چند تا کلاس برای رفع این مشکلات و ارسال یه ایمیل خوب برای php نوشته شده که به نظرم بهترین کلاسی که دیدم phpmailer هست و خیلی سبک و خوبه . با این کلاس شما می تونید ایمیل ها رو با شکل و ظاهری که دوست دارید بفرستید و روی لوکال هاست هم بدون تغیرات توی apache می تونید ایمیلتون رو ارسال کنید .
فرض کنید من می خوام ایمیل هامو با آدرس [email protected] بفرستم . اول از همه باید از یه سرور خوب برای ارسال ایمیل استفاده کنم که بهترینش به نظرم جیمیل هست . ما قصد داریم جیمیل رو این وسط واسطه قرار بدیم تا ایمیل ها رو به وسیله ی سرورهاش با آدرس [email protected] به مقصد برسونه . اما حالا چرا جیمیل رو انتخاب کردم و از سروری که سایتم روشه کمک نمی گیرم ، به این دلایل :
قبل از کار با کلاس باید ایمیل فرستنده رو بسازید و به جیمیلتون وصلش کنید . برای این کار توی سی پنل روی Email Accounts کلیک کنید و ایمیل مورد نظرتونو بسازید که من به عنوان مثال ایمیل [email protected] رو می سازم . بعد باید این ایمیل رو به جیمیلتون وصل کنید که من مراحل اتصالش رو نمی گم و می تونید اینجا و یا اینجا روش اتصالش رو ببینید .
وقتی ایمیلتون رو به جیمیل وصل کردید همه چی آمادست و نوبت به کلاس phpmailer می رسه . این کلاس رو می تونید از توی گوگل کد دانلود کنید ، ولی اگه به گوگل داک دسترسی ندارید می تونید اون رو از اینجا دانلود کنید . بعد از دانلود ، فایل ها رو از حالت فشرده خارج کنید و فایل های class.phpmailer.php و class.pop3.php و class.smtp.php رو توی یک فولدر کنار فایل های سایتتون قرار بدید . فرض کنید من این ۳ فایل رو توی فولدر phpmailer ریختم و توی کد مثالمم می خوام از این فولدر بازش کنم .
حالا برای استفاده از این کلاس توی صفحه ی مورد نظرمون از کد زیر استفاده می کنیم :
<?php
require(‘phpmailer/class.phpmailer.php’);
$mail=new PHPMailer();
$mail->CharSet = ‘UTF-8’;
$body = ‘<P dir=rtl><FONT size=2 face=”tahoma”>سلام !</FONT></P>’;
$mail->IsSMTP();
$mail->Host = ‘smtp.gmail.com’;
$mail->SMTPSecure = ‘tls’;
$mail->Port = 587;
$mail->SMTPDebug = 1;
$mail->SMTPAuth = true;
$mail->Username = ‘jentelman’;
$mail->Password = ‘123456’;
$mail->From = ‘[email protected]’;
$mail->FromName = ‘jentelman’;
$mail->Subject = ‘تست’;
$mail->MsgHTML($body);
$mail->AddAddress([email protected], ‘کامران’);
if($mail->Send())
echo ‘ایمیل ارسال شد !’;
else
echo ‘ایمیل ارسال نشد !’;
?>
توی کد بالا همونطور که می بینید اول کلاس رو صدا زدیم و همونطور که گفتم چون من کلاس رو توی فولدر phpmailer ریختم از اونجا صداش کردم . خط دوم و سوم هم یک ایمیل جدید به صورت UTF-8 ساختیم که از فارسی هم پشتیبانی کنه ، توی خط چهارم متغیر body رو متن ایمیلمون تعریف کردیم و همونطور هم که می بینید توی متن ایمیل از کدهای html استفاده کردم که با یه استایل خاصی ایمیلم ارسال بشه . خط های بعدی کد برقرار کردن ارتباط با سرورهای جیمیل هست و مشخصات SMTP و پورت جیمیل رو وارد کردیم . مقابل متغیر Username همونجور که می بینید نام کاربری جیمیل و مقابل Password هم پسورد جیمیلمون رو می نویسیم . یه نکته ی مهم اینجا وجود داره و اونم اینکه حتمن تایید دو مرحله ای جیمیل رو فعال کنید ( چه جوری فعال کنیم ؟! ) وقتی که تایید دو مرحله ای فعال باشه می تونید برید اینجا و یک پسورد جدید بسازید و از اون پسورد توی کلاس استفاده کنید ، اینجوری پسورد اصلی جیمیلتون در امانه و احتمال هک ایمیلتون در صورت هک شدن سایت وجود نداره !
در مقابل From و FromName ، ایمیل و اسم فرستنده رو تعریف کردیم . همونطور که توی مراحل قبل دیدید اول ایمیل [email protected] رو به جیمیل متصل کردیم و بعد می تونیم از این ایمیل به عنوان فرستنده استفاده کنیم . بعد هم موضوع ایمیل رو مشخص کردیم و متن ایمیل رو داخل تابع MsgHTML نوشتیم که با حالت مورد نظرمون ارسال بشه . در نهایت هم آدرس و اسم گیرنده ی ایمیل رو مشخص کردیم که من به عنوان مثال می خوام ایمیلم به آدرس [email protected] که متعلق به کاربر کامران هست ارسال بشه .
به همین راحتی با یه کلاس ساده تونستیم ایمیلمون رو ارسال کنیم . یه ویژگی خیلی خوب استفاده از این کلاس اینه که چون توسط جیمیل ، ایمیل ها ارسال می شن گزارش دریافت هم به جیمیل ارسال می شه و اگه کاربری بخواد ایمیل غیر واقعی توی سایتتون وارد کنه توی جیمیل براتون گزارش دریافت میاد که ایمیل به مقصد نرسیده و می فهمید اون آدرس ایمیل غیر واقعیه !
این کلاس امکانات دیگه ای هم داره مثل پیوست کردن فایل به ایمیل و … که می تونید اینجا امکانات و مثال هاش رو ببینید .
من از وقتی که از این کلاس استفاده می کنم خیلی راحتم و مشکلی با ارسال ایمیل توی php ندارم و کارام راحت تر شده ، اگه کلاس های بهتری رو سراغ دارید خوشحال می شم که معرفی کنید .
سایت های خدماتی برای ارئه ی بهتر خدمات به کاربراشون از سرویسی به اسم وب سرویس ( web service ) استفاده می کنن . شما با وب سرویس می تونید از خدمات یک سایت توی سایت خودتون استفاده کنید . مثلن وقتی شما از یک بانک تقاضای درگاه پرداخت اینترنتی برای سایتتون می کنید اون بانک با ارائه ی یک وب سرویس به شما کاری می کنه که اتصال سایتتون با بانک برقرار بشه .
وب سرویس در اصل یک آدرس اینترنتیست که قابلیت دریافت و ارسال یه سری اطلاعات رو داره . برنامه نویس های وب وقتی آدرس وب سرویس و اطلاعات ارسالی و دریافتی اون رو داشته باشن می تونن سایتشون رو با اون وب سرویس پیوند بزنن و از خدمات اون سایت توی سایت خودشون استفاده کنن . اتصال به وب سرویس با زبون asp.net نسبت به php کار راحتتریه و خیلی سخت نیست . من می خوام توی این مطلبم روش اتصال به وب سرویس با استفاده از زبون php رو بهتون یاد بدم .
قبل از شروع باید بگم از طریق ۲ تا کتابخونه می شه وب سرویس با زبون php نوشت ، هم با کتابخونه nusoap و هم با کتابخونه soap . این دو تا کتابخونه فرق زیادی با هم ندارن ، فقط اگر سرورتون soap فعال نباشه باید از nusoap استفاده کنید ! یعنی اینکه در کنار کدتون کتابخونه رو هم باید قرار بدین ، در صورتی که اگر soap سرور فعال باشه کتابخونه داخل سرور موجوده و نیازی به قرار دادن کتابخونه نیست . من طرز نوشتنش با کتابخونه soap رو می خوام بهتون توضیح بدم و به nusoap نمی پردازم . همونطور هم که گفتم قبل از خرید هاست حتمن مطمئن بشید soap روی اون سرور فعال هست چون اگر نباشه وب سرویس کار نمی کنه و باید با nusoap بنویسید .
فرض کنید من می خوام از وب سرویس یک سایت خدمات پیامک استفاده کنم و به وسیله ی اون وب سرویس ، از سایت خودم اس ام اس ارسال کنم . اول از همه باید آدرس وب سرویس سایت خدمات دهنده ی پیامک رو داشته باشم که فرض می کنم آدرسش http://sms.com/webservice.asmx هست . چیز دیگه ای که نیاز داریم متغیرهای ارسال و دریافت هست که این متغیرها هم توسط شرکت ارائه دهنده باید به شما داده بشه . مثلن توی این مثال من متغیرهایی که دارم اینهاست :
این متغیرهاییه که باید به وب سرویس ارسال بشه . توی توضیحاتی که سایت ارائه دهنده ، از وب سرویسش بهتون می ده حتمن گفته شده که این متغیرها باید با چه متدی ارسال بشن ، در اینجا فرض می کنیم این متغیرها با متد ssendsms باید ارسال بشن . ولی از اون طرف هم متغیرهایی از جانب وب سرویس ارسال می شه و در این مثال فرض می کنیم بعد از ارسال متغیرهای بالا متغیرهای پایین با متد smsresult به سایت ما ارسال می شه :
خب حالا همه ی اطلاعات استفاده از این وب سرویس فرضی رو داریم و باید برنامش رو بنویسم . دستورات زیر رو برای این سرویس می نویسیم :
<?php
$sms_username = ‘jentelman’;
$sms_password = ‘123456’;
$sms_from = ‘3000123’;
$to = ‘09121111111’;
$message = ‘پیام تستی’;
$client = new SoapClient(“http://sms.com/webservice.asmx?WSDL”);
$params = array(
‘username’ => $sms_username,
‘password’ => $sms_password,
‘from’ => $sms_from,
‘to’ => $to,
‘message’ => $message
);
$results = $client->sendsms( $params );
if ($results->smsresult == ‘success’ )
echo ‘ارسال پیام با موفقیت انجام شد’;
else
echo $results->smsresult;
?>
۵ خط اول کد بالا تعریف کردن متغیرهاست . من گفتم که نام کاربریم توی سایت ارائه دهنده jentelman و پسوردم ۱۲۳۴۵۶ هست . همچنین گفتم که پیامی که می خوام ارسال کنم با عنوان “پیام تستی” هست و از شماره ی ۳۰۰۰۱۲۳ به شماره ی ۰۹۱۲۱۱۱۱۱۱۱ قصد ارسال دارم .
برنامه از خط ششم به بعدش مراحل اتصال به وب سرویس رو می گذرونه . توی خط ششم آدرس وب سرویس رو دادم و گفتم می خوام از این وب سرویس استفاده کنم . متغیر $client رو هم به وب سرویس دادم که ازش برای ارتباط استفاده کنم .
توی خط هفتم یک آرایه با عنوان $params باز کردم و تمام متغیرهایی که باید ارسال بشن رو بهش دادم و همونطور که می بینید اسم متغیرهایی که وب سرویس قبول می کنه رو آوردم و مقابلش هم متغیرهایی که از خط اول تا پنجم تعریف کردم رو قرار دادم . الان این متغیرها در قالب یک آرایه آماده ان که به وب سرویس ارسال بشن .
بعد از تموم شدن آرایه و مقدار دهی ، توی خط ۱۴ اومدم و متغیری به اسم $results تعریف کردم و مقابلش نوشتم که اطلاعات آرایه با متد sendsms به وب سرویس ارسال بشه . حالا همه ی متغیرها با متدی که وب سرویس قبول می کنه ارسال شدن .
از اون طرف وب سرویس هم کار خودش رو انجام می ده و پیامی رو به متغیر smsresult که توضیح دادم می فرسته . توی خط ۱۵ گفتم که اگر اون پیام عبارت success بود عنوان “ارسال پیام با موفقیت انجام شد” رو نمایش بده و بعد توی خط ۱۷ گفتم اگر اینچنین نبود عنوان پیام دریافتی رو نمایش بده تا بفهمیم مشکل کجاست . البته توی مثال دیدید که متغیرهایی که وبسرویس ارسال می کنه رو آوردم ، می تونیم برای هر کدومشون مثل success یک پیام خطا تعریف کنیم . یعنی اینکه بگیم مثلا اگر erroruser توسط وبسرویس دریافت شد عبارت “خطا در نام کاربری” نمایش داده بشه که من توی کد بالا برای کوتاه شدن کد فقط برای success یک پیام تعریف کردم و بقیه ی مقادیر دریافتی رو گفتم که مستقیم نشون بده .
شاید بشه گفت فونت ۹۰% وبلاگ ها و وبسایت های فارسی tahoma هست . فونت استانداردی که برای زبان فارسی توی وب تعریف شده و توی تمامی کامپیوترها به صورت پیشفرض قرار داره . اگر یک وبلاگ نویس توی وبلاگش از فونت مثلن B Titr استفاده کنه ممکنه خودش و خیلی های دیگه اون فونت رو درست ببینن ، ولی اگه کسی این فونت رو نداشته باشه اون متن رو با فونت Arial می بینه و وبلاگ حالت اصلی خودش رو برای اون فرد از دست می ده . اما چاره ی کار کجاست و چجوری می شه از فونت های مختلف توی وبسایت ها و وبلاگ ها استفاده کرد ؟
با اومدن css3 این مشکل نه تنها برای فارسی نویس ها بلکه برای همه ی زبون هایی که مشکل فونت داشتن برطرف شده و شما می تونید با چند خط کد نویسی با فونت مورد نظرتون توی وبلاگ یا وبسایتتون بنویسید .
اول از همه باید فونت مورد نظرتونو در ۴ فرمت ttf ، eot ، svg ، woof تهیه کنید . فونتی که شما روی ویندوزتون دارید فرمتش ttf هست و برای تبدیلش به فرمت های دیگه می تونید از سرویس های آنلاین استفاده کنید . سایت های زیادی برای این کار وجود داره ولی من سایت www.onlinefontconverter.com رو بهتون پیشنهاد می دم که خیلی خوبه .
وقتی عضو سایت شدید و وارد اکانتتان شدید ، از منوی بالای سایت روی My fonts کلیک کنید . در اینجا می تونید فونت مورد نظرتون رو به فرمت های مختلف تبدیل کنید . فرض کنید من می خوام توی سایتم از فونت B Koodak استفاده کنم ، اگر فونت رو با فرمت ttf داشته باشم که هیچی ، اگر نداشته باشم و این فونت روی سیستمم موجود باشه ، توی درایو ویندوز می رم و از شاخه ی Windows\Fonts فونت B Koodak رو پیدا می کنم و اونو یه جای دیگه کپی می کنم .
حالا توی سایت روی گزینه ی Select fonts کلیک کنید و فونت مورد نظرتونو باز کنید و صبر کنید تا آپلود بشه . بعد از آپلود شدن زیر اسم فونتتون مجموعه ای از فرمت ها وجود داره و همونجور که گفتم باید روی گزینه های eot ، svg ، woof کلیک کنید تا فونت به این فرمت ها تبدیل بشه . بعد از تبدیل ، ۳ فرمت ساخته شده رو دانلود کنید .
حالا مرحله ی اول که تبدیل فونت ها بود تموم شده و به سراغ CSS می ریم . اول ۴ تا فونت رو توی یک فولدر داخل سایتتون قرار بدید که نظم بیشتری داشته باشه . حالا فایل style قالب سایتتون و یا کد CSS اصلی سایتتون رو باز کنید و در ابتدای همه ی کد ها کد زیر رو بنویسید :
@font-face {
font-family: ‘b koodak’;
src: url(‘Fonts/BKoodak.eot’);
src: url(‘Fonts/BKoodak.eot?#iefix’)
format(’embedded-opentype’),
url(‘Fonts/BKoodak.woff’) format(‘woff’),
url(‘Fonts/BKoodak.ttf’) format(‘truetype’),
url(‘Fonts/BKoodak.svg#BKoodakRegular’) format(‘svg’);
font-weight: normal;
font-style: normal;
}
کد بالا رو من برای فونت B Koodak نوشتم و همونجور که توی خط دوم هم می بینید گفتم اسم این فونت b koodak هست . این یعنی اینکه هر جایی که توی سایتم فونت B Koodak رو نیاز داشته باشم ، سایت فونت رو از این قسمت شناسایی می کنه و نشون می ده .
خط های سوم به بعد معرفی آدرس جاهایی هست که فونت ها قرار داره . همونجور که می بینید من فونت ها رو توی فولدر Fonts ریختم و از اون فولدر بازشون کردم .
خب کار تمومه ! حالا می تونید از هر فونتی توی سایت یا وبلاگتون استفاده کنید .
پ.ن : اینم چند تا سایت که از این روش فونت سایتشون رو عوض کردن :
توی مقدمه ای که قبلن درباره ی MotionStudio 3D اینجا نوشتم ، توضیح دادم که این برنامه شامل چه قسمت هاییه و چی کار می شه باهاش کرد . توی این قسمت می خوام نحوه ی طراحی چندتا درخت ساده با اشکال هندسی رو یاد بدم . البته فقط نحوه ی طراحی و رنگ آمیزی سادش رو می گم و چیزی درباره بافت و نورپردازی و این چیزاش نمی نویسم . بعد از خوندن این مطلب می تونید با اشکال هندسی ، طرح های ساده ی دیگه ای مثل خونه ، در ، پنجره و … هم بسازید .
در تصویر بالا ۳ درخت خیلی ساده که با اشکال هندسی طراحی شده می بینید ، من طرز طراحی درخت اول از راست رو بهتون یاد می دم و بعد از این آموزش شما می تونید ۲ درخت دیگه و یا طرح های ساده ی دیگه با اشکال هندسی رو طراحی کنید .
این درخت همونجور که می بینید از یک کُره و یک استوانه تشکیل شده و طراحیش خیلی سادست . وقتی نرم افزار MotionStudio 3D رو باز می کنید بکگراند پروژه مشکی هست . اول از همه اگه دوست دارید رنگ بکگراند رو عوض کنید از منوهای پنجره ی Attribute Panel روی Background کلیک کنید و رنگ مورد نظرتونو انتخاب کنید . من برای نمایش بهتر از سفید استفاده کردم .
حالا برای طراحی درخت از اشکال هندسی موجود در نوار Object Toolbar کُره یا Sphere را انتخاب کنید .
یک کُره در پروژه طراحی می شه . منوی پنجره ی Attribute Panel شما رو به Geometric Objects منتقل می کنه و توی اون قسمت مقابل Radius عدد ۲۰ نوشته شده . با تغییر این عدد می تونید ابعاد کره رو بزرگ یا کوچیک کنید . ( ما با همون مقدار ۲۰ طراحی می کنیم و نیازی نیست بزرگترش کنیم )
برای تنه ی درخت ، باز منوی اشکال هندسی رو باز کنید و استوانه یا Cylinder را انتخاب کنید . یک استوانه در پروژه ساخته می شه که احتمالن به خاطر تداخلش با کره نمی تونید اون رو ببینید ! برای اینکه استوانه رو به پایین کره بیاریم و تنه ی درخت رو بسازیم ، از نوار ابزار روی آیکون دست یا Move کلیک کنید . ۳ پارامتر X ، Y و Z در مقابل این آیکون وجود داره که هر سه تاش عدد ۰ رو نشون می ده . مقدار پارامتر Y رو کنم کنید و مثلن به -۱۰۰ تغییر بدید . می بینید که استوانه به زیر کره میاد و می تونید اون رو ببینید . با کم و زیاد کردن پارامتر Y می تونید جای ساقه رو مشخص کنید و دقیقن اون رو زیر کره قرار بدید .
حالا برای اینکه بالای تنه رو جمع تر کنیم تا شکل طبیعی تری بگیره ، از منوی پنجره ی Attribute Panel به قسمت Geometric Objects برید . در اینجا سه تا متغیر وجود داره . با تغییر متغیر Radius Top می تونید قطر بالای استوانه رو کم کنید و به شکل دلخواه برسید . متغیرهای بعدی هم به ترتیب قطر پایین و طول استوانست .
تا الان یه درخت بی رنگ درست کردیم . به همین روش می شه درخت های دیگه رو هم طراحی کرد . همونجور که دیدید توی منوی اشکال هندسی ، انواع مدل های هندسی سه بعدی وجود داره که می تونید اون ها رو انتخاب کنید و توی مدل هاتون استفاده کنید ، همچنین دیدید هر شکل هندسی در قسمت Geometric Objects خودش یه سری متغیر داره که با تغییر اونها می شه ابعاد شکل رو تغییر داد . ابزار دست یا Move هم برای جا به جا کردن این اشکال در محیط استفاده می شه .
برای رنگ آمیزی طبیعی تر توی MotionStudio 3D از بافت استفاده می کنیم ولی من درباره ی بافت ها توی یک مطلب جدا خواهم گفت و فعلن روش رنگ آمیزی ساده رو می گم .
همونجو که می بینید توی پنجره ی Object Manager دو تا آبجکت ظاهر شده که یکیش کره ی شما و اون یکیشم استوانتونه . اول آبجکت کره رو انتخاب کنید . حالا از منوی پنجره ی Attribute Panel به قسمت Color بروید . در اینجا با دو قسمت Surface color و Specular color روبرو می شید . در قسمت Surface color می تونید رنگ شکل رو مشخص کنید که در اینجا رنگ سبز رو برای کره انتخاب می کنیم . اون ۳ تا درجه یا نوار لغزنده ای که زیر رنگ هست برای کم و زیاد کردن رنگ و تنظیماتی از این قبیل هست .
در قسمت Specular color می تونید رنگ نور بازتابی از جسم و شدت اون رو تعیین کنید . چون برگ درخت نور رو از خودش بازتاب نمی کنه و یه جسم کدره باید رنگ مشکی رو انتخاب کنیم تا هیچ بازتاب نوری صورت نگیره .
برای ساقه هم به همین روش می تونید از رنگ قهوه ای استفاده کنید و اون رو هم رنگ آمیزی کنید .
حالا درختمون آمادست ! همونجور که دیدید طراحی با اشکال هندسی خیلی راحت هست و شما به وسیله ی این اشکال می تونید آبجکت های مختلف و ساده ی سه بعدی طراحی کنید . توی قسمت بعدی طرز تبدیل طرح ۲ بعدی به سه بعدی و طراحی اشکال سه بعدی با خط تقارن رو می گم .
همونجور که قبلن اینجا گفته بودم ، من خیلی دوست داشتم کار با برنامه ی ULEAD COOL 3D Production رو توی وبلاگم آموزش بدم ، ولی چون این برنامه خیلی قدیمی بود و مدت زیادی آپدیت نشده بود این کارو نمی کردم . ولی الان که نسخه ی جدیدش با اسم جدید MotionStudio 3D از طرف Corel عرضه شده می خوام شروع کنم و هر چند وقت یه بار یه چیزایی دربارش بنویسم . توی این پستم می خوام Corel MotionStudio 3D رو یه معرفی کلی کنم و از قسمت بعدی ، آموزش رسمیشو شروع می کنم . اول بزارین بگم اصلن Corel MotionStudio 3D چی هست و چی کار می کنه ؟!
همونطور که از اسمش معلومه ، کار این برنامه طراحی و انیمیت سه بعدیه . البته توی بخش انیمیت خیلی قوی نیست ، ولی از نظر طراحی و مدلینگ می شه گفت قویه و هر چیزی رو می شه باهاش به صورت ۳D طراحی کرد . البته بگم که این برنامه با نرم افزارهای حرفه ای مثل MAYA یا ۳D MAX اصلن قابل مقایسه نیست و بیشتر بدرد کارهای ساده و انیمیشن های ساده می خوره . البته خروجی قوی ای داره و می شه انیمیشن های خوبی هم باهاش ساخت . همچنین برای افکت گذاری روی فیلم و تصویر هم بد نیست و می شه باهاش یه کارایی در این زمینه هم کرد !
برای شروع منوهای این برنامه رو بهتون معرفی می کنم و از قسمت بعدی کار باهاش رو شروع می کنیم . تصویر زیر صفحه ی اصلی برنامست ( کلیک کنید تا ابعاد بزرگترش را ببینید ) :
اگه همه ی پنجره هایی که توی تصویر بالا می بینید ، توی برنامه ی شما فعال نیست از نوار بالایی روی View کلیک کنید و در قسمت Palette Manager هر ۴ گزینه رو فعال کنید . اما بریم سراغ معرفی نوارها و پنجره های موجود در برنامه . فقط توجه کنید که جای این نوارها و پنجره ها رو می تونید به دلخواه عوض کنید و اصطلاحن برنامه رو شخصی سازی کنید ، توضیحاتی که در ادامه می دم با توجه به محل قرار گرفتن نوارها توی تصویر بالاست .
نوارهای ابزار بالای برنامه : ۳ ردیف نوار در بالای برنامه قرار داره ، ردیف اول یا تولبار شامل منوهایی هست که مدیریت نرم افزاررو در اختیارتون می زاره . امکاناتی جهت رندر کردن ، تغییر ابعاد پروژه و … از امکاناتیست که توسط این منوها در اختیارتون قرار می گیره . توی نوار ردیف دوم امکاناتی جهت کپی کردن ، نمایش اسکلت آبجکت ، میزان شدت نور ، زوم کردن روی پروژه و … در اختیارتون قرار داره . ردیف سوم ، اگه دقت کنید می بینید که از ۳ نوار متصل به هم تشکیل شده نوار اول امکاناتی برای چرخش و جابه جا کردن آبجکت رو در اختیارتون می زاره ، نوار دوم تنظیمات فونت رو در اختیارتون می زاره و نوار سوم هم برای مشخص کردن بُعد آبجکت هست که بعدن بیشتر بهش می پردازیم .
نوار آبجکت : سمت چپ برنامه یک نوار دیگه قرار داره که از طریق اون می تونید توی پروژتون آبجکت بسازید . شما با این نوار می تونید اشکال هندسی و متون سه بعدی طراحی کنید و یا تصاویر دو بعدی رو به سه بعدی تبدیل کنید . همچنین افکت هایی مثل دود و آتش و … هم توسط این نوار قابل اجراست .
پنجره ی پروژه : این پنجره در اصل یک قاب از یک فضای سه بعدی رو بهتون نمایش می ده که می تونید توی این فضا آبجکت هاتون رو اضافه و پروژتون رو بسازید . امکان باز کردن چند پروژه و مدیریتشون هم از طریق همین پنجره در دسترسه .
Object Manager : این پنجره جهت مدیریت آبجکت ها و مدل های موجود در پروژه به کار می ره . توی این پنجره می تونید آبجکت ها رو دسته بندی و با هم ترکیب کنید و اسم هاشون رو عوض کنید تا دسترسی به هر آبجکت و مدل راحت تر باشه .
EasyPalette : توی این پنجره شما می تونید تمام امکانات MotionStudio رو ببینید . در اصل این پنجره یک سری نمونه ی آماده از هر ویژگی این برنامه رو در اختیارتون می زاره تا دقیقتر بفهمید هر پلاگین و افکتی چه امکاناتی رو در اختیارتون می زاره .
Attribute Panel : این پنجره رو شاید بشه گفت مهمترین پنجره ی این برنامست و خیلی باهاش سرو کار داریم . با این پنجره می تونیم آبجکت هامون رو کنترل کنیم ، اون ها رو رنگ آمیزی کنیم ، بهشون پلاگین اضافه کنیم و … . همچنین امکاناتی مثل لنز دوربین ، نورپردازی ، بکگراند پروژه و … هم از طریق این پنجره قابل دسترسه . کلن پنجره ی مهمیه و اگه تمام امکانات و ویژگی های این پنجره رو یاد بگیرید تقریبن با این برنامه نباید زیاد مشکل خاصی داشته باشید .
Timeline : این پنجره پایین برنامه قرار داره و کاربردش فقط در قسمت انیمیته . توسط این پنجره می تونید پروژه تون رو به حرکت در بیارید و اجزا و آبجکت هاش رو انیمیت کنین . با ابزارهای این قسمت می تونید روی تک تک حرکت ها مدیریت داشته باشید و فریم نمایش انیمیشن رو هم تنظیم کنید . طبیعتن این پنجره زمانی کاربرد داره که همه ی آبجکت ها طراحی شده باشن و پروژه آماده ی انیمیت باشه .
کل برنامه از همین قسمت هایی که گفتم تشکیل شده . وقتی شروع به کار کنیم با امکانات این پنجره ها بیشتر آشنا می شید . توی قسمت بعدی سعی می کنم از طراحی یه جسم ساده شروع کنم و بعد به طراحی اجسام پیچیده تر بپردازم . سعی می کنم زودتر قسمت بعدی رو هم بنویسم . امیدارم این آموزش ها بهتون کمک کنه پاتون رو به دنیای انیمیشن باز کنید .
پ.ن : این برنامه رو اگر ندارید می تونید از اینجا یا اینجا دانلود کنید .
ممکنه شما یک برنامه ی اجرایی از اینترنت دریافت کنید که در نگاه اول یه برنامه یا بازی ساده و کم حجم باشه ، ولی پشت پرده ، برنامه ممکنه فایل هایی رو توی جاهای مختلف سیستمتون بریزه و بدون اینکه بدونید سیستمتون آلوده بشه ! برای همینه که بعضی از Keygen ها و Patch ها توسط آنتی ویروس ها پاک می شن و یا نمی زارن که اجرا بشه ! چون این برنامه ها یک نسخه ی کرک شده از نرم افزار مورد نظرتون رو روی سیستمتون نصب می کنن که آنتی ویروس ها با احتمال اینکه اون برنامه ی کپی شده یک فایل آلودست اجازه اجراشونو نمی دن و بهتون اخطار می دن . با هر زبون برنامه نویسی ای می شه یه برنامه ای نوشت که این کارو کنه و یه فایل رو تو یه جای خاصی از سیستم ذخیره کنه ، من قصد دارم روش کارش با نرم افزار Multimedia Builder رو بگم . Multimedia Builder البته چند سالیه بروز نشده و آخرین نسخش مال سال ۲۰۰۷ هست ، ولی هنوز هم خیلی ها توی ساخت برنامه های چند رسانه ای و بازی های ساده ازش استفاده می کنن .
اگر می خواهید کاری کنید که خروجی Multimedia Builder یک فایل رو در یک جای خاصی کپی کنه اول پروژتون رو بسازید . یعنی یک بازی یا یک برنامه ی ساده با Multimedia Builder بنویسید که کاربر به پشت پردش پی نبره و وقتی بازش می کنه فکر کنه یه برنامه ی سادست ! حتا شما می تونید یک صفحه ، شبیه صفحه ی Keygen بسازید و پشت پرده از برنامه بخواید فایل کرک شده ی خاصی رو جای خاصی توی سیستم بریزه .
وقتی پروژتون تموم شد از نوار بالای برنامه روی Project کلیک کنید و Embedded Files رو انتخاب کنید . حالا توی پنجره ای که باز می شه روی Add کلیک کنید و فایل مورد نظرتونو که می خواید توی سیستم طرف مقابل نصب بشه باز کنید . بعد از باز کردن خواهید دید که فایل توی لیست پنجره اضافه می شه ، با کلیک روی OK پنجره رو ببندید . ( در اینجا مثلن من فایل administr.exe رو به پروژم اضافه کردم )
حالا از نوار ابزار سمت چپ روی Script کلیک کنید و یک اسکریپت بسازید
روی اسکریپت دو بار کلیک کنید تا صفحه ی نوشتن کد باز بشه و کد زیر رو توش بنویسید :
SysCommand(“CopyFile”,”<Embedded>\administr.exe,c:\windows\administr.exe”)
توی کد بالا گفتیم فایل administr.exe که توی مرحله ی قبل به Embedded Files اضافه کردیم رو توی درایو C و فولدر windows کپی کنه . البته ممکنه شما نخواید اونجا کپی شه که باید آدرس مکان مورد نظرتون رو وارد کنید . ممکنه براتون سوال پیش بیاد که می خواید این فایل رو توی درایور ویندوز حتمن نصب کنید و ممکنه ویندوز کاربر مورد نظرتون توی درایو E باشه و شما نمی دونید و اگه آدرس درایو C رو بدید فایل توی مکان مورد نظر نصب نمی شه ! برای این مشکل هم توی مالتی مدیا بلدر یک سری تگ تعریف شده که معرفیشون می کنم :
<Windows> : این تگ آدرس فولدر windows رو بهتون می ده
<System> : این تگ آدرس فولدر System32 رو بهتون می ده
<Temp> : این تگ هم آدرس فولدر temp رو می ده
<SrcDir> : این تگ آدرس جایی رو که فایلتون اونجا هست می ده ، مثلن اگه کسی فایلتونو بعد از دریافت توی درایور E و فولدر file ریخته باشه آدرس اونجا رو می ده
<SrcDrive> : این تگ هم کار بالا رو انجام می ده ولی آدرس جای دقیق رو نمی ده و فقط آدرس درایور رو می ده .
برای استفاده از این تگ ها هم مثل تگ <Embedded> باید بعد از گذاشتن \ آدرس رو وارد کنید . مثلن اگه می خواید توی فولدر ویندوز و فولدر Data ذخیره بشه کافیه این آدرس رو بدید :
<Windows>\Data\administr.exe
اگر فرض کنیم ویندوز توی درایو C نصب شده باشه کد بالا معادل اینه :
C:\windows\Data\administr.exe
حالا که اسکریپت رو ساختید باید به برنامه بگید که در صورت باز شدن اسکریپت اجرا بشه و فایل رو کپی کنه . برای این کار از پایین صفحه روی page دو بار کلیک کنید ( همون پیجی که این اسکریپت روشه ) بعد توی پنجره ای که میاد از قسمت Script روی آیکون دفترچه کلیک کنید و کد زیر رو بنویسید :
RunScript(“Script”)
کد بالا می گه که در صورت اجرا شدن برنامه ، کد داخل Script اجرا بشه که همون دستور کپی کردنه ! البته توجه کنید که من کد بالا رو توی اسکریپتی به اسم Script ریختم و برای همین کد بالا رو نوشتنم ، اگه اسم اسکریپت شما فرق داشت اون اسم رو وارد کنید . مثلن اگه کد رو توی اسکریپتی به اسم copy ریختید ، کد اینجوری می شه :
RunScript(“copy”)
شما می تونید همین دستورو توی یه دکمه تعریف کنید . با این کار دستور کپی کردن پس از فشار دادن دکمه اجرا می شه .
حالا کار تمومه و وقتی برنامه رو اجرا می کنید خواهید دید فایل مورد نظرتون توی مکان مورد نظرتون کپی شده !
البته با زبون های برنامه نویسی دیگه اگه خواستین این کارو کنین طبیعتن روش کار فرق داره ، ولی من Multimedia Builder رو انتخاب کردم چون باهاش می شه پروژه های چند رسانه ای ساخت و توی این جور پروژه ها نیاز می شه فایل های مختلفی جاهای مختلفی نصب بشه تا برنامه اجرا شه .