ანიმაცია · bei.pm

გამოქვეყნებულია 19.11.2015-ზე·განახლებულია 13.02.2025·გეორგიული
ეს ტექსტი ავტომატურად ითარგმნა OpenAI GPT-4o Mini-ს მიერ.

ამ გვერდზე აღწერილი ფაილების ფორმატები ეფუძნება Dynamix, Inc. და Sierra Entertainment-ის ინტელექტუალური საკუთრების ტექნიკურ ანალიზს.
ინტელექტუალური საკუთრება დღეს არის Activision Publishing, Inc.-ის / Activision Blizzard, Inc.-ის მასის ნაწილი და ამჟამად ეკუთვნის Microsoft Corp..

მعلوماتები შეიკრიბა Reverse Engineering და დატების ანალიზის საშუალებით არქივირების და ისტორიული მონაცემებთან ინტერპერატიულობის მიზნით.
არ ყოფილა გამოყენებული რაიმე სამ Proprietary ან კონფიდენციალური სპეციფიკაციები.

ამჟამად თამაში შესაძლებელია შეძენა gog.com-ზე როგორც ჩამოსატვირთი.

ახლა გადავდივართ Outpost 2-ის მონაცემთა ფორმატების დისციპლინების მეფე კლასაზე:
ანიმაციებზე.

ანიმაციის სიები იწყება გლობალური ჰედერით, რომელიც ძირითადად მონაცემების ვერიფიკაციისთვის არის განკუთვნილი. ამის შემდეგ მოდის კონკრეტული ანიმაციის განსაზღვრებები, რომლებიც 3 ეტაპად იყოფა:

  1. ანიმაცია
    ანიმაცია არის უმაღლესი ინსტანცია; იგი წარმოაჩენს ერთეულის, შენობის ან 'პარტიკულების ანიმაციის' (კომეტის დარტყმა, ამინდი, აფეთქება) ანიმაციას კონკრეტულ საწყის მდგომარეობაში.
  2. ფრემი
    ფრემი არის ერთი სურათი ანიმაციის ფარგლებში. ანიმაცია შეიძლება შეიცავდეს ერთ ან რამდენიმე ფრემს.
  3. მოქნილი ფრემი
    მოქნილი ფრემი არის ინფორმაცია იმის შესახებ, რომ კონკრეტული ბიტმაპი უნდა იყოს დახატული კონკრეტულ კრიტერიუმებზე დაყრდნობით კონკრეტულ ფრემის პოზიციაზე. ფრემი შეიძლება შეიცავდეს ერთ ან რამდენიმე მოქნილ ფრემს.

შემდეგ მოდის უკვე კონკრეტული ანიმაციის განსაზღვრებები.

მისამართი x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF სიმბოლო
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
ოფსეტი მონაცემთა ტიპი სახელი განმარტება
0x0000 uint(32) ანიმაციების რაოდენობა

რამდენი ანიმაციის მონაცემების ნაკრები არსებობს

0x0004 uint(32) ფრეიმების რაოდენობა

სულ რამდენი რამის არსებობა უნდა იყოს

0x0008 uint(32) ქვედა ჩარჩოების რაოდენობა

როგორMany Subframes უნდა იყოს მთლიანობაში

0x000c uint(32) اختیاری ჩანაწერების რაოდენობა

რამდენი "არადართული ჩანაწერი" არსებობს.

ანიმაცია

მისამართი x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF სიმბოლო
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0010 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
0x0020 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
ოფსეტი მონაცემთა ტიპი სახელი განმარტება
0x0000 uint(32) უცნობი 1

უცნობი ინფორმაცია

0x0004 uint(32) ბოძების ყუთი: მარცხენა

მიცემს მარცხენა დასაწყისს (პიქსელებში) Bounding Box-ის.

0x0008 uint(32) ბოქსის საზღვრები: ზედა

მიანიშნებს Bounding Box-ის ზედა საწყის نقطას (პიქსელებში).

0x000c uint(32) ბრძოლას ყუთი: სიგანე

მიუთითებს Bounding Box-ის სიგანის (პიქსელებში) ზომას.

0x0010 uint(32) შეფუთვის ყუთი: სიმაღლე

მიანიშნებს ბაუნდინგ ბოქსის სიმაღლეს (პიქსელებში).

0x0014 uint(32) შედარება: X

შეფუთავს ანიმაციის ჰორიზონტალურ ცენტრს

0x0018 uint(32) რაოდენობა: Y

აჩვენებს ანიმაციის ვერტიკალურ ცენტრს

0x001c uint(32) Unknown 2

უცნობი ინფორმაცია

0x0020 uint(32) ფრეიმების რაოდენობა

მაჩვენებს, რამდენი ანიმაციის კადრია ამ ანიმაციაში ჩართული

0x0024 uint(32) חל windows-ების რაოდენობა

მიანიშნებს, რამდენი ფანჯარა უნდა გამოვიყენოთ ხატვის დროს

აუცილებელი მონაცემები ზედა ფენის, ანიმაციის, ძირითადად ადმინისტრაციული მონაცემებია - Boundingbox აღნიშნავს ავტომობილის/შენობის მარკირების კოორდინატებს, როდესაც ის შერჩეულია და ასევე მიუთითებს, რომელი ტერიტორია უნდა იყოს დააჭერადი.

Offset ძირითადად განსაზღვრავს "ნულოვანი წერტილი"; წერტილი, რომელიც უნდა იყოს გათვალისწინებული ან უნდა იყოს გამოტანილი თამაშის შიდა კოორდინატებთან. უფრო მათემატიკურად რომ ვთქვათ: offset აქ განიხილავს კოორდინატების წარმოშობას.

Windows-ების შემთხვევაში, ისევე როგორც offset-ის შემთხვევაში, თითოეულ (დაახლოებით თითოეული Windows-ისთვის) 4 uint(32)-წარმოებულ მნიშვნელობებს მოიცავს, რომლებიც განსაზღვრავს ტერიტორიას, რომელიც ინდივიდუალური სუბფრეიმებისთვის გამოყენებადია. Windows-ის გარეთ, თუ ეს bitmap-ისთვის შესაბამისია, დახატვა არ უნდა მოხდეს.

ჩარჩო

მისამართი x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF სიმბოლო
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
ოფსეტი მონაცემთა ტიპი სახელი განმარტება
0x0000 uint(8) სუბფრეიმების რაოდენობა და გადართვა ვარიანტისთვის 1, 2

ამ მნიშვნელობაში შედის:

  • 0x7F (ბიტების ნიღბა): სუბფრეიმების რაოდენობა, რომლებიც ამ ფრეიმში გამოიყენება
  • 0x80: ინფორმაცია იმის შესახებ, არის თუ არა ოპციონალური 1 და 2 ხელმისაწვდომი
0x0001 uint(8) უცნობი 1 და ტოგლი არჩევითი 3, 4-ისთვის

ამ მნიშვნელობაში შედის:

  • 0x7F (ბიტმასკა): უცნობია - მაქვს ძლიერი ეჭვი, რომ ეს არის რაოდენობა გემატიკების, რომლებიც გადის, სანამ შემდეგი ჩარჩო გამოჩნდება
  • 0x80: ინფორმაცია იმის შესახებ, არის თუ არა წარმოდგენილი სავალდებულო 3 და 4
0x0002 uint(8) ვარიანტი 1

უცნობი

0x0003 uint(8) სავალდებულო 2

უცნობი

0x0004 uint(8) შერჩევითი 3

უცნობი

0x0005 uint(8) optional 4

უცნობი

ზედმხარის ჩარჩო

მისამართი x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xA xB xC xD xE xF სიმბოლო
0x0000 -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- . . . . . . . . . . . . . . . .
ოფსეტი მონაცემთა ტიპი სახელი განმარტება
0x0000 uint(16) ბიტმაპის ID

მიუთითებს, რომელი ბიტმაპი უნდა იქნას გამოყენებული ამ სუბფრეიმისთვის

0x0002 uint(8) უცნობი 1

არ არის ცნობილი - თუმცა მტკიცედ ვვარაუდობ, რომ ეს დაკავშირებულია რენდერირების პრიორიტეტთან (Z-საშუალება).

0x0003 uint(8) საბჭო-იდენტიფიკატორი

მიუთითებს, რომელ სუბფრეიმში ვიმყოფებით

0x0004 sint(16) ოფსეტი - ჰორიზონტალური

განსახვედრებს, სად უნდა განთავსდეს სუბფრეიმი ჩარჩოს შიგნით, ან რამდენი პიქსელი უნდა გადავწიოთ ბითმაპი ჰორიზონტალურად

0x0006 sint(16) ოფსეტი - ვერტიკალური

ბრძანება, სად უნდა მოთავსებულიყო სუბფრეიმი ჩარჩოს შიგნით, ან რამდენი პიქსელით უნდა გადაიდოს ბიტმაპი ვერტიკალურად

ამით შეგვიძლია შევკრიბოთ როგორც ინდივიდუალური ფრემები, ისე სრული ანიმაციები, რაც ამ კომპლექსური ანიმაციის, ინდექსით 500, მაგალითზე არის დემონსტრირებული

ანიმაცია 500

ანიმაცია 500 აჩვენებს, როგორ აუღებენ პლიმუთის ტრანსპორტერს, რომელიც ჩვეულებრივი მადნით არის დატვირთული. ეს არის ერთ-ერთი რამდენიმე ანიმაცია, რომელიც იყენებს ფანჯრის ფუნქციონალობას.

და ასე შეიძლება შეეწყოს სრული ანიმაცია.
სამწუხაროდ, არსებობს კიდევ ერთი პრობლემა ზედა დატვირთვის ფანჯარასთან, რადგან აქ შესაბამისი ბიტი გრაფიკული ტიპის ინფორმაციაში არ არის დაყენებული.

აქ არის კიდევ რამდენიმე მშვენივრად ანიმირებული სპრაიტი თამაშიდან:

ანიმაცია 500-ის რენდერინგი ილუსტრირებული

ანიმაცია 500 დასრულებულად შეერთებული

პლიმუთის შენობა-ფაბრიკა

ედენის კოსმოსური პორტი

ედენის სამედიცინო ცენტრი

SCAT

პლიმუთის კოსმოსური პორტი

Easteregg:
შობა

Easteregg:
Dans Dog