[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 3123»
Форум Panda3D - по русски » Panda3D » Для начинающих » Все о текстурировании
Все о текстурировании
ILIUSДата: Пятница, 13.03.2009, 10:57 | Сообщение # 1
Сержант
Группа: Проверенные
Сообщений: 24
Награды: 0
Репутация: 1
Статус: Offline
Думаю вопросов у меня будет много, хватит на отдельную тему. biggrin
Буду задавать конкретные вопросы.

Как правильно применять фильтры. Например мипмапинг хочется применить.
Есть egg файл, он уже текстурированный. Как вытянуть из него текстуры и применить к ним мипмапинг.

Попробовал так но че-та текстура вобще пропадает:

Code
mapText=loader.loadTexture('models/texture.jpg')
mapText.setMinfilter(Texture.FTLinearMipmapLinear)
self.environ.setTexture(mapText)

Да и не то это. Текстур то несколько. С findTexture то же чего-то не получилось.

 
ninthДата: Пятница, 13.03.2009, 13:32 | Сообщение # 2
Admin
Группа: Администраторы
Сообщений: 1555
Награды: 5
Репутация: 46
Статус: Offline
Проще всего в самом файле модели указать.
Что-нить типа этого.
<Texture> grass.png {
"res/textures/grass.png"
<Scalar> minfilter { LINEAR_MIPMAP_LINEAR }
<Scalar> magfilter { LINEAR_MIPMAP_LINEAR }
}

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

 
BVOGДата: Понедельник, 16.11.2009, 14:53 | Сообщение # 3
Полковник
Группа: Проверенные
Сообщений: 184
Награды: 0
Репутация: 4
Статус: Offline
В Maya тоже мипмаппинг присутсвует.

Skype: thebvog
 
designerДата: Четверг, 18.02.2010, 10:23 | Сообщение # 4
Майор
Группа: Пользователи
Сообщений: 90
Награды: 0
Репутация: 0
Статус: Offline
А как обычно хранят текстуры отдельно или в ощем файле?

...игры взрастили человеческую цивилизацию...
 
BVOGДата: Четверг, 18.02.2010, 16:43 | Сообщение # 5
Полковник
Группа: Проверенные
Сообщений: 184
Награды: 0
Репутация: 4
Статус: Offline
Обычно отдельно.

Skype: thebvog
 
designerДата: Пятница, 19.02.2010, 20:03 | Сообщение # 6
Майор
Группа: Пользователи
Сообщений: 90
Награды: 0
Репутация: 0
Статус: Offline
А почему некоторые разработчики размещают кучу картинок разных изображений и деталей интерфейса в одном графическом файле? А потом они выдераются оттуда, если ошибиться то получается чёрти что...

...игры взрастили человеческую цивилизацию...
 
ninthДата: Суббота, 20.02.2010, 14:43 | Сообщение # 7
Admin
Группа: Администраторы
Сообщений: 1555
Награды: 5
Репутация: 46
Статус: Offline
Не всегда. Обычно "один графический файл" - это архив с ресурсами из которого они по мере надобности извлекаются. Реально одной картинкой обычно делают тайлы.
 
designerДата: Понедельник, 22.02.2010, 10:13 | Сообщение # 8
Майор
Группа: Пользователи
Сообщений: 90
Награды: 0
Репутация: 0
Статус: Offline
А теоритически лучше хранить текстурки вместе с моделью и анимацией к ней или в общих хранилищах для текстур, моделей и тр отдельно?

...игры взрастили человеческую цивилизацию...
 
ninthДата: Среда, 24.02.2010, 09:00 | Сообщение # 9
Admin
Группа: Администраторы
Сообщений: 1555
Награды: 5
Репутация: 46
Статус: Offline
В производительности разницы нет, единственное, что у тебя может одна текстура (например кирпичная стена) в десятке моделей использоваться и класть копию этой текстуры с каждой моделькой нерационально.
 
MibusДата: Среда, 19.05.2010, 03:05 | Сообщение # 10
Рядовой
Группа: Пользователи
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline
Ну вот такая проблема. При наложении текстуры на меш наследуемые от render всё нормально. При наложении на меш прикреплённый к aspect2d тексура "вывернута".

Code
import direct.directbase.DirectStart

button1=loader.loadModel('button')
button1.setTexture(loader.loadTexture('button_test.bmp'))
button1.repa   rentTo(aspect2d)
button1.setPos(button1,0.5,0,0)

button 2=loader.loadModel('button')
button2.setTexture(loader.loadTexture('button_test.bmp'))
button2.reparentTo(render)
button2.setPos(0,3,0)

r   un()

возможно я не так пользуюсь aspect2D, т.к. разбирался как он работает методом тыка и глядя на то что говорит SPE при ошибке.

Прикрепил скрин, *.egg файл и текстуру.

Прикрепления: 5575692.egg(3Kb) · 2284296.jpg(51Kb) · button_test.bmp(11Kb)


Сообщение отредактировал Mibus - Среда, 19.05.2010, 03:11
 
ninthДата: Среда, 19.05.2010, 13:25 | Сообщение # 11
Admin
Группа: Администраторы
Сообщений: 1555
Награды: 5
Репутация: 46
Статус: Offline
у тебя просто они с разных сторон показаны )
добавь button1.lookAt(button1,0,-1,0) после button1.setPos(button1,0.5,0,0)
Ну или исправь развёртку в блендере так чтобы с обоих сторон одинаково текстура накладывалась
 
MibusДата: Четверг, 20.05.2010, 02:34 | Сообщение # 12
Рядовой
Группа: Пользователи
Сообщений: 6
Награды: 0
Репутация: 0
Статус: Offline
вот. спасибо smile
я так и думал что меш как бы изнутри просматривается и не мог найти способ как его отодвинуть )
 
dis_nodeДата: Понедельник, 07.03.2011, 01:13 | Сообщение # 13
Лейтенант
Группа: Пользователи
Сообщений: 56
Награды: 0
Репутация: 2
Статус: Offline
Новый вопрос.

При назначении текстуры NodePath.setTexture() старая текстура не удаляется, отображается согласно приоритету. Как отвязать текстуру от объекта (или вообще все, перед назначением новой)?

p.s. ломает отслеживать приоритет, столкнулся когда копировал NodePath.

 
ninthДата: Пятница, 18.03.2011, 01:37 | Сообщение # 14
Admin
Группа: Администраторы
Сообщений: 1555
Награды: 5
Репутация: 46
Статус: Offline
Что-то я пропустил это сообщение )
Если текстуры назначались в рантайме, то np.clearTexture()
Если это встроенные текстуры (назначенные в редакторе), то чуть сложнее:
Code
    for gnp in np.findAllMatches('**/+GeomNode'):
           gn = gnp.node()
           for i in range(gn.getNumGeoms()):
               gn.setGeomState(i, gn.getGeomState(i).removeAttrib(TextureAttrib.getClassType()))
 
Dimon3DДата: Понедельник, 05.09.2011, 12:27 | Сообщение # 15
Полковник
Группа: Проверенные
Сообщений: 200
Награды: 1
Репутация: 4
Статус: Offline
Почему при использовании stencil текстуры с размытыми границами, в результате смешивания получаю четкие границы ?
Пример:
Прикрепления: testStencil.rar(740Kb)
 
Форум Panda3D - по русски » Panda3D » Для начинающих » Все о текстурировании
Страница 1 из 3123»
Поиск: