Diskuze: Modify mask v Unity
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 8 zpráv z 8.
V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.
To není sprite ve spritu. Je to jeden sprite. Potřeboval bych "aktivní" jenom část spritu.
Jinými slovy potřebuji "aktivní" pouze část spritu.
Tak to udělej jak jsem psal já a máš to vyřešené. Jeden sprite jako pozadí, co nebude na nic reagovat, druhý sprite jako popředí, které bude reagovat na cokoliv.
Uvedu to na obrázku níže. Představte si, že celý ten obdélník je sprite o kterém se tu bavíme a já potřebuji, aby hra reagovala jen v případě, kdy hráč najede myší na červenou část spritu.
Prečo to nevyriešiš raycastom, ak ti to niečo hovorí? Vytvoríš raycast z kamery (prípadne ak chceš raycastovať vyslovene cez kurzor, nie stred obrazovky, tak použiješ Camera.ScreenPointToRay(Input.mousePosition) ) a pokiaľ ten raycast zasiahne tú červenú oblasť, tak robíš čo chceš.
No a k samotnému problému ako detekovať, či si hitol červenú alebo čiernu časť - prikláňam sa k riešeniu používateľa dez1nd, a síce rozdeliť objekt na dva - osobitný objekt bude pozadie, osobitný tá červená, interaktívna časť (samozrejme im môžeš dať spoločného predka/rodiča, to je už na tebe). Jediné alternatívne riešenie je podľa mňa pracovať so súradnicami bodu v priestore, ktorý trafil raycast a výpočtom určiť jeho pozíciu na tom sprite (napr. či je už príliš ďaleko od stredu spritu na to, aby mohol byť v červenej oblasti a pod.).
Už to jede, děkuju všem za pomoc.
Zobrazeno 8 zpráv z 8.