原创 git blame 的用法小記

在debug的時候,爲了查找是誰改得某個文件或者某一行,這時就用到git blame這個命令了,用法最常用的就是 git blame <filename> git blame -L start,end <filename> 例如

原创 覆蓋Maya自身的腳本

在項目裏有個腳本需要覆蓋Maya自身的同名腳本,一般來說手動將這個腳本拖到Maya裏,藝術家在使用的時候就會調用到我們自己的腳本,但是總不能每次都讓藝術家們手動拖腳本吧,於是想着看能不能放到中心化裏面,藝術家每次打開就已經配置好了

原创 用getattr刷新節點的數據

在MayaBatch模式下,有時候一個節點的某個屬性被另一個節點的某個屬性鏈接了,比如驅動關鍵幀,最典型的就是模型組的現實和隱藏。有時候我們設置了驅動物體的那個屬性,在前臺的Maya上,被驅動物體的那個屬性也會隨之發生變化,但是在

原创 Linux下解決Maya通道欄亂碼問題

公司剛切Linux系統的時候,很多人出現了Maya通道欄亂碼的問題: 這樣調動畫都很不方便,很多時候他們不得不重開Maya纔有可能好轉,有時候還是不行,於是自己查了下文檔,在Maya的官方幫助裏有詳細說明,下面說下具體的解決方案

原创 用Matrix節點來實現約束功能

爲什麼要用Matrix節點實現約束功能呢? 可以簡化你的節點之間的層級結構 可以提高節點運行效率 實現方式 這裏就拿最簡單的兩個物體來演示,鏈接方式如下圖,如果沒有decomposeMatrix節點的話,需要家在Maxtrix

原创 Voxelization——體素化模型

上週部門內部進行分享知識講座時講到一個詞Voxelization,也就是體素化,也就是用某些東西充滿一個物體的內部,如下面這兩張圖,用小方塊充滿圓環和錐體。 其主要算法也有多種,我這裏採用的是用boundingbox來切割物體的方

原创 給MarkingMenu設置自定義的快捷鍵

承接上篇,有時候我們需要設置自己想要的快捷鍵,而非Alt、Shift、Ctrl這類快捷鍵,這就是這篇要談的東西。 首先我們需要給我們的MarkingMenu建runTimeCommand,就是這種東西。 建完這個之後,就可以設置兩個

原创 在Maya裏用腳本設置MarkingMenu

有時候,我們將一些經常用到的重複性高的命令設置成快捷鍵以提高我們的效率,但我更喜歡用MarkingMenu,這樣只需要甩鼠標就可以了,但是Maya默認的MarkingMenu只能通過UI來設置,如何通過腳本來實現,自己研究了一番,終於

原创 導出FBX修改namespace

在公司給遊戲部門弄一個導出fbx的插件,導出的時候需要將namespace去掉,這樣方便他們導入UE裏面,以前的操作是將Maya裏的reference全部解除掉,變成導出的模式,這樣去掉namespace後再導出fbx,但是這樣呢有個

原创 如何將py文件編譯成pyd使其能在Maya環境下運行

因爲種種原因,有時候我們需要將py文件編譯成pyd文件,但在Maya的環境下,如果是用官方的Python編譯出來的pyd肯定不能用,包括PyQt,如果想在Maya環境下運行也是需要特殊編譯下;下面就以Maya2016位例來演示下實現方

原创 別了,2018

將習總書記的新年賀詞視頻看了兩邊,2018就要過去了,中國和世界都在發生翻天覆地的變化,我們身在其中,又有哪些個人的提升呢? 這一年來,將英語課程上完了,剩下的就是下大課了,可去可不去,而且在這一年中,每天的必修課就是看英語新聞,詞彙

原创 再玩Shotgun的Toolkit

最近又重新配了下Shotgun的Toolkit,發現和原來相比,變化挺大的,現在成了每配一個項目都要將App拷貝導單獨的項目裏面,而不是想原來那樣幾個項目公用一個App,自己第一次修改的時候,發現怎麼也不生效,Debug了半天才發現,

原创 Linux下用ffmpeg轉H.264編碼的視頻

最近公司的製作電腦都切成Linux系統了,但Maya有個問題就是沒有了h.264編碼,這就讓原本只有幾M的拍屏變成幾十M了,最後想方設法用ffmpeg轉了下,確實小很多,清晰度基本不變。 最主要的命令爲: cmd = '%s -y -

原创 After Effects 自動導入素材和分類的腳本

最近一個遊戲項目需要用到AE做合成,可是渲出來的素材有那麼多曾,藝術家自己一個一個往裏導確實很費時間,於是給他們寫了個自動導入素材的工具,並且根據背景和角色層自動打好組,創建文件夾,還創建了comp,將素材放進去,根據序列的長度來設置

原创 Max拷貝動畫——CopyPasteKeys

這個小工具在Max裏拷貝動畫用的,對動畫師來說再使用不過了。 ( --for f in getFiles ((GetDir #export+ @"\")+"*.bps") do deleteFile f global stime