2011-10-07 07:57:28 | Querbok

Unityのパーティクルシステムはスケーリングが適応されない。装備品の様にキャラによって自動スケーリングして使うようなモデルにはパーティクルエフェクトは使いにくい。

ParticleScaleController.js

パーティクルエフェクトをスケーリング1.0で作っておいて、上のスクリプトを追加し必要な部分のみOnにして使用。シンプルなものならisSizeControllかisEmissionControllをOnにするだけでok。

主なプロパティーは以下
・ParticleEmitter用フラグ
isSizeControll : Size on/off
isEmissionControll : Emission on/off
isWorldVelocityControll : WorldVelocity on/off
isLocalVelocityControll : LocalVelocity on/off
・ParticleAnimation用フラグ
isSizeGrowControll : SizeGrow on/off
isForceControll : Force on/off
isRndForceControll : RndForce on/off
isDampingControll : Damping on/off

scaleCheckTarget : スケールの参照先、省略すると自分自身を参照
isUseLocalScale : onでlocalScale、offでlossyScale


ただし、Unityの仕様上(3.41現在)、ElipsoidParticleEmitter、MeshParticleEmitter固有のプロパティーへのアクセス方法が無いのでElipsoid値やTangent値はスクリプトから操作出来ない、その為それらはこのスクリプトではスケーリング出来ない。
Elipsoid値に関してはMeshParticleEmitterを使ってSphereをエミッターメッシュとして使うことでスケーリングの影響を受けるようにできる。
2011-08-31 04:36:06 | Querbok
Project Window内で選択しているファイルの位置(Folder Path)をEditor Scriptで取得で取得する方法。
AssetDatabase.GetAssetPath()メソッドだけではファイルとフォルダの区別が非常に困難、フォルダの時には「/」で終わってくれればわかりやすいだろうに・・。仕方ないのでSystem.IOクラスを使ってフォルダの存在チェック等で判断する方法を試してみたが、もっとシンプルなやり方があったりする?
以下はProject上の右クリックメニューの「Create>Simple Plane」で選択中のフォルダ、又は選択中のファイルと同階層にファイルを作成するSample Script。
Editor/CreateSimplePlane.js

2011-03-31 13:32:30 | Querbok
GUILayoutで袋文字をやってみるテスト。


GUILayoutの場合レイアウトが描画位置は動的になるので、GUILayoutUtility.GetLastRectを使って位置をわりだそうというもの。ただし、GetLastRectはOnGUIイベントがRepaintの時でないと正確な値を取れないため、Rectを一時退避しておいてアウトライン部分の描画は次フレーム以降からとしてみたが、気になるほどチラツキも目立たないので、ちゃんとまとめれば使えそうな手法かも。
2010-11-10 11:49:39 | Querbok
処理の切り分けがよかったので載せてみる。
Bow処理の極々一部でしかないが、なにかの参考になれば幸い。


自動で弓の弦を張る処理。
Bowstring.js

stringTarget1 : 弦の上端ダミー Transform
stringTarget2 : 弦の下端ダミー Transform
pullTarget : キャラクターの引手ダミー Transform、default null

弓自体は変形しない仕様なので、stringTarget1、stringTarget2はStart時固定。
pullTargetが設定され次第、弦の中間部分がpullTargetに自動吸着。nullで引いていない状態。
あくまで吸着するだけなので、弓らしく見えるかどうかはキャラクター側のモーションや制御次第。
2010-07-08 09:30:49 | Querbok
Unity3.0 プレビューベータ再び
前回かなり危うい動きを見せてくれたb2だったが、早速b3が・・。

OcclusionCulling

描画に必要無い部分をレンダー対象から省いてくれる便利機能。
今回は動作が確認できた。
この機能を有効にするためには、オブジェクトやメッシュの関係を管理できる階層的なデータを生成しておくことが必要。Lightmapと同様でStaticオプションを有効にしたオブジェクトが解析対象になる。
解析さえやっておけば他には特に気にすることも無く処理が軽減されるので非常に強力で便利な機能だ。
上のスクリーンショットの様にカリング状態の確認表示機能も装備されている。
解析には結構時間がかかる。
対象が多い?あるいは複雑?だとまだエラーになることがあるようで、3時間ほどかけてエラーで失敗したときには泣きそうになる。

この解析処理は外部のコマンドで処理されているようなのだが↓

私の環境ではほぼコンスタンスにCPU使用率13%、4スレッドくらいを使ってなんかダラダラと処理しているよう、特にHDDにアクセスするでもなくこれなので、かなり低いレベルにCPU使用率を制限してそうな感じだ。時間かかる処理なだけに、可能ならもう少しスロットル上げて欲しいところか。

Particle Random Rotation
パーティクルシステムに待望の回転機能。
今までは↓


U3では↓が可能に


パターン臭さが簡単に消せるようになるのでシンプルだが強力な機能だといえる。
回転はemit後固定、あるいは定速で回転を継続させることが可能。パーティクルごとにランダムな速度を与えることもできるのでエフェクトとしての活用範囲も増えそうだ。

b2でおかしかったインポートスケールなども直っていたし、アニメーションsplitも問題なさそう、PhysXについてもKyrill的には処理を変えずに2.61と同じ動きになってくれたのでこれでちょっとひと安心。
むしろあまり心配していなかったShader系が実は結構改変されるようで、使っている一部shaderがちゃんと動いてくれなくなっている。ドキュメントを見た感じsurface機能などの追加や基本部分の変更が結構入るよう。Lightmap向けに組み直される感じか。

それはともかく、b3、何故に突然UIカラーを黒ベースに!?
 

About   

SmokymonkeySとは、2名からなるインディチームです。 ゲームやその他作品を無所属で個人開発しています。
2002年 WebゲームTRIGLAVを公開。総勢50万アカウントを超える長寿ゲーム。
2015年 3DアクションRPG Ninelivesを開発。現在休止中。
2018年 TRIGLAV モバイル版をリリース。70万ダウンロード達成。
2021年 作場知生氏と共同開発したガラージュ 完全版をリリース。

SmokymonkeyS is a two-man indie team by a programmer and a graphic designer, formed for creating games.
Our 1st game TRIGLAV, a web RPG that has been made with JavaScript has passed over half a million accounts since launched 2002.
2015, Ninelives suspended the development after the alpha phase.
2018, released Triglav for Mobile. Reached 700 thousand download.
2021, released Garage: Bad Dream Adventure. Developed with Sakuba Tomomi.

 

Any Comment?

1581 Posts | Page 1/264
SmokymonkeyS
Could you join Triglav Discord and send me a direct message?
WTF2
No matter what I do, the game doesn't show me any events. Internet connection is working and I am a legit user. So it seems my device is somehow blocked, but why.
SmokymonkeyS
Thanks. I'm considering it properly.
Smox
Some guy asked to realease the triglav on steam. I want to tell that i support this idea too. Since I am a huge fan of your work and i am following since last 7 years you have a huge potential guys. WE ARE SUPPORTING YOU!.
Please Release TRIGLAV on Steam!
<3
SmokymonkeyS
Come to join our Discord and direct message me.
fun26298
我想取回我的帳號fun26298
我的手機設備因為螢幕損壞而無法進行資料轉移,我很喜歡這個遊戲但是我無法取回我努力了5年多的資料,可以協助我取回資料嗎?