জিএম স্টুডিওতে অস্পষ্টতা ছাড়াই আমি কীভাবে পিক্সেল আর্ট স্কেল করব?


9

আমি গেম মেকার স্টুডিওতে এমন একটি গেম তৈরি করছি যা পিক্সেল আর্ট ব্যবহার করে। আমি যখন গেমটি চালু করি তখন সমস্ত স্কেলড আপ টেক্সচারটি সত্যই অস্পষ্ট। (ছোটদের ক্ষেত্রে এটি ঘটে না))

উদাহরণস্বরূপ, এই চিত্র

সুন্দর :)

গেমটি এইভাবে রেন্ডার করে:

ঝাপসা :(

আকার পরিবর্তন করতে সেখানে আসলে ছোট পিক্সেল মধ্যে বড় পিক্সেল পরিবর্তে ঝাপসা পিক্সেল ?


টেক্সচারের জন্য ক্ষতির সংকোচনের পরিবর্তে বিএমপি, জিআইএফ বা পিএনজি ব্যবহার করবেন না, তারা সকলেই ক্ষতিহীন স্টোরেজ সমর্থন করে
র্যাচেট ফ্রিক

আপনার যখন পিক্সেল আর্ট থাকে, আপনি সাধারণত কোনও আকার পরিবর্তন এড়াতে চান, কারণ পিক্সেল আর্ট সর্বদা সেখান থেকে ভোগে। যখন আকার পরিবর্তন এড়ানো যায় না, তখন খিচুনি চেহারাটি সংরক্ষণের জন্য এটি নিকটতম-প্রতিবেশী ইন্টারপোলেশন ব্যবহার করা উচিত। আপনি যখন আকার পরিবর্তন করতে চান, রাস্টার-গ্রাফিক্সের পরিবর্তে ভেক্টর-গ্রাফিক্স ব্যবহার করুন। দুর্ভাগ্যক্রমে আমি আপনাকে এটির পক্ষে সাহায্য করতে পারি না কারণ আমি জিএমএসটুডিওর সাথে পরিচিত নই।
ফিলিপ

উদাহরণ যুক্ত।
এমপিওয়ার

আমি গেম প্রস্তুতকারীদের সম্ভাবনা জানি না তবে আপনি সমস্ত স্কেল-ফিল্টারিং অক্ষম করতে এবং নিকটতম-প্রতিবেশী স্কেলিং সক্ষম করতে চান।
অ্যাপলশেল

1
যদি আমি সঠিকভাবে মনে রাখি তবে মূল স্পেলুঙ্কি (গেম মেকারে তৈরি) এর একটি ডিএলএল ছিল যা লিনিয়ার স্কেলিং সক্ষম করে। উত্সটি সেই লিঙ্কটিতে উপলব্ধ; একবার দেখুন
আনকো

উত্তর:


13

কিছু সংস্থান থেকে একটি সমাধান খুঁজে পেয়েছে। গ্লোবাল গেমস সেটিংগুলিতে যান, তারপরে যেকোন প্ল্যাটফর্মের স্পোয়েলারে যান (উদাহরণস্বরূপ "উইন্ডোজ" বা "অ্যান্ড্রয়েড"), সেখানে "গ্রাফিক্স" শিরোনামযুক্ত স্পোলারটি চয়ন করুন এবং "পিক্সেলের মধ্যে ইন্টারপোলেট রঙগুলি" বন্ধ করুন। আনন্দ কর :)


এই প্রযুক্তিগতভাবে কাজ করে, যদিও পিক্সেল আর্টের ফলাফল অ-পূর্ণসংখ্যার ফ্যাক্টর (উদাহরণস্বরূপ 2.5x) দিয়ে স্কেলিংয়ের কারণে পরিবর্তিত হতে পারে
লিগজিওরজিও

আপনি বোঝাতে চেয়েছেন যে তারা ডিফল্ট সেটিংস তৈরি করতে মাথা ঘামায় না?!? আমি সবেমাত্র যাচাই করেছি এবং এটি গেম মেকার 8.0.0 এ অন্যভাবে ডিফল্ট হয়েছে। এটি কেবল বাদাম .... দুর্দান্ত উত্তর বিটিডব্লিউ।
ব্যবহারকারী 64742

5

কেউই প্রত্যেক স্প্রিটকে ম্যানুয়ালি স্কেল করে দেওয়ার বিষয়টি মোকাবেলা করতে চায় না; এটি কেবল একটি opালু কর্মক্ষেত্রই নয়, তবে এটির ফলন খুব অসাধু be গ্লোবাল গেমস সেটিংগুলিতে ইন্টারপোলেশন বন্ধ করার সময় আমি কোনও সমাধান পেয়েছি।

texture_set_interpolation(false);

:) আমি আশা করি এটি আপনার ভবিষ্যতের প্রচেষ্টাগুলিতে আপনাকে সহায়তা করবে।


একাধিক প্ল্যাটফর্মকে লক্ষ্য করে নিলে এটি সেরা সমাধান, প্রতিটি একক প্ল্যাটফর্মের জন্য আপনাকে "পিক্সেলের মধ্যে ইন্টারপোলেট রঙগুলি" ক্লিক করতে হবে না! ঠিক আমি খুঁজছেন ছিল কি.
লোগান পিকআপ

1

আমি সাধারণত এর জন্য যা করি তা হয় ফটোশপ বা জিআইএমপি (স্কেল / নিকটতম নিকটবর্তী) ব্যবহার করা হয়

তবে GM তে এটি করার জন্য: এস স্প্রাইট এডিটর এরফ, আমি স্কেলের পরিবর্তে স্ট্রেচ কমান্ডটি ব্যবহার করি এবং এটি পিওওর মানের সাথে সেট করি। এটি ব্লকিকে বাছাই করে রাখবেএটিএম এ কাজ করে এমন একটি গেমের স্ক্রিনি, জিপি: এস নিজেই স্প্রাইটটি বড় করা হয়েছে

উপরে এটিএম-তে একটি গেম ইম ওয়ার্কিন রয়েছে, আমি এটিই করেছি!


যদিও এটি নির্দিষ্ট রেজোলিউশনে আপ-স্কেলিংয়ের জন্য কাজ করে যা এটি সবার জন্যই নয়, জিএমেরও ডিফল্টরূপে টেক্সচার সংকোচনের অভ্যাস রয়েছে। প্রসারিত কার্যকারিতা ব্যবহার করার সময় এটি বিভিন্ন রেজোলিউশনেও আলাদাভাবে স্কেল করতে পারে, এর ফলে আমরা যে ঝাপসা এড়াতে চাইছি তা ঘটবে। তবে (স্কেল / নিকটবর্তী নিকটবর্তী) উল্লেখের জন্য +1
টম 'ব্লু' পিডক্ক

1

মানচিত্রে ব্যাকগ্রাউন্ড ট্যাবে স্কেল ফাংশনটি বন্ধ করুন। যদি স্কেলটি অকার্যকর মনে হয় তবে নিশ্চিত করুন যে পিছনের গ্রাউন্ডের জন্য আপনার টেক্সচারটি আপনি যে ঘর / মানচিত্রের মধ্যে রয়েছেন তার সমান আকার।

বিকল্পভাবে ব্যবহার এই পোস্টটি এখানে একটি ব্যাকগ্রাউন্ড স্ক্রিপ্ট তৈরি করতে যা পিছনের স্থলটিকে (আশাবাদী) খাস্তা ফলাফলের সাথে উপরে তুলবে।

এটি পৃষ্ঠতল ব্যবহার করে তাই আপনার যদি এতে কিছু অতিরিক্ত সাহায্যের প্রয়োজন হয় - এই পোস্টটি প্রচুর তথ্য সরবরাহ করে।


সম্পাদনা করুন:

আমার উত্তরগুলিতে ফিরে গিয়ে আমি বুঝতে পারি এটি স্ক্র্যাচ করা নয় এবং টিউটোরিয়াল সামগ্রীর প্রয়োজন। এটা এখানে:

পদক্ষেপ 1 : আপনি চান স্কেল চয়ন করুন। প্রতিটি ঘরের জন্য একটি দর্শন ব্যবহার করুন এবং বন্দর ডাব্লু এবং বন্দর এইচটি যথাযথভাবে মাপুন। সুতরাং, উদাহরণস্বরূপ, আপনি যদি 2 স্কেল ব্যবহার করে থাকেন ... জিএম এর কক্ষের সম্পাদক এ এটির মতো দেখাবে।

এটি গুরুত্বপূর্ণ যে এটি সমস্ত কক্ষের জন্য সামঞ্জস্যপূর্ণ। আপনার কাছে প্রচুর ঘর থাকলে কোড * এর মাধ্যমে এটি করা সহজ easier আমি সেভাবে এটি করতে পছন্দ করি কারণ মানগুলি স্থির হয় না এবং আমি একাধিক বিভিন্ন স্কেল সমর্থন করতে পারি।

পদক্ষেপ 2 : 3 টি স্ক্রিপ্ট, স্ক্রিন_ইনিট, স্ক্রিন_বেগিন এবং স্ক্রিন-এন্ড তৈরি করুন। এখানে প্রতিটি স্ক্রিপ্টে যা রয়েছে ...

থেকে উদ্ধৃতি: স্ক্রিন_ইনিট

// screen base(view_wview and view_hview)
screen_x = 0;
screen_y = 0;
screen_w = 320;
screen_h = 240;
screen_scale = 2;

// create a surface for the whole screen to be drawn on
screen = surface_create(screen_w,screen_h);

// this will destroy the screen object if surfaces are not supported on the graphics card, reverting to the viewport method
if screen = -1{instance_destroy();}

থেকে উদ্ধৃতি: স্ক্রিন_বেগিন

// this draws the surface on the screen
surface_reset_target();
draw_clear(0);
draw_set_blend_mode_ext(bm_one, bm_zero);
draw_surface_stretched(screen,screen_x,screen_y,screen_w*screen_scale,screen_h*screen_scale);
draw_set_blend_mode(bm_normal);
screen_refresh();

থেকে উদ্ধৃতি: স্ক্রিন_েন্ড

// this sets surface 'screen' as the drawing target for everything in the game, so all drawing will be done on this surface and not on the game screen
surface_set_target(screen);

পদক্ষেপ 3 : এখন আমাদের কাছে স্ক্রিপ্ট রয়েছে তবে তারা কোথায় যায়? একটি অবজেক্ট তৈরি করুন। লাইক, ওজেক্ট_স্ক্রিন, ওজস্ক্রিন, ও_স্ক্রিন বা যা কিছু হোক এবং নিম্নলিখিতগুলি করুন:

  • ক) স্ক্রিন_ইনস্ক্রিপ্ট তৈরি ইভেন্টে রাখুন।
  • খ) স্ক্রিন_ব্যাগিন স্ক্রিপ্টটি বিগ স্টেপ ইভেন্টে রাখুন।
  • গ) স্ক্রিন _ স্ক্রিপ্টটি শেষ ধাপ ইভেন্টে রাখুন।

এবং সেই জিনিসটিকে আপনার গেমের প্রথম এবং সর্বাধিক কক্ষে রাখুন, এটি অবিচ্ছিন্ন চিহ্নিত করুন এবং নিশ্চিত করুন যে এর কোনও নকল নেই।

আপনি সম্পন্ন হয়ে গেছেন এবং এখন দুর্দান্ত, খাস্তা স্কেলিং = ডি আছে


আমি অস্পষ্টতা ছাড়াই এটি স্কেল করতে চাই যেহেতু আমি পিক্সেল আর্ট পছন্দ করি so সুতরাং এটি আমার প্রশ্নের উত্তর দেয় না I এটা কি সম্ভব?
এমপি পাওয়ার

সম্ভবত না, গেম মেকার স্টুডিও একটি খারাপ আপ স্কেলিং অ্যালগরিদম দিয়ে স্কেলিং করে যা প্রায়শই অনাকাঙ্ক্ষিত স্কেলিংটিকে অস্পষ্ট করে তোলে। স্কেলিং সহ একটি খাস্তা ব্যাকগ্রাউন্ড চেষ্টা করার জন্য আমার উত্তরে আমি সম্পাদিত টিউটোরিয়ালটি ব্যবহার করুন।
টম 'ব্লু' পিডক

আপনি গ্রাফিক প্রোগ্রামে আপনার ব্যাকগ্রাউন্ড টেক্সচার প্রাক স্কেলিং বিবেচনা করেছেন?
ফিলিপ

দুটি উপায় ভাল fi প্রথম স্ক্রিপ্টগুলি এখানে একত্রিত করার জন্য প্রথম। সেকেন্ডটি চিত্র ব্যবহার করার আগে প্রাক-স্কেলিং is
এমপি পাওয়ার

দুর্দান্ত, আনন্দিত এটি সাহায্য করেছে।
টম 'ব্লু' পিডক

-2

texture_set_interpolation(false)এটি যেমন তাদের আঁকতে তৈরি করুন ব্যবহার করুন ।


এটি সঠিক হতে পারে তবে আপনি কি আরও বিশদে যেতে পারবেন? আমরা সাধারণত আমাদের উত্তরে কিছুটা বিশদ অনুসন্ধান করি।
জেনমলক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.