MayaLTのTurtleを試しに使ってノーマルマップを焼き付けてみました。
Turtleはパラメータが多いので困っていまいますね。
まずソース用とターゲット用のモデルを用意します。
Turtleの設定をおこないます。
Window > Material/Texture Baking Editors > Texture Baking Settings
ウィンドウ > マテリアル/テクスチャのベイク処理エディタ > テクスチャのベイク処理設定
もしくはShadingカテゴリのTextureBaking>TurtleTextureBakingでもOKです。
はじめにTypeをBakeにしてBakingタブを選択します。
次にシーンからターゲット(ローモデル)を選択してTargetSurfaceにaddSelectで追加します。
SourceSurfaceも同様にソース(ハイモデル)を選択して追加します。
TextureBakeSettingは解像度とファイルフォーマットの設定だけでいいとおもいます。
アウトプットされたデータは自動的にプロジェクトのTurtle内のフォルダに保存され
自動的にファイル名も設定してくれます。
ちなみにFileNameの文字列の値ですが
$p 出力する要素名(ノーマルとか)
$s ターゲットシェイプ名
$e 拡張子
となっているようです。
ノーマルマップの出力ですのでNomalMapをチェックして有効にします。
CoodinateSystemはTangentSpaceに設定します。
あとは転写の実行です。
メイン メニュー >テクスチャのベイク処理 > ベイク処理
Texture Baking > Bake
TextureBakingViewのシェルフからBakeを選択してもOKです。
下はUnityに読み込んだものになります。
2013年12月1日日曜日
2013年11月24日日曜日
[MayaLT]ShaderFXがUnityにエクスポートされるか試してみた
シンプルなShaderFXノードを作成してSendToUnityでUnityに転送してみました。
残念ながらShaderFXは転送できないようです。
FBXでエラーがでてしまい、Unity上ではデフォルトの
マテリアルが適用されてしまいます。
方法としてはHLSL、GLSLでエクスポートして
UnityのShaderLabで組み込むしかなさそうです。
あまりUnityに詳しくないので他に方法があるかもしれませんが、、、
HLSLなどに書き出すときファイルネームを指定するのですが
新規のFXファイルを作成するとDocument内のshaderフォルダに保存されて
しまう不具合があるようです。
指定したプロジェクト内にシェーダーコードを保存したい場合は
あらかじめ.FXファイルなどを作っておく必要があります。
残念ながらShaderFXは転送できないようです。
FBXでエラーがでてしまい、Unity上ではデフォルトの
マテリアルが適用されてしまいます。
方法としてはHLSL、GLSLでエクスポートして
UnityのShaderLabで組み込むしかなさそうです。
あまりUnityに詳しくないので他に方法があるかもしれませんが、、、
HLSLなどに書き出すときファイルネームを指定するのですが
新規のFXファイルを作成するとDocument内のshaderフォルダに保存されて
しまう不具合があるようです。
指定したプロジェクト内にシェーダーコードを保存したい場合は
あらかじめ.FXファイルなどを作っておく必要があります。
2013年11月23日土曜日
[MayaLT]レンタルライセンス購入
MayaLTの体験版のライセンスが期限が切れたので3ヶ月の
レンタルライセンスを購入しました。
Extensionに更新してみましたが、ジョイント作成時CreateIKHandlのオプション
をチェックしてもIKHandleが作成されないバグは解消されてませんでした。
次の更新で解消されればよいのですが。
さて、新機能のほうですが、プラグインマネージャを開いてみると
GamePipeLine.mllのプラグインが追加されてました。
これでUnityに直接エクスポートできますね。
ShaderFXで作成したシェーダーがUnityでどう反映されるか
後ほど検証してみようと思います。
レンタルライセンスを購入しました。
Extensionに更新してみましたが、ジョイント作成時CreateIKHandlのオプション
をチェックしてもIKHandleが作成されないバグは解消されてませんでした。
次の更新で解消されればよいのですが。
さて、新機能のほうですが、プラグインマネージャを開いてみると
GamePipeLine.mllのプラグインが追加されてました。
これでUnityに直接エクスポートできますね。
ShaderFXで作成したシェーダーがUnityでどう反映されるか
後ほど検証してみようと思います。
2013年8月16日金曜日
[Unity3d]mayaのカメラをunityにインポートするためのMel作成
UnityではMayaのカメラアトリビュートを読み込めないのでサポート用の
スクリプトを作成しました。
□参考
Mayaカメラ設定をUnityにインポートするTips
http://www.slideshare.net/nyaakobayashi/mayaunity
□スクリプト
hq_convertCameraAttribute.mel - gist
カメラ設定をロケータにコネクションするMelです。
ロケータは自動で生成されますので作成する必要はありません。
https://gist.github.com/hiko9lock/6249942
適宜の場所にインストールしてください。
スクリプトを作成しました。
□参考
Mayaカメラ設定をUnityにインポートするTips
http://www.slideshare.net/nyaakobayashi/mayaunity
□スクリプト
hq_convertCameraAttribute.mel - gist
カメラ設定をロケータにコネクションするMelです。
ロケータは自動で生成されますので作成する必要はありません。
https://gist.github.com/hiko9lock/6249942
適宜の場所にインストールしてください。
- まず、カメラを作成してFitResolutionGate(解像度ゲートに適合)をvertical(垂直)に設定します。
- 作成したカメラを選択して、コマンド”hq_convertCameraAttribute”を実行します。カメラのアトリビュートがロケータにコネクションされます。
- カメラアニメーションを作成します。
- あとはロケータにキーをベイクしてロケータをFBXに書き出します。
カメラアトリビュートの関連付けですが資料と同じにしてあります。
ニアクリップ →スケールX
ファークリップ →スケールY
FOV →スケールZ
Maya側での作業のみとなりますので、Unityでのカメラデータインポートは資料を参考に試してみてください。
2013年3月4日月曜日
[Unity3d]iOS機種判定
Unity's ready for the iPad4 and new iPad Mini!
ここのサイトを参考にしました。
unity上では@が付いている文字列を使います。
ここのサイトを参考にしました。
@"i386" on the simulator
@"iPod1,1" on iPod Touch
@"iPod2,1" on iPod Touch Second Generation
@"iPod3,1" on iPod Touch Third Generation
@"iPod4,1" on iPod Touch Fourth Generation
@"iPhone1,1" on iPhone
@"iPhone1,2" on iPhone 3G
@"iPhone2,1" on iPhone 3GS
@"iPad1,1" on iPad
@"iPad2,1" on iPad 2
@"iPad3,1" on iPad 3 (aka new iPad)
@"iPhone3,1" on iPhone 4
@"iPhone4,1" on iPhone 4S
@"iPhone5,1" on iPhone 5
@"iPhone5,2" on iPhone 5
@"iPod1,1" on iPod Touch
@"iPod2,1" on iPod Touch Second Generation
@"iPod3,1" on iPod Touch Third Generation
@"iPod4,1" on iPod Touch Fourth Generation
@"iPhone1,1" on iPhone
@"iPhone1,2" on iPhone 3G
@"iPhone2,1" on iPhone 3GS
@"iPad1,1" on iPad
@"iPad2,1" on iPad 2
@"iPad3,1" on iPad 3 (aka new iPad)
@"iPhone3,1" on iPhone 4
@"iPhone4,1" on iPhone 4S
@"iPhone5,1" on iPhone 5
@"iPhone5,2" on iPhone 5
unity上では@が付いている文字列を使います。
if( iOSInfo.GetDeviceMode()== "iPhone5,1" || "iPhone5,2" ) {
Debug.Log("It's iPhone5!");
}
Debug.Log("It's iPhone5!");
}
2013年2月21日木曜日
[Unity3D]HingeJointを使った揺れモノ設定
キャラクタのヘアを揺らすための設定を
Hinge jointで考えてみました。
Hinge jointはグローバル座標でないとただしく動作しないので、
シーンに直接作成しています。
Sphereを作成してジョイントの代わりにPysicsコンポーネントを追加します。
Sphere1は物理の影響を受けさせたくないのでisKinematicをオンに
しておきます。
次にCube1にHinge jointの親(Sphere1)にコンストレインさせるため
コンストレイン用のスクリプトを作成します。
Transform(Cube1)を設定します。
シーンを再生してCube1,Cube2を動かすと確認できます。
Hinge jointで考えてみました。
Hinge jointはグローバル座標でないとただしく動作しないので、
シーンに直接作成しています。
Sphereを作成してジョイントの代わりにPysicsコンポーネントを追加します。
Sphere1は物理の影響を受けさせたくないのでisKinematicをオンに
しておきます。
- Sphere1にRigidBodyコンポーネントを追加
- Sphere2,3,4にHinge jointを追加
- Hinge joint>Connected Bodyに親のジョイントを設定
次にCube1にHinge jointの親(Sphere1)にコンストレインさせるため
コンストレイン用のスクリプトを作成します。
using UnityEngine;
using System.Collections;
public class Constraint : MonoBehaviour {
public Transform tr;
private Quaternion rot;
// Update is called once per frame
void Update () {
this.transform.position= tr.position;
this.transform.rotation= Quaternion.Euler( tr.eulerAngles.x,
tr.eulerAngles.y,
tr.eulerAngles.z );
}
}
Sphere1にコンストレイントのコンポーネントを追加してターゲットにTransform(Cube1)を設定します。
シーンを再生してCube1,Cube2を動かすと確認できます。
2013年2月15日金曜日
2013年2月12日火曜日
Unity 3Dのカメラを作成(win,mac)
Unity3Dのカメラスクリプトを作成しました。
マウスのみ対応で、pan,zoom,orbitが可能です。
https://gist.github.com/hiko9lock/4760161
使い方
マウスのみ対応で、pan,zoom,orbitが可能です。
https://gist.github.com/hiko9lock/4760161
使い方
- maimCameraにスクリプトをアタッチ
- targetに注視点用のgameObjectを設定
- middleボタンでパン
- LeftButtonでローテート
- alt+RightButtonでズーム
transform.LookAtを使用しているため注視点用の
gameObjectを設定してください。
Unity3Dのassetのカメラスクリプトを拡張しようとしましたが
思ったとおりに制御できなかったので球座標系で位置を
計算しています。
Unity3Dのassetのカメラスクリプトを拡張しようとしましたが
思ったとおりに制御できなかったので球座標系で位置を
計算しています。
2013年2月7日木曜日
unity iOSプロファイラー
iOSではUnityのプロファイラーが使えないのでxCodeで有効にして
xCodeのOutPutWindowにプロファイル情報を表示させる必要があります。
内蔵プロファイラでのパフォーマンス測定
xCodeのOutPutWindowにプロファイル情報を表示させる必要があります。
#define ENABLE_INTERNAL_PROFILER 1結果はこちら。
iPhone Unity internal profiler stats: cpu-player> min: 3.3 max: 4.0 avg: 3.5 cpu-ogles-drv> min: 3.2 max: 4.0 avg: 3.7 cpu-present> min: 0.9 max: 4.1 avg: 1.4 frametime> min: 29.8 max: 36.6 avg: 33.4 draw-call #> min: 11 max: 11 avg: 11 | batched: 0 tris #> min: 13510 max: 13510 avg: 13510 | batched: 0 verts #> min: 13368 max: 13368 avg: 13368 | batched: 0 player-detail> physx: 0.4 animation: 0.1 culling 0.0 skinning: 1.1 batching: 0.0 render: 1.5 fixed-update-count: 1 .. 2 mono-scripts> update: 0.2 fixedUpdate: 0.0 coroutines: 0.0 mono-memory> used heap: 253952 allocated heap: 262144 max number of collections: 0 collection total duration: 0.0詳細はこちら。
内蔵プロファイラでのパフォーマンス測定
登録:
投稿 (Atom)








