----------------------------------------------------------------------
1 ) il est possible d'animer un .3DS ?
Car j'ai fait une scene ( 3dmax 2012 ), plusieurs éléments assemblés et j'arrive a l'exporter en openColladaDAE. L'animation fonctionne mais comme j'ai plusieurs objets dans le modèle je bute sur le texturage.
- Existe t'il une solution pour appliquer des textures aux sous-element de mon DAE car moi j'ai exporté toute l'animation. Ou non et je peux juste appliquer une texture générale ?
car si j'essai de faire un "Rendu en Texture" pour obtenir une "CompleteMap", avec "CanalAutomatique"
a) Je ne peut pas choisir l'extension du fichier ( TGA par défaut ) ca c'est pas trop grave je pense.
b) Mais ca me donne plusieurs textures ( 1 par éléments ) et je ne sais pas si il est possible d'assigner plusieurs textures dans un DAE ( sur les sous objets ) ???
Merci de me filer un coup de main, des liens vers tuto ou des splications sur la bonne pratique pour Rendu en texture d'une scene animé dans 3dmax.
----------------------------
Cf Minko tutoriel texturer un palmier en 3ds :
Je vois qu'il y a le path vers les textures, avec les noms correspondants ( pas plus de 12 caractères c'est mieux semble t'il pour les nom.)
- Mais je ne pige pas comment assigner tel matériel a telle partie du modèle, a quel endroit du code ?
- On peut faire pareil avec les DAE ?
package
{
import aerys.minko.render.Viewport;
import aerys.minko.scene.node.camera.ArcBallCamera;
import aerys.minko.scene.node.group.Group;
import aerys.minko.scene.node.group.LoaderGroup;
import aerys.minko.type.parser.max3ds.Max3DSParser;
import aerys.minko.type.parser.ParserOptions;
import flash.display.Sprite;
import flash.net.URLRequest;
public class Main extends Sprite
{
private var _viewport : Viewport = new Viewport();
private var _camera : ArcBallCamera = new ArcBallCamera();
private var _cursor : Point = new Point();
private var _scene : Group = new Group(_camera);
public function Main()
{
LoaderGroup.registerParser("3ds", Max3DSParser);
if (stage)
initialize();
else
addEventListener(Event.ADDED_TO_STAGE, initialize);
}
private function initialize(event : Event) : void
{
removeEventListener(Event.ADDED_TO_STAGE, initialize);
stage.addChild(_viewport);
_camera.distance = 150.;
var loader : LoaderGroup = new LoaderGroup();
var options : ParserOptions = new ParserOptions();
options.textureFilenameFunction = texturesPathFunction;
loader.load(new URLRequest("../assets/palm.3ds"), options);
_scene.addChild(loader);
}
private function texturesPathFunction(path : String) : String
{
var textures : Object = {
"TREE_T~1.JPG" : "tree_trunk.jpg",
"TREE_T~2.JPG" : "tree_trunk1.jpg",
"TREE_B~1.JPG" : "tree_bottom.jpg",
"leaf.tga" : "leaf.png",
"young_le.tga" : "young_leaves.png",
"dry_stem.tga" : "dry_stems.jpg"
};
return "../assets/" + textures[path];
}
private function enterFrameHandler(event : Event) : void
{
_viewport.render(_scene);
}
}
}
Merci !!!!! d'avoir lu ce bloc