тут чувак возьми да и спроси

Зделал обычную сферу в 3ds Max, кинул на ниё свой материал. Экспортонул получившуюся модель в *.3ds формат…
добавляю её так:
scene::IAnimatedMesh* fireballMesh = pSmgr->getMesh(»media/models/fireball/fireball.3ds«);
fireballMesh->setMaterialFlag(video::E_MATERIAL_FLAG::EMF_LIGHTING, true);
почему модель серого цвета, а не зелёного как я выставлял ???

чес говоря, сразу видно, что человек даже доки не удосужился почитать, а ответ в его же коде – в первой строке он грузит модель, во второй выставляет флаг, что материал должен реагировать на источники света, а где же третья строка типа вот такой:

fireballMesh->setMaterialTexture(0, tex);

которой собственно привязывается материал tex к модели fireball.3ds ??? вот поэтому модель и серая, потом что на ней материала нет.
Материал тоже надо было экспортнуть в виде какого-нибудь графического файла, который знает IrrLicht, например .jpg

Кстати, даже если бы он и добавил эту строку, то все равно бы это не заработало, т.к. материал привязывается не к мешу, а к ноде на сцене, т.е. правильно работающий вариант должен выглядеть так:

irr::video::ITexture* tex = driver->getTexture(»material.jpg»);
irr::scene::IAnimatedMesh* fireballMesh = pSmgr->getMesh(»media/models/fireball/fireball.3ds«);
irr::scene::IAnimatedMeshSceneNode = smgr->addAnimatedMeshSceneNode( fireballMesh, 0, -1, irr::core::vector3df(x,y,z) );
sn->setMaterialFlag( irr::video::EMF_LIGHTING, true );
sn->setMaterialTexture(0, tex);

вот так дорогие товарищи, по щучьему велению в нашем мире,  к сожалению, ничего не делается.
хотя в теме был предложен экспорт в obj формат, тогда автоматом будет экспортиться и матерал mtl, и IrrLichtом это файл с материалом подхватывается автоматически, что приятно – практически по щучьему велению.


Отзывов: 3 на “прикольные вопросы по IrrLicht”

  1. Shexseape ()

    Отличный сайт и материалы очень познавательные

  2. Shistmatabats ()

    Я хотел бы с Вами поговорить по этому вопросу.

  3. Эльмиго ()

    говорите – слушаю :)


Оставьте свой отзыв

Вы должны войти, чтобы оставлять комментарии.