Autor Téma: Malé animace charakterů - trpaslík, hobit, kudúk atd.  (Přečteno 116 krát)

golfin

  • Expert
  • **
  • Příspěvků: 26
  • Karma: +0/-0
    • Zobrazit profil
Malé animace charakterů - trpaslík, hobit, kudúk atd.
« kdy: Leden 12, 2019, 03:45:22 odpoledne »
Podařilo se mi po X letech vymyslet způsob, jak nejenom vytvořit animaci těla pro menší postavy, ale též oblečení, zbroje a zbraně. Není to sice jednoduché, ale lze to udělat. V zásadě, jak na to? Jednoduché. Vezmu starý Mulpatcher v.9.8, který umí extrahovat do bmp obrázků. Animaci extrahuji. Pomocí IrfanVieweru napřed změním 100% bílou na 100% černou. Týká se to transparentního pozadí animace. Kdybych nechal bílou, udělá to duchy ve výsledku. Potom opět s IrfanViewerem změním velikost animace z původní 100% na 85 %. Tady je nutné vše měnit na 85%, jinak to nebude sedět. Mulpatcher při extrakci vytváří soubor liste.txt, kde se řeší souřadnice pozicování jednotlivých obrázků. Tady je nutné  ubrat u souřadnice X 2 body (pixely). Pak to bude nacentrované a animace může např. sedět na koni. No a pak to importuji pomocí Mulpatcheru do animací na pozici, kterou chci. Musím upozornit, IrfanViewer umožňuje pracovat dávkově, to znamená všechny soubory najednou. Jinak bych to nedělal a vypípal bych se na to.

V podstatě, animací oblečení, zbrojí a zbraní je hodně. Nebudu je asi dělat všechny, ale ty základní ano. Ono by se to nevešlo. V podstatě gargoyles animace asi vyruším a nahradím je novými malými. Bude mi to i trvat, odhaduji rok práce. Ale pujde to. Na sphereserveru to pak pravděpodobně vydám. Jako celý balík. Zde na Morii to možná využijete, i když jedete na stařičké sféře. A se staršími soubory UO. Budete mít méně místa pro uplatnění. Ale, v minulosti se mi s Mandosem a tartarosem velmi dobře spolupracovalo, tak by to bylo fajn, kdyby ste měli opravdového trpajzlíka nebo hobita. *usmál se*

Malá ukázka:



Jediné co mi chybí, je dávkový skript, nebo prográmek, který by změnil hromadně text v souboru list.txt. Je nutné změnit souřadnice X o dva dolů.
Kód: [Vybrat]
CenterX:3  změnit text na CenterX:1
CenterX:4 změnit text na CenterX:2
CenterX:5 změnit text na CenterX:3
CenterX:6 change text to CenterX:4
.
.
.
.
.
až do
CenterX:30 změnit text na CenterX:28

Kdyby se někomu chtělo něco napsat v javě, nebo něčem jiném, budu děkovat.  :D
« Poslední změna: Leden 12, 2019, 03:59:59 odpoledne od golfin »
Sphera a Ultima se dají velmi krásně modifikovat. Tak proč z toho nezkusit udělat Drd Online. *usmál se*

golfin

  • Expert
  • **
  • Příspěvků: 26
  • Karma: +0/-0
    • Zobrazit profil
Re:Malé animace charakterů - trpaslík, hobit, kudúk atd.
« Odpověď #1 kdy: Leden 16, 2019, 03:59:39 odpoledne »
Sphera a Ultima se dají velmi krásně modifikovat. Tak proč z toho nezkusit udělat Drd Online. *usmál se*

MyKE

  • Administrator
  • Novic
  • *****
  • Příspěvků: 1
  • Karma: +0/-0
    • Zobrazit profil
Re:Malé animace charakterů - trpaslík, hobit, kudúk atd.
« Odpověď #2 kdy: Leden 24, 2019, 02:08:40 odpoledne »
Ahoj golfine,

udelal jsem ti na to skript v PowerShellu. Staci mit verzi 3.0 a vyssi.

  • Spust powershell (Start > powershell.exe)
  • Uprav promennou $FileContent a $DestinationFile
  • Zkopiruj cely kod a vloz jej do PowerShellu (kliknutim praveho tlacitka) a zmackni enter.
  • Tam, kdes nastavil $DestinationFile budes mit vystup ktery pozadujes  :)

Skript predpoklada, ze vstupnimi daty je soubor ktery obsahuje ciste radky CenterX:* - kde * je cislo. Takze:

Citace
CenterX:1
CenterX:2
CenterX:5
CenterX:13
...

Tady je powershell skript:

Kód: [Vybrat]
try {

    ########################### MODIFY BEFORE RUN ###########################
    $FileContent = Get-Content "C:\Users\uzivatel\Downloads\list.txt" -ErrorAction Stop #Input file containing CenterX:*
    $DestinationFile = "C:\Users\uzivatel\Downloads\ModifiedList.txt" #Output file after modification
    [int]$DecreaseBy = "2"

    ########################### DO NOT MODIFY ###########################
    [int]$LineCounter = "0"
    $ObjArr = @()

    foreach ($item in $FileContent) {
        if ($item -like "CenterX:*") {
            Write-Output "[OK] - Line number $LineCounter verified."

            $obj = New-Object psobject

            [array]$ReplacedText = $item -replace ":",";"
            [int]$LineArrCounter = 0
            $pos = $ReplacedText[$LineArrCounter].IndexOf(";")
            $leftPart = $ReplacedText[$LineArrCounter].Substring($LineArrCounter, $pos)
            $rightPart = $ReplacedText[$LineArrCounter].Substring($pos+1)
            $LineArrCounter++

            $obj | Add-Member -MemberType NoteProperty -Name LeftPart -Value $leftPart
            $obj | Add-Member -MemberType NoteProperty -Name RightPart -Value $($rightPart-$DecreaseBy)

            $ObjArr += $obj

        }#end if
        else {
            Write-Output "[ERROR] - Line number $LineCounter do not contain 'CenterX:'!"
        }#end else

        $LineCounter++

    }#end foreach

    $ObjArr | ForEach-Object {
        Write-Output "$($_.LeftPart):$($_.RightPart)" | Out-File $DestinationFile -Encoding utf8 -Append -ErrorAction Stop
    }#end Foreach-Object
   
}#end try
catch {
    Write-Error $_.Exception.Message
}#end catch
« Poslední změna: Leden 24, 2019, 02:15:43 odpoledne od MyKE »

golfin

  • Expert
  • **
  • Příspěvků: 26
  • Karma: +0/-0
    • Zobrazit profil
Re:Malé animace charakterů - trpaslík, hobit, kudúk atd.
« Odpověď #3 kdy: Leden 26, 2019, 08:02:16 dopoledne »
Tak power shell mě nenapadl, to zní zajímavě. Díky MyKE. Pak Ti ty animace pošlu, až budou hotový, předpokládám, že si je hodíš na svůj web.
Sphera a Ultima se dají velmi krásně modifikovat. Tak proč z toho nezkusit udělat Drd Online. *usmál se*

golfin

  • Expert
  • **
  • Příspěvků: 26
  • Karma: +0/-0
    • Zobrazit profil
Re:Malé animace charakterů - trpaslík, hobit, kudúk atd.
« Odpověď #4 kdy: Leden 27, 2019, 07:52:55 dopoledne »
Ahoj MyKE, tak jsem to vyzkoušel a háže to errory. Pak to vytvoří upravený soubor, ale mimo všechny centerX ostatní vymaže.  Tady se podívej, jak vypadá soubor liste.txt. Jsou tam i mínusový položky, s tím skript nepočítá.  liste.txt. Každá animace má tento soubor jiný s jinýma hodnotama. No, ale asi to nedělej. Dostalo se mi náhradního řešení. Nicméně powershell, kouknu se na to jak to skriptovat. Používám ho pro upravu win desítek, k odstranění některých microsoft věcí, které nechci. I tak děkuju MiKE. Uvedu Tě také jako spoluautora, až to vydám. Jinak, na Tvých stránkách jsem viděl Landscaper, upravuji do něj nějaký prvky ve verzi 1.5, Jestli budeš chtít, dám Ti to tam na stahování, až to dodělám. Landscaper je i důvod, proč zde nemohu hrát, vyuýívá registry instalace UO a ja ji nemohu změnit pro Erebor. Což je škoda.  :)
Sphera a Ultima se dají velmi krásně modifikovat. Tak proč z toho nezkusit udělat Drd Online. *usmál se*

golfin

  • Expert
  • **
  • Příspěvků: 26
  • Karma: +0/-0
    • Zobrazit profil
Re:Malé animace charakterů - trpaslík, hobit, kudúk atd.
« Odpověď #5 kdy: Leden 27, 2019, 09:27:28 dopoledne »
Progress ....

Sphera a Ultima se dají velmi krásně modifikovat. Tak proč z toho nezkusit udělat Drd Online. *usmál se*

golfin

  • Expert
  • **
  • Příspěvků: 26
  • Karma: +0/-0
    • Zobrazit profil
Re:Malé animace charakterů - trpaslík, hobit, kudúk atd.
« Odpověď #6 kdy: Dnes v 06:15:22 dopoledne »
Progress ....

Sphera a Ultima se dají velmi krásně modifikovat. Tak proč z toho nezkusit udělat Drd Online. *usmál se*