2012年12月25日火曜日

Blog : C++ :C++プログラミング日記

C++プログラミング日記

速さを求める男?のブログ、まだまだ、参考にならないけどメモ


猫Windows


SoftimageのPPGは
Iconボタンが使えない orz


いろいろやってみたんだけど、
(Changeイベントでボタンを模倣したり)
UNDOにもChangeイベントが反応してしまうとか
上手く行かなかった

ということで、
諦めてWindowsAPIを勉強する事に
猫Windowsを読む

いま、流行のQTとかと、思ったけど、
大きく道をそれるし、やはり基本から・・・


なんか、ドラゴンを倒すのに剣が必要で、
剣を作る為に素材
はたまた、かまどまで作り始めるしまつ

ぐぎぎぎ・・・。
最近の猫は高度じゃのう

たぶんドラゴンスレイヤー"Modo"を
買った方が幸せになれる

2012年12月21日金曜日

Color : ノンデザイナーのための配色理論

センスは知識で補う。知識の足りない物は先人に頼る。

他力本願寺

ノンデザイナーのための配色理論
Webアプリ

Modeling : Topology : Anatomy : Human Experiments

3D人の中で紹介されていた人なんですが、

人体のトポロジーがあまりにもきれいだったのでメモ

Human Experiments

これは美しいなぁ


近況
やっとマスターアップ終了しました〜。
今回は作業以外のトラブルが多く、マジしんどかったーーー。

2012年12月10日月曜日

Blog : ペパクラ

仮設製作日記
おおーペパクラとローポリ!
よいね〜


■近況
絶賛修羅場中!!!
周りが全く見えないーーーエヴァみたいー、選挙わかんねー

2012年11月28日水曜日

Softimage Script : 背面のポリゴンを作成

やっとネット復帰しました。


背面のポリゴンを作成

旗を作るんですが、ポリゴンが両面必要な仕様でした

違いを作るためにUVでパターンを作ります
最初から両面で作るとUVが面倒ですので
片面ですすめてあとで両面化します

10パターン以上を1000個以上

作業中・・・1000本以上を配置完了

両面化、忘れてた orz < イマココ

そんな時のスクリプトです


Script


#Python
#1128 2012
#選択したオブジェクトの BACKPolyを作成

app = Application; log = app.Logmessage
from win32com.client import constants as c

#ログの表示を消す
cmdLog = app.Dictionary.GetObject( "preferences.scripting" )
cmdLog.cmdlog.value = False

#クラスターを削除するか選択
deleteCluster = Flase #Trueにした場合クラスターは削除されるが、距離が無効になる

#背面ポリゴンの距離
backPolyDistance = -0.02

#裏面ポリゴンの作成ルーチン
def createBackPoly(outCluster):
 oObj = app.Selection(0)
 if oObj.Type != "polymsh":
  return 
 oGeo = oObj.ActivePrimitive.Geometry
 oSub = oGeo.Polygons.SubComponent
 op = app.DuplicateMeshComponent(oSub, "siPersistentOperation", "", "", "", "", "", "", "", "", "", "", "", "", True)
 op = app.ApplyOp("Push", oSub, 3, "siPersistentOperation", "", 0)
 op(0).ampl = backPolyDistance
 nSub = oGeo.Clusters("Polygon_Auto").CreateSubComponent()
 oGeo.Clusters("Polygon_Auto").Name = "BackFace"
 app.ApplyTopoOp(u"InvertPolygon", nSub, "siUnspecified", "siPersistentOperation", "")
 outCluster.Add(oGeo.Clusters("BackFace"))


def getMeshs():
 oColl = XSIFactory.CreateObject("XSI.Collection")
 oColl.Unique = True
 oColl.Items = app.Selection
 return app.SIFilter(oColl.Expand(),c.siPolyMeshFilter)


def main():
 oMeshs = getMeshs()
 oClusterColl = XSIFactory.CreateObject("XSI.Collection")

 #オブジェクトの数繰り返す
 for oMesh in oMeshs:
  app.SelectObj(oMesh)
  createBackPoly(oClusterColl)
  
 #選択しなおし 
 app.SelectObj(oMeshs)
 
 #BackFaceクラスターをを削除
 if(deleteCluster):
  app.DeleteObj(oClusterColl)
  
main()


高速化にあたって

コマンドモデルを多用してるため、
ログの非表示など高速化とかしてます

VBS - JScript の For Loop Performance について
myaraさんのこの記事を参考にしてます、ありがたいこってす。

コマンダーは必見デス

2012年11月12日月曜日

Math : UVの面積を求める

いやー、ウチのネットワークが繋がらなくなって、はや1週間です。
清い生活をしております。

UVTools

最近はUVのプラグインを2013にあわせて再開発しております。
一応、再活用できるように、ヘッダを使ってみたり、cppをわけてみたり、
少しずつ出来る事を増やして行ってます

そのなかで、UVの面積を出す必要が出そうなので、
以前からチェックしてたサイトをメモしてみました。

多角形の面積
うほ、こんなに簡単で良いの!?
スバラシイ (≧▽≦)ゞ

2012年11月2日金曜日

Camera ? : 全周囲動画

You need to watch this ViewCam 360 vid of a Red Bull F1 car


昔ディズニーランドでみた事あるー的な動画
素晴らしー、コレとヘッドマウントで完璧だ