Vsakosti
August 29, 2023

Logotip PSone i v kakom městu on žive

Originalny zapis | i jegov avtor

Znajemy obrazok? Mysljim, že on jest znany mnogym ljudam. Mnogi videli tutoj logotip v startovanju PS1. Javilo se, že tutoj logotip jest 3D objekt. I jestvuje on v každom disku s igroju v proprietarnom formatu.

V někaky čas ja interesoval se procesom programovanja pod tutu konsol i jesm natknul se na sajt psxdev.net, v ktorom v sekcije dobytja fajlov možno najdti oficialne instrumenty za programovanje i oficialnu dokumentaciju. V tamtoj dokumentaciji jest opis sutstvujučyh tam fajlotipov. Jedin iz tamtyh formatov je byl TMD. Srazumevši, kako skonstruovano je zaglavje, ja jesm počel gledati po njemu fajly v različnyh obrazah igr. I kakovo je bylo moje udivjenje, kogdy na samom početku, ješče do objavy/deklarovanja rekvizitov igry, byla najdena podobna signatura. Zaradi interesa sut byli progledane i druge obrazy. I vsečto povtorilo se. TMD fajl byl nearhivovany/nepotisknuty v samom početku obraza igry. To je 5 sektor diska. A, napriměr, samo deklarovanje igry je od 16 sektora, kde opisyvaje se platform i nazva igry.

Obraz diska, otvorjeny v HEX-redaktoru

Ob vsečtu po poredku. Signatura podobnogo tipa fajlov je značenje 0х00000041. Dalje idut služebne dane. Na pokazanom ekranosnimku (skrinšotu) to mnogodobro vidno. Ježeli otvoriti dokumentaciju, a ona netežko gugli se, fajl nazyvaje se "fileformat47", i pomalu počitati, to dělaje se razumlivym, že modela sostoji/skladaje se iz jednogo objekta, imaje 337 površin (0х00000151), 153 normaly (0х00000099), 560 poligonov (0х00000230), i označenje razměrnosti 7 (měra, v koju trěba staviti 2, da by dobyti razměr).

Směsta objavilo se pytanje, kako to pokazati/otobraziti, koja tam figura je. Možno najdti někaky konverter v DXF ili RSD, da by otvoriti model v někakom modelogledalniku. Ale htěl jesm svojego opyta/pokusa. Tomu je bylo rěšeno/sdecidovano napisati něčto, koje moglo by pokazati model. Pogledavši na fajlostrukturu ja jesm srazumel, že sam objekt ne jest težky, bez tekstur s jednokolorymi poligonami bez gradientov. O tom govoret zaglavja poligonov 0х2000304.

Ja jesm spočel kopati v stranu Opengl i črez (priblizno sedmicu) napisal malu programu, koja by dozvolila pokazati to. I ono pokazalo se. Jesm uzrěl logotip, ale od togo, že moje znalosti v programovanju priblizno ravny do podobnyh u školnika/učenika tretjego klasa po matematikě, ja rěšil, že je bylo by nezlo prěgoniti fajl v něčto občeznano, ktoro by dozvoljalo otvorjati fajl v mnogoznanyh programah, napriklad, v standardnom modelogledalniku 3D Viewer v Windows 10. Ja gledal, kake fajlovormaty on može otvoriti. Jedin iz tamtyh formatov spodobil se za mene — OBJ. Ja jesm pogugloval, čego on iz sobě skladuje/buduje i uzrěl, že to mnogorealizujemo (realizabelno). V občem ustroj fajlov mnogoshodny: jest sbirka (array) površin, sbirka normalij, i poligony, koje oprěděljeny/ustanovjeny indeksami površin i normalij.

Imajuči někake poznalosti s C, ja napravdu brzo stvoril program, koj transformuje dane v fajl OBJ. Napravdu, na početku jesm to stvoril na Python, ale ne osilil procedury na stvorjenje fajlov; v C to za mene javilo se vyše netežkym. Da, to imalo uspěh, ale javilo se, že v tutyh fajlah ne imaje se informacija o kolorah poligonov. Byl povinen guglovati, kak prědati informaciju o koloru. Javilo se, že trěba stvorjati + jedin fajl formata MTL (od "material"). Obadva fajla sut povineny byti zajedno jedin pored drugogo, kako Boni i Klajd.

Imalo uspěh. Da, kod ne jest idealny. Možno sgrupovati poligony po koloram, a ne davati každomu poligonu svoj kolor, kak to činim ja.

Ako li někym interesno, to ja ostavjaju link na katalog s izhodnym kodom: https://disk.yandex.ru/d/Kwk8tYfHonyl6g

To, čto to jest logotip, ja jesm srazumel v fevruaru 2020 lěta. I v silu raznličnyh situacij ostavil tutoj projekt. I poslě togo, kak jesm puplikoval tutoj članok/zapis, ja poznal, že priblizno lěto nazad už je byl podobny zapis od někakogo avstralijskogo blogěra, ale tam sut poznali o trivyměrnosti/trirazměrnosti poslě někakogo glitča.