發表文章

maya脚本入門

圖片
 maya脚本入門 一.打開maya 二.點擊如圖選項 三.在視窗的python tab下輸入如圖 四.全選所有文字.ctrl+enter就可以開始執行了.執行后,視窗上半部會顯示如圖.就代表執行成功

[math] 矩陣向量

右乘 矩陣格式 [ x1, x2, x3 ] [ y1, y2, y3 ] [ z1, z2, z3 ] X, Y, Z 各代表座標系的一個軸 向量 A 在左 右乘矩陣 [a,b,c]* [ x1, x2, x3 ] [ y1, y2, y3 ] [ z1, z2, z3 ] na = a* x1 + b* y1+ c* z1 nb = a* x2 + b* y2+ c* z2 nc = a* x3 + b* y3+ c* z3 [na, nb, nc] 為 [ a, b, c ] 放到該座標系上的樣子 故若 ma  = A * X mb   = A *  Y mc   = A *  Z 的情況等於上述的向量 A 右乘 上述矩陣 的 倒置矩陣 以4x4矩陣的3D環境而言, 代表旋轉的XYZ軸 的 矩陣的倒置 等同於 逆矩陣.  2D環境相同 所以[ ma, mb, mc ]等同於算出從該座標系來看A的樣子是什麼 (攝影機坐標, 但只有旋轉的部分, 不包含位移) 右乘矩陣倒置就成了左乘矩陣 4x4右乘矩陣格式 [x1, x2, x3, x4 ] [y1, y2, y3, y4 ] [z1, z2, z3, z4 ] [ 0,  0,  0,  1] x4, y4, z4代表各軸的絶對平移值 參見<<左右矩陣分別>>

[as3] 線性方程

//點a var pa:Vector3D = new Vector3D(); //點b var pb:Vector3D = new Vector3D(100, 50 ); //向量ab var vecAb:Vector3D = pb.subtract( pa ); //ab的法向量 var nor:Vector3D = new Vector3D( -vecAb.y, vecAb.x ); //方程一:ax + by + c = 0 -> y = -ax / b function abx( x:Number ):Number { return -nor.x * x / nor.y; } //方程二:y = mx + b //斜率 var m:Number = (pb.y - pa.y ) / ( pb.x - pa.x ); function abx2( x:Number ):Number { return m * x; } //測試繪圖 var bitmapData:BitmapData = new BitmapData( 100, 100 ); var i:int; for ( i = 0; i < 100; ++i ) { bitmapData.setPixel( i, abx2( i ), 0 ); } addChild( new Bitmap( bitmapData ) );

[math] 左右矩陣分別

右乘矩陣意思為矩陣是放 向量的右邊 格式為 V*  M1* M2* M3*... 座標系變換為 相反 ex. V* R* T 先位移再旋轉 左乘矩陣格式為 ...* M3* M2* M1*  V ex. T* R* V 先位移再旋轉 右乘矩陣 V*  M1* M2* M3*... 可以這樣理解 [左到右]點的變換(每次變換以世界座標) [右到左]座標系的變換(每次變換以物件座標) 左乘矩陣 就相反 似乎可以這樣 V* TM *M 使物體使用 相對 座標做TM變換 V* M * TM 使物體使用 絶對 座標做TM變換 

[away3d] exporter 相關

awd exporter: md5 exporter: 1.骨骼不要做鏡射 2.skin用paint可能導致輸出錯誤 3.ik不能用 4.md5mesh和md5anim檔的bone初始朝向不同,實作時要注意,不同的時候要調整md5mesh的朝向 5.md5mesh的原點以max裡場星上的位置為主 6.md5anim的原點以max裡root bone的位置為主

[haxe] 取消 release 發佈時的畫面上trace

#if debug #else Log.trace = myTrace; #end private function myTrace( v : Dynamic, ?inf : haxe.PosInfos ) { } 道理上就是覆寫trace()的功能,讓其不作用

[haxe] 反射的用法

var clazz = Type.resolveClass( className ); page = Type.createInstance( clazz, [ this ] ); 相當於as3 sprite['x']的寫法 var sprite = new Sprite(); Reflect.field( sprite , 'x' ); = sprite.x;