Добавление текстуры для земли и ящиков
Материал из Deeptown Manual
В данной статье мы постараемся разобраться, как разделить текстуры большого и малого куба. Таким образом мы сможем задать текстуру для земли отдельную от ящиков и наоборот.
Начнем с того, что поменяем имя материала для большого куба (по умолчанию оно соответствует имени малого куба)
Для этого необходимо открыть файл /media/meshes/cube_big.mesh.xml в любом текстовом редакторе и поменять название материала на любое другое.
Например вот так:
<mesh> <submeshes> <submesh material="Deeptown/Demo/CubeBig" usesharedvertices="false" use32bitindexes="false" operationtype="triangle_list">
В данном примере название материала "Deeptown/Demo/CubeBig".
Сохраеяем файл. Далее необходимо сконвертировать файл в бинарный формат mesh. Для конвертации используется OgreXMLConverter, который можно скачать на сайте (пакет "Command-line Tools"). (Для Linux данный пакет входит в Ogre-devel)
Для использования OgreXMLConverter необходимо перейти в директорию meshes и ввести команду:
ogrexmlconverter cube_big.mesh.xml cube_big.mesh
Затем открываем файл материала куба /media/materials/cube.material любым текстовым редактором и копируем описание материала Deeptown/Demo/Cube в тот же файл. Меняем название на то, что ввели в файле модели. Так же меняем имя файла текстуры.
Вот что у меня получилось:
material Deeptown/Demo/Cube { technique { pass { lighting off texture_unit { texture /media/textures/cube_small.png } } } } material Deeptown/Demo/CubeBig { technique { pass { lighting off texture_unit { texture /media/textures/cube_big.png } } } }
В данном случае большой куб Deeptown/Demo/CubeBig будет являться поверхностью, на которой расположены ваше авто и ящики. Для него указываем текстуру земли. Для малого куба указываем текстуру, которую вы хотели бы видеть на ящиках.
Сохраняем файл cube.material и если вы добавляли текстуры, а вы как минимум одну новую добавили :) необходимо удалить файл индекса и запустить deep. После индексации смотрим результат.
--Stmf 22:41, 21 июля 2008 (EDT)
