В общем, решилось вот таким примитив-ранглом: int s; vector p; float u, v; int id = intersect(1, @P-@N, @N*2, p, u, v); id = primattrib(1, "wallID", id, s); if (s) @wallID = id;
а если оно у тебе перестанет прилегать - я собственно поэтому и шарик сначала взял - лоуполька оч редко когда прилегает к хайпольке - разве что у тебя именно случай когда сабдив без смуса. но эт очень редкая ситуация
ну у меня решилось все так: на входе текстура нормалки (без галки на Linearize Non-Linear Images но тут видимо опционально потыкать) сначала через ноду gamma 2.2 пропускаешь , потом labs normal invert, потом возвращаешь гамму нодой gamma с обратным значением то есть 1/2.2 или оно же 0,454545. итог нужная нормалка пипетс)) вдруг кому поможет) #normal #gamma #normals #invert #invertnormals
Я делал так же, но только кодом (вопом точнее кажется), но там какие-то ещё баги вылезли. Я в целом с этими нормалями боролся несколько месяцев, т.к. я делал и бейк, и генерацию хайполи, и кучу аттрибутов, и номалку и ещё чёрт знает что... Но в итоге терпелка закончилась и я понял, что чем месяцами сидеть в Гудини проще сделать за 20 минут в софте, который умеет это делать из коробки )