The Best Resource for Minecraft
The Best Resource for Minecraft

میان‌پرده‌های دوربین بدون ماد: فریم‌های کلیدی، درون‌یابی و ترفندهای حالت تماشاچی

میان‌پرده‌های دوربین بدون ماد: فریم‌های کلیدی، درون‌یابی و ترفندهای حالت تماشاچی

دو روش برای حرکت دوربین در نسخه وانیلا — تابع تله‌پورت مبتنی بر تیک، یا رجیستری تایم‌لاین. کاربرد هرکدام و هموارسازی که جلوی رباتیک به نظر رسیدن آن را می‌گیرد.

در نسخه وانیلا شیء دوربینی وجود ندارد، بنابراین میان‌پرده یکی از این دو خطای دید است.

روش ۱: تله‌پورت بازیکن در هر تیک

روش قدیمی و همگانی. بازیکن را در حالت تماشاچی قرار دهید، سپس او را در امتداد یک مسیر حرکت دهید:

gamemode spectator @s
tp @s 100.0 70.0 200.0 -90.0 10.0

یک tp per tick from a function chain. It works on every version and needs nothing special. The problems are all about smoothness:

  • 20 فریم کلیدی در ثانیه. یک نمای 10 ثانیه‌ای 200 tp lines.
  • گام‌های خطی مکانیکی به نظر می‌رسند. حرکات واقعی دوربین نرم شروع و نرم تمام می‌شوند.
  • چرخش به شکل نامناسبی دور می‌زند. رفتن از yaw 170 به -170 یک چرخش 20 درجه‌ای است، اما

درون‌یابی خام 340 درجه در جهت اشتباه می‌چرخد. اختلاف زاویه را قبل از گام برداشتن به بازه -180…180 نرمال‌سازی کنید.

تولید این خطوط کاری است که ابزار فریم کلیدی انجام می‌دهد — شما چند موقعیت قرار می‌دهید و آن تابع مبتنی بر تیک را همراه با نرم‌سازی خروجی می‌دهد.

نرم‌سازی حرکتی

تفاوت بین کار ناشیانه و حرفه‌ای در منحنی درون‌یابی است. بین دو فریم کلیدی، با t from 0 to 1:

linear      t
ease-in-out t < 0.5 ? 2t²  :  1 − 2(1−t)²
smoothstep  t² × (3 − 2t)

smoothstep is the safe default. Apply it to position and rotation together or the camera arrives before it finishes turning.

روش ۲: رجیستری تایم‌لاین

نسخه‌های جدیدتر فرمت تایم‌لاین را اضافه کرده‌اند که کل نما را به جای صدها تله‌پورت، به شکل داده توصیف می‌کند:

data/<namespace>/timeline/intro.json

فریم‌های کلیدی با زمان‌بندی و حالت‌های درون‌یابی، اجرا با یک دستور تکی. مزایا:

  • بسیار کوچک‌تر. شش فریم کلیدی به جای دویست تله‌پورت.
  • درون‌یابی به صورت درونی و بومی است، بنابراین نیازی به محاسبات ریاضی دستی برای نرم‌سازی نیست.
  • مستقل از نرخ فریم — مانند تله‌پورت مبتنی بر تیک روی یک

سرور شلوغ و سنگین، لگ نمی‌زند.

هزینه‌اش این است که فقط در نسخه‌های اخیر وجود دارد، بنابراین مپی که کلاینت‌های قدیمی‌تر را هدف قرار می‌دهد هنوز به روش ۱ نیاز دارد.

ثابت نگه داشتن بازیکن

هر دو روش با دو مشکل مبارزه می‌کنند:

  • ورودی بازیکن. حالت تماشاچی به بازیکن اجازه می‌دهد در میانه نما پرواز کند و دور شود. تله‌پورت مجدد در هر تیک

آن را لغو می‌کند، که یکی از دلایل تداوم استفاده از روش مبتنی بر اجبار است.

  • لود شدن چانک. دوربینی که به یک جای لودنشده پرواز کند، فضای خالی (void) نشان می‌دهد. /forceload the path

قبل از نما و حذف آن پس از پایان.

مخفی کردن HUD

/gamerule doImmediateRespawn, spectator mode and F1 get you most of the way. For a clean frame, a resource pack that blanks the HUD sprites removes the crosshair and hotbar without the player pressing anything — see the HUD guide.

فریم‌های کلیدی را روی یک مسیر قرار دهید و یک تابع مبتنی بر تیک یا یک JSON تایم‌لاین خروجی بگیرید با ابزارهای ساخت میان‌پرده و تایم‌لاین.

امتحان ابزار: Cutscene & Timeline Builders →