Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Papervision смена материала (http://www.flasher.ru/forum/showthread.php?t=122053)

3Desian 01.03.2009 18:22

Papervision смена материала
 
Есть нужда замены цвета объекта при действии.
Не могу догнать что вписать... Хэлп кто нибудь.:wacko:
Код AS3:

// ДВА МАТЕРИАЛА
var mam:ColorMaterial = new ColorMaterial(0x111188);
var mam2:ColorMaterial = new ColorMaterial(0x881111;
 
// ОБЪЕКТ
import MyObject;// объект MyObject.as
var MyObject_object:MyObject = new MyObject(mam);
                MyObject_object.name="MyObject_object";
                MyObject_object.scale=1;
                scene.addChild(MyObject_object);
// РЕНДЕРИМ
addEventListener(Event.ENTER_FRAME, loop);
function loop(e:Event):void
{       
        renderer.renderScene(scene, camera, viewport);
        }
 
MyObject_object.addEventListener(InteractiveScene3DEvent.OBJECT_OVER, onRollOver);
 
                        function onRollOver(e:InteractiveScene3DEvent):void
                        { 
                navigateToURL(new URLRequest("http://www.flasher.ru"));// это работает
 
А ЧТО ТУТ ПИСАТЬ ДЛЯ СМЕНЫ ЦВЕТА ОБЪЕКТА?               
 
                        }

Очень благодарен заранее. :)

Mur4ik 01.03.2009 23:28

Есть такая штука в PV3D как replaceMaterialByName.
Задаете имя материалу и потом можно по этому имени заменить его на другой.
Код AS3:

// кусочек псевдо кода
var mam:ColorMaterial = new ColorMaterial(0x111188);
var mam2:ColorMaterial = new ColorMaterial(0x881111;
.......
mam.name = "colorMaterial1";
mam2.name = "colorMaterial2";
// Предпологается что у MyObject_object назначен материал mam
// и мы меняем его на mam2
MyObject_object.replaceMaterialByName(mam2, "colorMaterial1");


3Desian 02.03.2009 11:48

Круть, Спасибо... обязательно попробую. :)
А есть ли где то инфа по таким ШТУКАМ с примерами?
Или описание на русском.
Я видел многие уроки, но там для профи. Меня ещё волнует как добиться перемены rotationX в зависимости от положения мыши при условии нажатии правой кнопки грызуна.

делаю так...
Код AS3:

mam.name = "colorMaterial1";
mam2.name = "colorMaterial2";
 
object.addEventListener(InteractiveScene3DEvent.OBJECT_OVER, onOverobject);
 
                        function onOverobject(e:InteractiveScene3DEvent):void
                        {
                        object.replaceMaterialByName(mam2, "colorMaterial1");
                        }

пишет ошибку. :(

"1061: Call to a possibly undefined method replaceMaterialByName through a reference with static type camera1."

Если что... у меня PAPERVISION3D 2

Mur4ik 02.03.2009 22:44

Уроков на русском не видел.
Есть описание клссов PV3D, есть оф сайт, есть блог ... ГОЛОВА и т.д.
В конце концов и код то открытый.

Какая то интересная у Вас ошибка с упоминанием о камере. Что есть object в Вашем коде, не уж то ли камера?
Вы такие кусочки приводите по которым ничего понять не возможно.

3Desian 03.03.2009 10:25

camera - это объект. Я в дальнейшем хочу научицо комуниздить видео сигнал с камеры.
А вопрос замены материала решил гораздо проще и случайно: object.material = mam2;
object.replaceMaterialByName(mam2, "colorMaterial1"); не пашет, но всё же я благодарен Вам за отзыв. :)

Aldegran 20.08.2009 20:29

Народ может ко знает подскажите а то уже всю голову сломал:
Как сменить текстуру в 3Д модели если это 3ds модель.
Тоесть есть 3ds модель у которой назначена изначально jpg текстура. Придобавлении на сцену всё нормально тектура отображается. но тотом мне в этой модели надо заменить эту текстуру на другую, тоже jpg а она зараза никак не меняется пробовал так
Код AS3:

dmm = new BitmapMaterial(new circle1img().bitmapData);
dno.replaceMaterialByName(dmm,"dnotex");

и так
Код AS3:

dno.materials=new MaterialsList({dnotex:new BitmapFileMaterial("./image/cof1.jpg")});

и другими изошрёнными методами. Может кто уже делал подскажите пожалуйста. Фишка в том что зарание файл картинки не загружен он подгружается вконце после того как пользователь предпринял определённые действия поэтому я в основном пробовал с BitmapFileMaterial.
Зарание благоданен.


Часовой пояс GMT +4, время: 10:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.