Softimage2012の話題で真っ盛りな中、まだv7.01を使うこの頃。

SIのユニークUVについて、
思うところあって、エントリしてみました。

主に背景制作での視点でまとめてます〜。
 

■ユニークUVとは

ユニークUVとは、オブジェクトのUVを自動的に
展開してくれる非常に便利なツールです・・・のはず。
メニューでの場所は、ここです。

Property > Texture Projection > Unique UVs

WS000010.JPG

v2010からは、その発展系とも言える、
Unfold3Dというのがありますが、今回はおいといきます。
 

■ユニークUVのデメリット その1

ユニークUVは、「Angle Grouping Tolerance」で、
地つながったポリゴンをひとかたまりとして処理しています。

この数値は、角度のことで、例えば「45」なら、


45度までの角度で折れ曲がったポリゴン同士なら、UVをつなげて、
ひとかたまりにしますよーっという感じ。

ちなみに、Angle Grouping Toleranceのしきい値のMAXが「90」度。
そのため、建物の柱のように、
90度=直角以上に折れ曲がっている形だと、つながらないです。

WS000011.JPG

 

■ユニークUVのデメリット その2

ユニークUVは、地つながりのポリゴンを、
ひとかたまりの正・長方形の四角と考えて、並べていきます。

そのため、三角・L字などの形状のひとかたまりの形は、三角になり、
四角で考えると、残りの三角の分だけ隙間ができてしまいます。

WS000012.JPG

ドーナツ型や、U字の形状も同様に、隙間ができてしまいやすいです。
 

■ユニークUVのデメリット その3

ユニークUVは、オブジェクトの
各ポリゴンの面積の比率で、生成されます。

このため、ものすごく、長いポリゴンがあると、
そのポリゴンがUVの端から端までに広がった状態になり、
それと同じ比率で、他のポリゴンが並びます。

そのため、全体的に小さくなり、余白が大きくあまります。

WS000013.JPG

 

以上で、たいだい、おおきくわけて、
ユニークUVのデメリットは3つだろうと思います。
他にも何かあったら、Twitterで、教えてくださいー!
 

次回は、これらのデメリットの回避方法のアイデアについて、
まとめてみようと思います。

+ 更新の励みに1クリックで応援してください +
にほんブログ村 3DCG
[click!]

ただいま制作している背景モデルで、
板状のポリゴンを置いたままだと、仕様上、片面側しか描画されないので、
裏側のポリゴンを作らないといけないということがわかったので、修正。

ただ、数が多いので、そこはスクリプトで。

この手順をスクリプト化しただけのものです。

  1. 選択したPolygonを『複製』
  2. そのまま、『ポリゴンの反転』
  3. 『デフォーム> プッシュ』で「0.02」押し出し。

スクリプトはPython。
とりあえず、簡単な形状では、うまくいってるみたいです。

oPushValue = "0.02"
Application.ActivateObjectSelTool("")
oSelection = Application.Selection[0]
Application.ActivateRaycastPolySelTool("")
oPoly = Application.Selection[0]
Application.DuplicateMeshComponent(oPoly, "siPersistentOperation", "", "", "", "", "", "", "", "", "", "", "", "", 1)
Application.ApplyTopoOp("InvertPolygon", oPoly, "siUnspecified", "siPersistentOperation", "")
Application.ApplyOp("Push", oPoly, 3, "siPersistentOperation", "", 0)
Application.SelectFilter("object")
Application.SetValue("%s.polymsh.pushop.ampl"%(oSelection), oPushValue, "")

なにぶん、素人当然のコピーペーストでの制作レベルなので、
問題ある箇所もあるかもですが(汗

ちなみに、プッシュの大きさを変えたいときは、
1行目の「oPushValue = "0.02"」の数字を変えればいいですー。

+ 更新の励みに1クリックで応援してください +
にほんブログ村 3DCG
[click!]

数十ファイルもののillustratorCS5で作成されたファイルを
CS3バージョンに保存し直して欲しいと依頼が。

数が半端じゃないので、スクリプトにチャレンジ。

素人工事なので、間違いとか、無駄な処理があるよとか、
あればアドバイスお願いします!

作ること2時間。
なんとか、動いてくれたけど、いちいち、ファイルを開くのは、
時間がかかる・・・。開かずに処理できる方法はないのかな。

参考

下記サイトのスクリプトを参考にさせていただきました!
ありがとうございます。

イラレCS2からCSへのファイル形式のバージョン変更
http://okwave.jp/qa/q2890296.html

日刊デジタルクリエイターズ
■クリエイター手抜きプロジェクト[253]Illustrator CS/CS2/CS3/CS4/CS5編 
サブフォルダ内にある全てのAIファイルを開く/古籏一浩
http://blog.dgcr.com/mt/dgcr/archives/i/20101004140200.html

Script(JavaScript)

フォルダを選択して、そのフォルダ以下のサブフォルダを含めた、
.aiファイルを全て、指定したバージョンで保存しなおします。

バージョン等の指定は、スクリプトの最下部の方で設定。

folderRef = Folder.selectDialog("フォルダを選択してください");
fList = getAllFile(folderRef, [".ai"]); // 拡張子は小文字で
//ファイル一覧の表示
//alert(fList);
        var n=0;
            try{
for(var i=0; i<fList.length; i++){
 
//上位バージョンを下位バージョンで開くとダイアログが出るのを防ぐ
    app.userInteractionLevel=UserInteractionLevel.DONTDISPLAYALERTS;
    app.open(fList[i]);
    app.userInteractionLevel=UserInteractionLevel.DISPLAYALERTS;
    
    saveascs(activeDocument);
    activeDocument.close(SaveOptions.DONOTSAVECHANGES);
    n++;
}
}
    catch(someError){
    alert( "JavaScript error occurred. Message = " +
    someError.description)
    }    
 
// サブフォルダも含めたファイル一覧を取得する関数
function getAllFile(folderObj, ext)
{
if (!folderObj) return; // キャンセルされたら処理しない
var list = [];
getFolder(folderObj);
return list;
// フォルダ内の一覧を取得
function getFolder(folderObj)
{
var fileList = folderObj.getFiles();
for (var i=0; i<fileList.length; i++)
{
if (fileList[i].getFiles)
 {
getFolder(fileList[i]); // サブフォルダがある限り繰り返す
}
else
{
var f = fileList[i].name.toLowerCase();
for(var j=0; j<ext.length; j++)
{
if (f.indexOf(ext[j]) > -1) { list.push(fileList[i]); }
}
}
}
}
}
 
function saveascs(docObj)
{
var saveOptions = new IllustratorSaveOptions;
var currentname = new Array();
var currentname = docObj.name.split(".");
//書き出しファイル名。同じファイル名があると上書きされます。
var changedname = "" + currentname[0].toString()  + "" + ".ai";
var documentPath = docObj.path + "/" + changedname;
var fileSpec = new File(documentPath);
//バージョン CS=11/CS2=12/CS3=13/CS4=14
saveOptions.compatibility = Compatibility.ILLUSTRATOR13;
saveOptions.flattenOutput = OutputFlattening.PRESERVEAPPEARANCE;
saveOptions.fontSubsetThreshold = 0;
//PDF互換ファイルを作成
saveOptions.pdfCompatibility = true;
//配置した画像を含む
saveOptions.embedLinkedFiles = false;
//ICCプロファイルを埋め込む
saveOptions.embedICCProfile = true;
saveOptions.embedAllFonts = false;
//圧縮を使用
saveOptions.compressed = true;
docObj.saveAs(fileSpec, saveOptions);
}

※スクリプトは「.jsx」、文字コード「UTF-8」で保存して、
illustrator > ファイル > スクリプト > その他のスクリプト... から使います。

自己責任でおねがいします!

+ 更新の励みに1クリックで応援してください +
にほんブログ村 3DCG
[click!]
1  2  3  4  5  6  7  8  9  10 LAST

LINK

COUNT

  • Total:
  • Today:
  • Yesterday:

最近のコメント

アイテム

  • WS000013.JPG
  • WS000012.JPG
  • WS000011.JPG
  • WS000010.JPG