久しぶりに来て、最新記事に気が付きました。Modokiの開発が中断されたのは残念ですが、別の形で相まみえる日を楽しみにしています。
TRIGLAVもGarageも楽しみましたが、Ninelivesでの実際に世界に立って歩ける感覚がとても好きです。
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
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を一時退避しておいてアウトライン部分の描画は次フレーム以降からとしてみたが、気になるほどチラツキも目立たないので、ちゃんとまとめれば使えそうな手法かも。
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で引いていない状態。
あくまで吸着するだけなので、弓らしく見えるかどうかはキャラクター側のモーションや制御次第。
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カラーを黒ベースに!?

前回かなり危うい動きを見せてくれた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年 JavaScriptでつくられたWebゲームTRIGLAV公開。総勢50万アカウントを超える長寿ゲーム。
2015年 3DRPG Ninelivesを開発。現在休止中ですがまだプレイはできます。
2018年 TRIGLAV モバイル版をリリース。100万ダウンロード突破。
2021年 作場知生氏と共同開発したガラージュ 完全版をモバイル、Steam、Nintendo Switchでリリース。
SmokymonkeyS is a two-man indie team by a programmer and a graphic designer.
Our 1st game TRIGLAV, a web RPG made by JavaScript has obtained over half a million accounts since launched 2002.
2015, Ninelives suspended after the alpha phase, but still can play.
2018, releasing Triglav for Mobile. Reached 1 million download.
2021, releasing Garage: Bad Dream Adventure for iOS, Android, Steam and Nintendo Switch. Developed with Sakuba Tomomi.
Any Comment?
1666 Posts | Page 1/209
kitori
Frankie
Smoky, thank you a ton for your work on Triglav. One of the most fun games to ever grace us.
m.m0uka
I love your games sm and can't wait for the next one. I would love to see some more lore in triglav, maybe not in the games but on the sites<3
Ivan Macedo
Please release an update for NineLives
SmokymonkeySUnfortunately, no.
Johny
is there anyway to retrieve a forgotten password for the Ninelives game ?
Killy
I launched Ninelives for the first time in a while today, not to quest, not to farm items, just to exist in that world again. I miss it so, and it breaks my heart it may never be finished, but that longing is kind of beautiful in itself right? Thank you for everything, wonderful monkeys <3
CMake
Reggie for the win :3





