Перейти к содержимому

Assets что это за папка

  • автор:

Assets что это за папка

Специальные Папки Проекта

В большинстве случаев вы можете называть папки в проекте как угодно. Однако в Unity есть специальные зарезервированные имена папок, содержимое которых Unity обрабатывает особым образом. К примеру чтобы правильно работать, скрипты расширяющие возможности редактора Unity должны быть помещены в папку с названием Editor. Полный список имен специальных папок описан ниже.

Assets

Папка Assets — главная папка в которой содержатся все ассеты, которые могут быть использованы проектом на Unity. Содержимое Project view соответствует содержимому папки Assets. Большинство функций API предполагают что всё содержится в папке Assets и не требуют явного указания расположения. Однако есть некоторые функции которым нужно явно указывать папку Assets (напр. некоторые функции класса AssetDatabase).

Editor

Все скрипты размещённые в папке Editor (или подпапке) будут расцениваться как скрипты редактора Unity нежели как скрипты проекта. Такие скрипты предназначены для расширения функционала редактора Unity и недоступны во время выполнения проекта. В проекте может быть несколько папок Editor, но надо учитывать что размещение конкретной папки Editor влияет на порядок компиляции скриптов относительно других скриптов. Подробности смотри на странице Специальные Папки и Порядок Компиляции Скриптов.

Editor Default Resources

Используя функцию EditorGUIUtility.Load скрипты редактора Unity могут загружать файлы ассетов по мере надобности. Эта функция ищет файлы ассетов в папке Editor Default Resources которая должна быть размещена в корне папки Assets.

Gizmos

“Гизмо” позволяют вам визуализировать детали реализации в окне сцены которые в обычных условиях невидны. Функция Gizmos.DrawIcon рисует в окне сцены иконку-маркер обозначающую какой либо специальный объект или местоположение в пространстве. Изображение для этой иконки-маркера следует разместить в папке Gizmos чтобы функция смогла его найти.

Plugins

Система подключаемых модулей позволяет расширять функционал Unity. Подключаемые модули это нативные DLL как правило реализованные на языке C/C++. Они позволяют получить доступ к сторонним библиотекам (например распознавания речи), системным вызовам и прочему функционалу недоступному Unity в стандартной поставке. Чтобы подключаемый модуль распознался Unity их следует разместить в папке Plugins и как и для папки Editor, это повлияет на порядок компиляции скриптов. Подробности смотри на странице Специальные Папки и Порядок Компиляции Скриптов.

Resources

Как правило создание экземпляров ассетов происходит в окне сцены и потом используется во время игры. Также в Unity есть механизм загрузки ассетов по требованию. Для этого нужно разместить ассеты в папке Resources или её подпапке (в проекте может быть несколько папок Resources и размешать их можно где угодно). Загрузить ассеты можно с помощью функции Resources.Load.

StreamingAssets

Когда вы импортируете какой-либо стандартный пакет с ассетами (menu: Assets > Import Package ) ассеты пакета размещаются в папке Standard Assets или Pro Standard Assets в случае если пакет доступен только для Про лицензии. Помимо того что папки содержат ассеты, они также влияют на порядок компиляции скриптов. Подробности смотри на странице Специальные Папки и Порядок Компиляции Скриптов.

StreamingAssets

Большинство игровых ассетов преобразуются во внутренние форматы Unity и встраиваются в собранный проект, однако есть случаи в которых нужно хранить ассеты в их исходном формате в виде отдельного файла. Например чтобы проиграть видео на платформе iOS нужно читать файл видео напрямую из файловой системы нежели использовать для этого MovieTexture. Если разместить файл в папке StreamingAssets_, при сборке проекта он будет скопирован в исходном виде на целевую платформу где будет доступен из определённой папки. Подробности смотри на странице Потоковая передача Ассетов.

WebPlayerTemplates

Для сборок под web-плеер, вы можете предоставить собственный вариант страницы для размещения web-плеера. Страница оформляется в виде шаблона который включает в себя информацию из проекта, например имя проекта. Чтобы эти шаблоны были доступны в Unity, их следует размещать в папке WebPlayerTemplates. Подробности смотри на странице Использование шаблонов Web Player. Также стоит отметить, что все скрипты, размещенные в папке WebPlayerTemplates, будут игнорироваться компилятором. Это можно использовать как временное место для хранения неготовых скриптов, из-за которых невозможно запустить игру.

Assets

During the import process Unity completely ignores the following files and folders in the Assets folder (or a sub-folder within it):

  • Hidden folders.
  • Files and folders which start with.’.
  • Files and folders which end with~’.
  • Files and folders namedcvs’.
  • Files which have ‘tmp’ extension.

This is used to prevent importing special and temporary files created by operating system or other applications.

В чем отличие public и assets?

Фото проекта на viteJS

Что такое (public, assets) и что в нем хранить? Зачем нам это?

Отслеживать
задан 19 мая 2023 в 7:00
59 4 4 бронзовых знака
сейчас объясню)
19 мая 2023 в 7:31

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

public — папка в которой лежат публично доступные файлы разого назначения например index.html, hello.html и.т.д. как правило это и есть корень сайта /

assets — папка в которой лежат ассеты сайта (картинки, скрипты, стили, шрифты) и которая может быть легко переписана компилятором webpack и им подобным без потери важных данных.

storage — папка куда пользователи могут например залить видеофайл или автарку но которая так или иначе учавствует в процессе работы сайта. Как правило управляеться backend скриптами.

static — папка куда разработчик кладёт ассеты сайта (картинки, скрипты, стили, шрифты). Но которая управляеться именно разработчиком, а не создаёться автоматический при компиляции webpack’ом.

А вообще такое разделение нужно не только что-бы было удобно пользоваться посткомпиляцией, но ещё активно учавствует в правильной настройке кеширования сайта.

Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

  • Форум
  • » Laravel 5.x
  • » Каково назначение папки resources/assets?

Страницы 1

#1 07.10.2017 11:40:36

Gleb2708 +29 Сообщений: 63 Статей: 1

Каково назначение папки resources/assets?

Каково назначение папки assets (resources/assets)?

Я знаю, что в только что собранном проекте там находятся стили и JS-код по умолчанию, который Laravel Mix компилирует в выдаёт в папку public.

Теперь предположим, что я по какой-то причине не хочу использовать Laravel Mix и не хочу держать стили и js в assests — долго до них добираться + интуитивно непонятное назначение папки по её названию. Я подумываю вообще удалить папку assets, а все исходники (HTML-вёрстку, SASS, JS и прочее) хранить в папке frontend, которая находится в корневом каталоге проекта (такое имя папки лучше соответствует её содержимому). Development и prodution-сборку стилей и JS в public с помощью gulp и webpack я могу настроить самостоятельно без использования Laravel-mix.

Будут ли в этом случае какие-либо отрицательные последствия, если я удалю папку assets?

Изменено Gleb2708 (07.10.2017 11:43:05)

Не в сети 22.03.2017

#2 07.10.2017 11:59:06

AlexeyMezenin +483 Топ 10% masterМастер writerПисарь Сообщений: 783 Статей: 3

Re: Каково назначение папки resources/assets?

Технически нет. Но использование великов — это плохая идея. Используй встроенные инструменты Laravel для каждой задачи, если можешь. Особенно это актуально для коммерческих проектов.

Не в сети 03.03.2016

#3 08.10.2017 04:35:14

Gleb2708 +29 Сообщений: 63 Статей: 1

Re: Каково назначение папки resources/assets?

Оффтоп, но я хочу знать, почему это плохая идея и почему в коммерческих сайтах надо использовать встроенные средства.

Я одно время хотел использовать Laravel Mix, но тут же оказалось, что он совершенно лишён гибкости и крайне плохо кастомизируем. Я приведу ниже свои настройки для gulp и webpack, которые на данный момент использую в Laravel-проектах, но по своей методике, то есть с самостоятельной настройкой нативных gulp и webpack . Вот скажите: с помощью Laravel Mix я могу так же гибко всё настроить?

gulpfule.js

var gulp = require('gulp'), pug = require('gulp-pug'), sass = require('gulp-sass'), browserSync = require('browser-sync'), cssnano = require('gulp-cssnano'), autoprefixer = require('gulp-autoprefixer'), rename = require('gulp-rename'), del = require('del'), imagemin = require('gulp-imagemin'), pngquant = require('imagemin-pngquant'), cache = require('gulp-cache'), runSequence = require('run-sequence'), shorthand = require('gulp-shorthand'); gulp.task('default', ['watch']); gulp.task('pug', function() < return gulp.src('resources/assets/01_pug/*.pug') .pipe(pug(< pretty: true, basedir: 'resources/assets/01_pug' >)) .pipe(gulp.dest('resources/assets')) .pipe(browserSync.reload()); >); gulp.task('sass', function() < return gulp.src('resources/assets/02_sass/*.+(sass|scss)') .pipe(sass()) .pipe(autoprefixer(['last 15 versions', '>1%', 'ie 8', 'ie 7'], < cascade: true >)) .pipe(gulp.dest('resources/assets/css')) .pipe(browserSync.reload()); >); gulp.task('browser-sync', function() < browserSync(< server: < baseDir: 'resources/assets' >, notify: false >); >); gulp.task('watch', ['browser-sync', 'pug', 'sass'], function() < gulp.watch('resources/assets/01_pug/**/*.pug', ['pug']); gulp.watch('resources/assets/02_sass/*.+(sass|scss)', ['sass']); gulp.watch('resources/assets/03_es6/*.js', browserSync.reload); >); // === Production Build gulp.task('Build production', function()< runSequence( 'Clean previous production build', 'sass', 'Prepare CSS for production', 'Copy Fonts Folder To Production', 'Prepare images for production' ); >); gulp.task('Clean previous production build', function() < return del.sync(['public/css/*.css', 'public/img/**/*']); >); gulp.task('Prepare CSS for production', function()< return gulp.src('resources/assets/css/*.css') .pipe(shorthand()) .pipe(cssnano()) .pipe(rename()) .pipe(gulp.dest('public/css')); >); gulp.task('Copy Fonts Folder To Production', function()< return gulp.src('resources/assets/fonts/**/*') .pipe(gulp.dest('public/fonts')); >); gulp.task('Prepare images for production', function() < return gulp.src('resources/assets/img/**/*') .pipe(cache(imagemin(< interlaced: true, progressive: true, svgoPlugins: [], use: [pngquant()] >))) .pipe(gulp.dest('public/img')); >); gulp.task('Clear cash', function () < return cache.clearAll(); >);

webpack.config.js

'use strict'; const NODE_ENV = process.env.NODE_ENV || 'development'; const webpack = require('webpack'); const output_path = NODE_ENV === 'production' ? (__dirname + '/public/js'): (__dirname + '/resources/assets/js'); module.exports = < context: __dirname + '/resources/assets/03_es6', entry: < index: './01indexEP.js', about: './02aboutEP.js', business: './03businessEP.js', feedback: './05feedbackEP.js' >, output: < path: output_path, filename: '[name].js' >, watch: NODE_ENV === 'development', watchOptions: < aggregateTimeout: 100 >, devtool: NODE_ENV === 'development' ? 'cheap-inline-module-source-map' : false, resolve : < alias: < "jquery-ui": "jquery-ui-dist/jquery-ui.js" >, extensions: ['.js', '.jsx', '.json', '*'] >, module: < rules: [ < test: [ /\.jsx?$/ ], exclude: /node_modules/, use: [ 'babel-loader' ] >] >, plugins: [ new webpack.ProvidePlugin(< jQuery: "jquery", $: "jquery" >) ] >; if (NODE_ENV === 'production') < module.exports.plugins.push( new webpack.optimize.UglifyJsPlugin(< beautify: NODE_ENV === 'development' ? true : false, mangle: < screw_ie8: true, keep_fnames: true >, compress: < screw_ie8: true >, comments: false >) ); >

Изменено Gleb2708 (08.10.2017 04:36:57)

Assets что это за папка

Специальные Папки Проекта

You can usually choose any name you like for the folders you create to organise your Unity project. However, there are a number of folder names that Unity interprets as an instruction that the folder’s contents should be treated in a special way. For example, you must place Editor scripts in a folder called Editor for them to work correctly.

This page contains the full list of special folder names used by Unity.

Assets

Папка Assets — главная папка в которой содержатся все ассеты, которые могут быть использованы проектом на Unity. Содержимое Project view соответствует содержимому папки Assets. Большинство функций API предполагают что всё содержится в папке Assets и не требуют явного указания расположения. Однако есть некоторые функции которым нужно явно указывать папку Assets (напр. некоторые функции класса AssetDatabase).

Editor

Scripts placed in a folder called Editor are treated as Editor scripts rather than runtime scripts. These scripts add functionality to the Editor during development, and are not available in builds at runtime.

You can have multiple Editor folders placed anywhere inside the Assets folder. Place your Editor scripts inside an Editor folder or a subfolder within it.

The exact location of an Editor folder affects the time at which its scripts will be compiled relative to other scripts (see documentation on Special Folders and Script Compilation Order for a full description of this). Use the EditorGUIUtility.Load function in Editor scripts to load Assets from a Resources folder within an Editor folder. These Assets can only be loaded via Editor scripts, and are stripped from builds.

Note: Unity does not allow components derived from MonoBehaviour to be assigned to GameObjects if the scripts are in the Editor folder.

Editor Default Resources

Editor scripts can make use of Asset files loaded on-demand using the EditorGUIUtility.Load function. This function looks for the Asset files in a folder called Editor Default Resources.

You can only have one Editor Default Resources folder and it must be placed in the root of the Project; directly within the Assets folder. Place the needed Asset files in this Editor Default Resources folder or a subfolder within it. Always include the subfolder path in the path passed to the EditorGUIUtility.Load function if your Asset files are in subfolders.

Gizmos

Gizmos allow you to add graphics to the Scene View to help visualise design details that are otherwise invisible. The Gizmos.DrawIcon function places an icon in the Scene to act as a marker for a special object or position. You must place the image file used to draw this icon in a folder called Gizmos in order for it to be located by the DrawIcon function.

You can only have one Gizmos folder and it must be placed in the root of the Project; directly within the Assets folder. Place the needed Asset files in this Gizmos folder or a subfolder within it. Always include the subfolder path in the path passed to the Gizmos.DrawIcon function if your Asset files are in subfolders.

Resources

You can load Assets on-demand from a script instead of creating instances of Assets in a Scene for use in gameplay. You do this by placing the Assets in a folder called Resources. Load these Assets by using the Resources.Load function.

You can have multiple Resources folders placed anywhere inside the Assets folder. Place the needed Asset files in a Resources folder or a subfolder within it. Always include the subfolder path in the path passed to the Resources.Load function if your Asset files are in subfolders.

Note that if the Resources folder is an Editor subfolder, the Assets in it are loadable from Editor scripts but are stripped from builds.

StreamingAssets

Когда вы импортируете какой-либо стандартный пакет с ассетами (menu: Assets > Import Package) ассеты пакета размещаются в папке Standard Assets или Pro Standard Assets в случае если пакет доступен только для Про лицензии. Помимо того что папки содержат ассеты, они также влияют на порядок компиляции скриптов. Подробности смотри на странице Специальные Папки и Порядок Компиляции Скриптов.

You can only have one Standard Assets folder and it must be placed in the root of the Project; directly within the Assets folder. Place the needed Assets files in this Standard Assets folder or a subfolder within it.

StreamingAssets

You may want the Asset to be available as a separate file in its original format although it is more common to directly incorporate Assets into a build. For example, you need to access a video file from the filesystem rather than use it as a MovieTexture to play that video on iOS. Place a file in a folder called StreamingAssets, so it is copied unchanged to the target machine, where it is then available from a specific folder. See the page about Streaming Assets for further details.

You can only have one StreamingAssets folder and it must be placed in the root of the Project; directly within the Assets folder. Place the needed Assets files in this StreamingAssets folder or a subfolder within it. Always include the subfolder path in the path used to reference the streaming asset if your Asset files are in subfolders.

Assets

During the import process, Unity completely ignores the following files and folders in the Assets folder (or a sub-folder within it):

  • Hidden folders.
  • Files and folders which start with ‘.’.
  • Files and folders which end with ‘~’.
  • Files and folders named cvs.
  • Files with the extension .tmp.

This is used to prevent importing special and temporary files created by the operating system or other applications.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *