Не дать стянуть, допустим меши, нельзя, но максимально осложинить жизнь, чтобы человек плюнул на это дело — можно. Допустим такой путь: загружать не готовые меши, а какие-нибудь одному вам известные заготовки, из которых делать меши уже с помощь JS прямо на клиенте, а код обсфуцировать.
Раскрою мысль, что я имеют ввиду. Например, у меня была такая ситуация: динамически строились некие объекты, которые являются лофтами неких профилей. В моём случае можно было бы присылать готовые меши с сервера, но посмотрев на производительность и объём трафика, я понял, что мне лучше, чтобы скрипт сам допиливал модели на клиенте (у меня three.js). Я присылал скрипту одному мне известного формата JSON, который потом JS превращал в модель.
Мне не надо было ничего ни от кого прятать, но для ваших целей можно обобщить: присылать "зашифрованные" данные одному вам понятного формата и "декодировать" их в меши обсфуцированным кодом. Заодно и Webgl обсфуцируйте. :) Короче, защита через неясность.