czwartek, 30 marca 2017

[DSP2017] 9# Holowizja - choć pomaluj mój świat na żółto i na niebiesko…

Dziś małe uzupełnienie poprzedniego odcinka. Pokażę krótko, jak pokolorować ściany, podłogę i sufit pokoju i bynajmniej nie mam tu na myśli pracy malarza… bo stanie się to tylko w naszej głowie z HoloLens.

Do sceny z  HoloVision7  dodaję game obiekt o nazwie SpatialProcessing, a do niego skrypty z HoloToolkit o nazwach SurfaceMeshesToPlanes i RemoveSurfaceVertices oraz skrypt PlaySpaceManager z Holograms 230: Spatial mapping (z zakomentowaną linią

SpaceCollectionManager.Instance.GenerateItemsInWorld(horizontal, vertical);

odpowiedzialną za umieszczanie obiektów na scenie)

R0

W SurfaceMeshesToPlanes wybieramy w Surface Plane Prefab komponent SurfacePlane. Z kolei w inspektorze tego ostatniego ustawiamy materiały dla ścian, sufitu, podłogi, stołu pokoju.

image

Materiały dla nich możemy zdefiniować sami albo dla testu wykorzystać z Holograms 230: Spatial mapping.

Generalnie chodzi o to by przetworzyć zmapowaną przestrzeń, wykryć w niej podłogę, ściany, sufit czy stół, a potem je pokolorować.

Oto co wynurzyło się przed moimi oczami (po przejściu przez ścianę cofając się do tyłu z początkowego punktu, który był zdaje się w jakimś pustościanie).

R6

Scena dostępna na github jako HoloVision8.

Chciałem jeszcze umieścić bez ingerencji użytkownika na ścianie jakiś przedmiot, ale okazało się to niezbyt proste. Owszem Holograms 230: Spatial mapping dostarcza skrypty, które to robią, ale zależą one od starszej początkowej wersji Holo toolkitu. W nowym HoloToolkicie odnajdziemy natomiast skrypt TapToPlace, który przypięty do obiektu sprawi, że gdy najedziemy na niego kursorem i naciśniemy, to obiekt będzie podążał za kursorem osadzając się na siatce pokoju. W testowej scenie toolkitu nawet to działa, na mojej scenie póki co nie uzyskałem tego efektu. Inna sprawa, że samo renderowanie tej siatki, a potem wykrywanie ścian i kolorowanie nie działa natychmiast, a losowo w emulatorze może wyświetlić się scena bez pokoju…

Cześć, do następnego zwariowanego odcinka –Smile

Brak komentarzy: