ওয়াক সাইকেল অ্যানিমেশনগুলির জন্য 'গতি' অ্যানিমেট করার সাধারণ উপায়


13

আমি সম্ভবত এটি আরও বেশি গেম ডেভেলপমেন্ট-সুনির্দিষ্ট শ্রোতার কাছ থেকে আরও ভাল সাড়া পাব বুঝতে পেরে ব্লেন্ডার আর্টিস্টদের ফোরামগুলিতে সবেমাত্র পোস্ট করেছি, তাই ক্রস পোস্টের জন্য দুঃখিত! এটি সঠিক কারণে :)

আমি একজন প্রোগ্রামার, ওগ্রে ব্যবহার করে কোনও গেম প্রকল্পের জন্য হাঁটা চরিত্রটি প্রাণবন্ত করার চেষ্টা করছি। আমি ব্লেন্ডারে খুব সাধারণ হাঁটার চক্র তৈরি করেছি এবং এটিকে ওগরে রফতানি করেছি, এবং এটি ঠিকঠাক অভিনয় করে। সূক্ষ্মভাবে, আমি বলতে চাইছি এটি কাজ করে তবে ভয়াবহ পাদদেশ স্লাইডিং হয়। কারণ আমি ব্লেন্ডারে কেবল ওয়াক-ইন-প্লেস (আদিতে) অ্যানিমেটেড করেছি এবং অবশ্যই আমি জানি না "চলার গতি" কোনটির সাথে সামঞ্জস্যপূর্ণ, তাই যখন আমি গেমটি অক্ষরের সাথে খেলাম তখনই চলবে না ' অগত্যা অ্যানিমেশনটিতে পায়ের চলাফেরার সাথে মেলে।

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


1
ধারণাটির কিছু চমত্কার ব্যাখ্যা সহ এখানে একটি আলোচনা রয়েছে: blog.wolfire.com/2011/08/…
বেন

উত্তর:


10

এটি করার দুটি উপায় রয়েছে: মূল গতি বা "কোড"।

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

ইউনিটি ব্যবহার করে রুট মোশন কন্ট্রোলের সাথে মিক্সামো একটি ভাল উদাহরণ দিয়েছিল। এটির একটি ভিডিও এখানে রয়েছে: http://vimeo.com/12052874

এখন রুট গতির তার অসুবিধা আছে। সিঁড়িতে কাজ করার জন্য "ওয়াক" অ্যানিমেশনটি পাওয়ার চেষ্টা করার মতো বিষয়গুলির সাথে এটি জটিল হয়ে উঠতে পারে (আদর্শভাবে আপনার আলাদা সিঁড়ি / মই চড়ন্ত আনিম থাকতে হবে এবং এর জন্য অ্যানিমেশনটিতে সমস্ত আন্দোলনও করতে হবে)। আমি একেবারেই নিশ্চিত নই যে, আই কে আসলে কীভাবে এটির মধ্যে চলে।

এখন প্রোগ্রামিংয়ের দিক থেকে "কোডে" এটি করা অনেক সহজ। আমি যা করার পরামর্শ দিচ্ছি তা হ'ল প্রথমে আপনার সমস্ত ইউনিট সুসংগত কিনা তা নিশ্চিত করা। উদাহরণস্বরূপ, মায়ায় 1 ইউনিট এবং আপনার গেমটি 1 মিটার। তারপরে আপনি আপনার শিল্পীদের একটি চরিত্রের পদচারণা সঞ্চারিত করতে সক্ষম করুন (সামনের আন্দোলনের সাথে সম্পূর্ণ)। অ্যানিমেশনের গতি বের করার জন্য এটি ব্যবহার করুন এবং অগ্রেড গতি ছাড়াই অ্যানিমেশনটি রফতানি করুন। অ্যানিমেশনটি কীভাবে ফিরে পারা যায় তা নির্ধারণ করতে এটি ব্যবহার করুন। সুতরাং যদি 1x গতিতে ওয়াক অ্যানিমেশনটি 5 মি / সেকেন্ড হয় এবং আপনি প্লেয়ারটি 7 মি / সেকেন্ডে চালাতে চান, আপনি কেবল 7/5 = 1.4x গতিতে ফিরে খেলবেন। যদি আপনার মডেলটি স্কেল বা বিপরীতে অ্যানিমেশন প্লেব্যাক হারকে ছোট বা নীচে করা হয়। 1x স্কেলের লোকের মতো একই হারটি সরাতে আধ আধ উচ্চতার ডুডিকে দ্বিগুণ দ্রুত হাঁটতে হবে।


আমি মিক্সামো থেকে রুট মোশন কম্পিউটারটি দেখতে পেতাম না, বা এটি শুনেছি কি না, তাই লিঙ্কটি এবং ব্যাখ্যাটির জন্য ধন্যবাদ! সুতরাং মূলত এটি যেমনটি আমি ভেবেছিলাম, তা এটিকে সুস্পষ্টভাবে অ্যানিমেটেড করুন বা এটিকে স্বয়ংক্রিয়ভাবে উত্পন্ন করুন, অথবা হয় বিল্ড-টাইমে বা রানটাইমগুলিতে। আমার ধারণা রফতানিকারী স্ক্রিপ্টে আমার নিজের কোড করতে হবে। আমি এখন মেগা সম্পর্কে বিভ্রান্ত হয়েছি এমন একটি গতি যা একটি চক্রের গতিপথের উপরে পরিবর্তিত হয় - পৃথিবীতে আপনি কী গেমপ্লে থেকে এটিকে চালিত করবেন? "5 মি / সেকেন্ডে সরান" এর অর্থ এখন অন্য কিছু ... এবং দিক পরিবর্তনগুলি এআইয়ের জন্য দুঃস্বপ্ন হবে! সম্ভবত এজরেজ মোশন ব্যবহার করা সবচেয়ে ভাল?
বেন হ্যামার্স

চরিত্রের আউট; আরও কিছু মতামত পাওয়ার জন্য এটি স্বীকৃত হিসাবে চিহ্নিত করার আগে আমি কিছুটা অপেক্ষা করব। আপনার উত্তরের জন্য ধন্যবাদ!
বেন হ্যামার্স

রুট গতির জন্য আপনি সরাসরি প্লেয়ারের গতি নিয়ন্ত্রণ করতে পারবেন না। আপনার কেবলমাত্র অ্যানিমেশন হারের প্লেব্যাকের নিয়ন্ত্রণ থাকে এবং তারপরে আপনি অ্যানিমেশনটি ফরোয়ার্ড z মানের সরাসরি নিয়ন্ত্রণে রাখতে দেন। আমি যে 5 মি / সেকেন্ডের উদাহরণ দিয়েছি তা হ'ল পাদদেশ স্লাইডিং সমাধানের প্রচলিত পদ্ধতির জন্য যা আপনি কতটা দ্রুত এগিয়ে চলেছেন এবং একটি ধ্রুবক গতি অনুমান করছেন তার সাথে কেবল প্লেব্যাক হারের সাথে সামঞ্জস্য করার চেষ্টা করা।
টেট্রাড

গেমপ্লে প্রোগ্রামার হিসাবে, এটি একটি সম্পূর্ণ দুঃস্বপ্নের মতো শোনাচ্ছে :) অ্যানিমেটেড যে কোনও কিছুর গতিবেগের মতো গুরুত্বপূর্ণ কোনও কিছুর নিয়ন্ত্রণে অ্যানিমেটারগুলি রাখা? না ধন্যবাদ! আমি অনেক বেশি তথ্য আহরণ করতে পছন্দ করি তাই আমি এটিকে উল্টিয়ে দিতে পারি এবং এনিমেশন প্লে গতিটি চলাচলের গতির উপর ভিত্তি করে অন্য রাউন্ডের চেয়ে সেট করতে পারি। এ কারণেই ননলাইনার গতি আমার থেকে দূরে সরিয়ে দেয়, এবং সম্ভবত এটি অন্যভাবে করা ভাল কারণ।
বেন হ্যামারস

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