# Загрузка объектов с помощью класса loader

Всегда, при загрузке каких-либо объектов, будь то материалы, 3D-модели и тому подобное, нужно использовать особый тип объектов библиотеки THREE.js, называющихся loader.

{% hint style="info" %}
Подробнее о загрузчиках можно прочитать [**здесь**](https://threejs.org/docs/?q=loader#api/en/loaders/Loader).
{% endhint %}

Загрузчик используется для того, чтобы добавить, к примеру, материал на сцену извне.

Пример использования загрузчика — добавление текстуры на плоскость *(строка 6)*:

{% code lineNumbers="true" %}

```javascript
let loader = new THREE.ImageLoader;

let planeGeometry = new THREE.PlaneGeometry(20, 5, 10, 10);
let planeMaterial = new THREE.MeshBasicMaterial({
	//Использование загрузчика
	map: loader.load("https://mywebar-a.akamaihd.net/1330/20322/Mywebar.png?hash=028902a08ce058c1a17f57b40d423ca9"),
	side:THREE.DoubleSide
});
plane = new THREE.Mesh(planeGeometry, planeMaterial);
```

{% endcode %}

Так в чем же ограничения при использовании загрузчика?

Не со всех серверов можно импортировать файлы. Сервер, с которого вы импортируете свой файл, должен разрешать совместное использование ресурсов и иметь **Access-Control-Allow-Origin**. Что это такое написано [здесь](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin).

В случае, если сервер не разрешает  совместное использование ресурсов, вы увидите в консоли следующую ошибку:

![](https://16483826-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FQlfxB1bBQeYgEsEfSMqq%2Fuploads%2FRix5hfN9OkjGKM3gM5RE%2FLoader_1.jpg?alt=media\&token=df199cac-5e2f-43e7-baf6-2d3af83e8586)

Как видно выше, ссылка на изображение с Google.Drive не проходит проверку, из-за чего сцена не может запуститься и появляются ошибки.

&#x20;
