У меня есть модель дома в моей игре, и у меня есть материалы для геометрии дома. Существует материал для стены дома, и у меня есть текстура-карта-изображение, чтобы показать кирпичи.Как повторить текстуру, такую как GL_REPEAT?
var mat = new THREE.MeshPhongMaterial({
ambient: 0x969696,
map: THREE.ImageUtils.loadTexture('textures/G/G0.jpg'),
overdraw: true,combine: THREE.MultiplyOperation
});
Таким образом, выше, карта текстуры выглядит как GL_CLAMP
я хочу, чтобы показать, как GL_REPEAT
.
Что мне делать?
Если вы не видите изображения, отметьте this.
Я пытаюсь установить wrapS и wrapT как это, но это не сработает. Я думаю, что материал неправильный, теперь я использую MeshPhongMaterial, следует ли вместо этого использовать ShaderMaterial? – user1497753
Не знаю, я попытался бы это сделать. Текстура должна быть сильной двух, см. [WebGLRenderer, l. 5721] (https://github.com/mrdoob/three.js/blob/master/src/renderers/WebGLRenderer.js). –
У меня была аналогичная проблема, я масштабировал куб, а текстура была растянута. Чтобы предотвратить это, вам нужно установить новый размер куба в 'render()' следующим образом: 'texture.repeat.set (2 * cWidth, 2 * cHeight);' (тогда текстура ведет себя как немасштабированный шаблон). Надеюсь, это поможет. –