.[ ČeskéHry.cz ].
UE4 - rozbijatelne okna / update constant bufferu

 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
megaton



Založen: 19. 05. 2016
Příspěvky: 17

PříspěvekZaslal: 18. prosinec 2017, 16:25:11    Předmět: UE4 - rozbijatelne okna / update constant bufferu Odpovědět s citátem

Caute, chcem v UE4 spravit rozbijatelne okna. Musi to byt efektivne, nechcem vytvarat tisice objektov.

V DX11 by som to spravil tak, ze si okno rozsekam na mensie ulomky, dam ich do jedneho meshu, do kazdeho vertexu ulozim id ulomku.
Vytvorim constant buffer kde budu ulozene matice (ci skor quaterniony) pre ulomky.
Po detekcii ze sa ma okno rozbit dam ulomky do fyziky, kazdy frame zoberiem ich transformacie z fyziky a hodim do constant buferu. Vo vertex shaderi potom vyberiem maticu podla id a transformujem vertex. Ziaden problem.

Otazka je ako toto spravim v UE4? Nezalezi mi ci v editore ci v C++.
Ma s tym niekto skusenosti? Alebo je vhodne to v UE4 riesit inak?

Asi najviac ma zaujima ako vytvorim a updatujem ten constant buffer a ako upravim vertex shader.

Co som zatial nasiel https://answers.unrealengine.com/questions/423891/how-to-update-efficiently-uniform-buffer-in-shader.html tak neexistuje efektivny sposob ako updatovat constant buffer v UE4.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
micky



Založen: 28. 02. 2008
Příspěvky: 317
Bydliště: Plzeň, Praha

PříspěvekZaslal: 19. prosinec 2017, 14:26:53    Předmět: Odpovědět s citátem

A co to ulozit do textury?

... https://www.youtube.com/watch?v=aYZEmaQUrAo
_________________
http://www.bluepulsar.cz/
https://twitter.com/bluepulsargames/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
megaton



Založen: 19. 05. 2016
Příspěvky: 17

PříspěvekZaslal: 19. prosinec 2017, 15:09:25    Předmět: Odpovědět s citátem

Dik, to by stalo za pokus, zrejme by netrebalo ani modifikovat Unreal.
Texturu bude treba updatovat kazdy frame, ale zase ta bude velmi mala,
len 32KB pre 1000 objektov (32B na objekt: pozicia + quaternion + pripadne
scale) takze to nemusi vadit. Wink

Inak uvazoval som i nad Apexom, ale chcem to pouzit i pre auta a Apex
ma limit max 2000 objektov na scenu a tiez tam asi nemas plnu kontrolu nad
tym ktore ulomky sa maju simulovat a ktore nie, takze by to mohol
byt vykonovy problem.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1382
Bydliště: Telč

PříspěvekZaslal: 20. prosinec 2017, 10:54:22    Předmět: Odpovědět s citátem

megaton napsal:

Texturu bude treba updatovat kazdy frame, ...

To právě ne, koukni na to video ještě jednou. Posouval bys jen UVčka toho střepu.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
megaton



Založen: 19. 05. 2016
Příspěvky: 17

PříspěvekZaslal: 20. prosinec 2017, 11:06:36    Předmět: Odpovědět s citátem

No ja chcem ale preniest transformacie z fyziky do shaderu. Pouzil by som texturu ked uz ten update constant bufferu v UE4 nefunguje idealne. Nie je mi jasne ako by mi pomohlo posuvat UV. V ktorej minute to je?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
]semo[



Založen: 29. 07. 2007
Příspěvky: 1382
Bydliště: Telč

PříspěvekZaslal: 20. prosinec 2017, 12:39:04    Předmět: Odpovědět s citátem

Aha, ty je chceš přenýst z fyziky počítané v reálném čase. Myslel jsem, že fyzika by byla předpočítaná a v textuře by bylo uloženo více framů. Tak to je jiná.

Řekl bych, že v UE by to mělo jít přes kostěný animace (skinned mesh, nebo jak se to jmenuje?). To se kreslí taky na jeden drawcall a kost má přesně to, co potřebuješ - transformaci. Kdysi jsem takhle zkoušel v UE rozpohybovat vlastní fyzikou model letadla.
_________________
Kdo jede na tygru, nesmí sesednout.
---
http://www.inventurakrajiny.cz/sipka/
Aquadelic GT, Mafia II, simulátory
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
micky



Založen: 28. 02. 2008
Příspěvky: 317
Bydliště: Plzeň, Praha

PříspěvekZaslal: 21. prosinec 2017, 11:22:38    Předmět: Odpovědět s citátem

Přenášet transformace z fyziky rovnou do shaderu mi přijde zvláštně na půli cesty. Budou těch střepů desetitisíce? Pak to stejnak vytíží fyziku (malé a rychlé objekty) a použil bych předpočítanou animaci třeba z textury. I za cenu, že mi pak porovnají hru s mafií 1.

Nebo je to vážně takový rozdíl použít regulérní entity?

S těmi kostmi, to je de facto ragdoll, ne?
_________________
http://www.bluepulsar.cz/
https://twitter.com/bluepulsargames/
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
megaton



Založen: 19. 05. 2016
Příspěvky: 17

PříspěvekZaslal: 21. prosinec 2017, 17:56:21    Předmět: Odpovědět s citátem

Predpocitane ulomky by som nerad robil v roku 2018, ak sa to da spocitat realtime. Razz

Dynamickych ulomkov bude do 1000, este to obmedzim podla vykonu fyziky. Co staci asi tak na 2 auta. Rozbijem okno,
ulomky blizko narazu pridam do fyziky, takze realne spadnu na zem a po cca 2s ich z fyziky vymazem.
Niektore ulomky zostanu na svojom mieste na aute, tych moze byt vela, i 100 tisic ak mas velke mnozstvo aut.
Tie nebudu vo fyzike. Staticke i dynamicke bude renderovat jeden shader naraz, az na to
ze staticke nepotrebuju maticu z textury. Textura pre matice bude len jedna na vsetky auta.

Je preto vhodne aby ten rendering bol rychly, nemozu to byt entity.
Navyse mam pocit ze UE4 by skolaboval az by som v realnom case vytvoril 1000 entit.

Ten skinned mesh by mohol fungovat, ale to mi pride zlozitejsie na implementaciu. Necham si ho ako zalozny
plan az by textura nefungovala dobre.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Strana 1 z 1

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna