棒人間4
画面をクリックして
Fキーで玉を打つ
Cでしゃがみ
矢印キーで操作
スペースでジャンプ
uまたは左controlで上段攻撃
nまたは左Altではらい攻撃
HPが0になると倒れて操作不能になるが特にゲームオーバーなどの画面遷移はない
敵を倒しても特にゲームクリアーなどの表示はない
覚書:
・倒された時に
gameobject.SetActive(false)をして
あらかじめつくっておいたragdollを
Instantiateした
ragdollの作り方は大体人型のキャラを配置し
メニューのGameObject->3DObject->Ragdoll
を選択して各ボーンをドラッグアンドドロップ
それをいったんPrefabにして
シーンからは削除
スクリプト側からはpublic変数にして
インスペクターにPrefabをドラッグアンドドロップ
人気ブログランキングへ
にほんブログ村 デザインブログランキング
The main content is the process of creating the game engine assets currently being created.
2015年4月29日水曜日
Unityでゲームつくり8
棒人間3
画面をクリックして
Fキーで玉を打つ
Cでしゃがみ
矢印キーで操作
スペースでジャンプ
左controlで上段攻撃
左Altではらい攻撃
まだゲームではなく単に動かすだけ
覚書:
・avatar maskを使うために追加したレイヤーについては
anim.SetLayerWeight(1,1f);
のようにウェイトを設定する必要がある
人気ブログランキングへ
にほんブログ村 デザインブログランキング
画面をクリックして
Fキーで玉を打つ
Cでしゃがみ
矢印キーで操作
スペースでジャンプ
左controlで上段攻撃
左Altではらい攻撃
まだゲームではなく単に動かすだけ
覚書:
・avatar maskを使うために追加したレイヤーについては
anim.SetLayerWeight(1,1f);
のようにウェイトを設定する必要がある
人気ブログランキングへ
にほんブログ村 デザインブログランキング
2015年4月28日火曜日
Unityでゲームつくり8
棒人間2
画面をクリックして
Fキーで玉を打つ
Cでしゃがみ
矢印キーで操作
スペースでジャンプ
左controlでパンチ
左Altでキック
ゲームではなく単に動かすだけ
覚書:
・二段飛びできてしまっている
理由は多分キックできるように足にコライダーを追加してあるから
その接地判定用のrayがそのコライダーにヒットして空中でも接地していると
勘違いしてるのか
足から接地判定用のrayを出すべきだったか
・リジッドボディでも単なる球なら1000個でも問題なく動いた
人気ブログランキングへ
にほんブログ村 デザインブログランキング
画面をクリックして
Fキーで玉を打つ
Cでしゃがみ
矢印キーで操作
スペースでジャンプ
左controlでパンチ
左Altでキック
ゲームではなく単に動かすだけ
覚書:
・二段飛びできてしまっている
理由は多分キックできるように足にコライダーを追加してあるから
その接地判定用のrayがそのコライダーにヒットして空中でも接地していると
勘違いしてるのか
足から接地判定用のrayを出すべきだったか
・リジッドボディでも単なる球なら1000個でも問題なく動いた
人気ブログランキングへ
にほんブログ村 デザインブログランキング
2015年4月27日月曜日
Unityでゲームつくり7
棒人間1
画面をクリックして矢印キーで操作
スペースでジャンプ
左controlでパンチ
左Altでキック
ゲームではなく単に動かすだけ
覚書:
・MacBookProだとキャラクター40体くらいで動きがガタついてきた
どこがボトルネックかは今後試していく
スクリプト部分かメッシュかコライダーか
(追記:
シェーダーを変えても大して変わらず
スクリプトとリジッドボディを削除すればコライダーがあっても
(一体あたり4個のボックスコライダーと2つのスフェアコライダーと1つのカプセルコライダーを持っている)1000体でも動いた
スクリプトを削除してもリジッドボディがあると100体くらいでガタついた
おそらくリジッドボディの処理が一番重い
がスクリプトがある場合もない時と比べて2倍くらい重くなってる
思ったより影響が大きい
どのスクリプトのどの部分の影響かは今後調べる
(追記:
70体くらいでOnTriggerStayを削除すればガタつかない
OnTriggerStayをオーバーライドすると中身がなくても
ガタつきに影響があった
OnTriggerStay内でプレイヤーの位置判定に用いたRaycast
の処理は大して影響がないっぽい
)
)
人気ブログランキングへ
にほんブログ村 デザインブログランキング
画面をクリックして矢印キーで操作
スペースでジャンプ
左controlでパンチ
左Altでキック
ゲームではなく単に動かすだけ
覚書:
・MacBookProだとキャラクター40体くらいで動きがガタついてきた
どこがボトルネックかは今後試していく
スクリプト部分かメッシュかコライダーか
(追記:
シェーダーを変えても大して変わらず
スクリプトとリジッドボディを削除すればコライダーがあっても
(一体あたり4個のボックスコライダーと2つのスフェアコライダーと1つのカプセルコライダーを持っている)1000体でも動いた
スクリプトを削除してもリジッドボディがあると100体くらいでガタついた
おそらくリジッドボディの処理が一番重い
がスクリプトがある場合もない時と比べて2倍くらい重くなってる
思ったより影響が大きい
どのスクリプトのどの部分の影響かは今後調べる
(追記:
70体くらいでOnTriggerStayを削除すればガタつかない
OnTriggerStayをオーバーライドすると中身がなくても
ガタつきに影響があった
OnTriggerStay内でプレイヤーの位置判定に用いたRaycast
の処理は大して影響がないっぽい
)
)
人気ブログランキングへ
にほんブログ村 デザインブログランキング
Unityでゲームつくり6
人型のキャラクターを動かす3
6個の宝石を集めてから
円筒に到達するとクリアー
邪魔する骸骨は視界に入ると回転して追いかけて攻撃してくる
覚書:
・チュートリアルにあるようにコライダーの大きさをアニメーションのカーブに合わせて
変化させるよりも単にボックスコライダーコンポーネントをもったキューブを
背骨や骨盤といったいくつかの主要なボーンの子にして
メッシュレンダラーを削除して不可視にしたほうが簡単だし現実に近い動作をする
人気ブログランキングへ
にほんブログ村 デザインブログランキング
6個の宝石を集めてから
円筒に到達するとクリアー
邪魔する骸骨は視界に入ると回転して追いかけて攻撃してくる
覚書:
・チュートリアルにあるようにコライダーの大きさをアニメーションのカーブに合わせて
変化させるよりも単にボックスコライダーコンポーネントをもったキューブを
背骨や骨盤といったいくつかの主要なボーンの子にして
メッシュレンダラーを削除して不可視にしたほうが簡単だし現実に近い動作をする
人気ブログランキングへ
にほんブログ村 デザインブログランキング
2015年4月26日日曜日
Unityでゲームつくり5
人型のキャラクターを動かす2
矢印キーで前進、後退、左右へ旋回
スペースでジャンプ
controlでパンチ
ゲームではなくただ動かすだけ
覚書:
・人型のキャラクターなら
ボーンの数が違っても
(足の関節が3つでも)
アニメーションを使いまわせる
・fbxでアニメーションを書き出す際は
モデルの初期位置を座標原点にしておかないとColliderの位置設定がしにくくなる
・移動アニメーションクリップをブレンドする場合は参考サイトの3:10あたりの方法で
animator controllerのblend treeで
2DFreeFormCartesianを選択し順番は好きなように好きなだけアニメーションクリップを追加し最後にCompute PositionsのSpeed and angular speed
を選択すると自動的に大体適切な遷移をするようになるので
最後parametersの座標系に表示されたアニメーションクリップの位置を
アニメーションを再生しながら調整する
参考サイト:
http://unity3d.com/learn/tutorials/projects/stealth/enemy-animator-controller
人気ブログランキングへ
にほんブログ村 デザインブログランキング
Unityでゲームつくり4
人型のキャラクターを動かす
矢印キーで操作
スペースでジャンプ
controlでパンチ
ゲームではなくただ動かすだけ
覚書:
・RigidBodyとColliderとスクリプトで動かした
CharacterControllerは使わず
・人型のキャラクターのアニメーションは流用できる
(3dsmaxのbipedで確認
Blenderは未確認
)
インポートした後にhumanoid
に設定
人型キャラにボーンを追加したモデルにもアニメーションを使えるが
追加したボーンについては動かない
モデルのスキンについては人型キャラクターのルートのボーンを追加してはいけない
(これはUnityに限らず当たり前だったか
ルートのボーンはPlevisの位置と一見近いが激しい動作をするとかなりずれる)
・AnimatorのApply Root motion
をチェックするとインポートしたアニメーションの動きがそのままキャラクターに適用される
つまりfbxなどのアニメーションを作る際にキャラクターが前進するようにすると
キャラクターのアニメーションを再生しただけで前進する
回転させれば回転する
(アニメーションで回転させる場合はRigidBodyのConstraintsでFreezeRotationをチェックしないと動かした時にこける)
スクリプトでtransformの位置を直接操作する必要はなく
スクリプト側からはAnimatorControllerの変数を制御するだけで良い
・AvatarMask作成して
AnimatorController
でレイヤー追加してAvatarMask設定すると
設定した部分のみを動かせる
これは例えば走りながら上半身を追加で動かしたりしたい時
そのまま上半身を動かしたアニメーションをブレンドしてしまうと
下半身の走りとブレンドされてしまうがAvatarMaskを使えば防げる
・AnimatorControllerでトランジションのパラメータを設定する際に
HasExitTimeのチェックオフにしておかないと条件を満たしてもすぐには遷移しない
・Colliderコンポーネントをもつオブジェクトを
アニメーションのあるキャラクターのボーンの子にすれば
そのオブジェクトの動きや衝突もアニメーションにともなって適切に行われる
(今回はキューブを右手の子にしてメッシュレンダラーを削除して不可視にして
あるのでパンチ動作でリジッドボディを叩いて動かせる)
参考サイト:
https://www.youtube.com/watch?v=Xx21y9eJq1U
人気ブログランキングへ
にほんブログ村 デザインブログランキング
矢印キーで操作
スペースでジャンプ
controlでパンチ
ゲームではなくただ動かすだけ
覚書:
・RigidBodyとColliderとスクリプトで動かした
CharacterControllerは使わず
・人型のキャラクターのアニメーションは流用できる
(3dsmaxのbipedで確認
Blenderは未確認
)
インポートした後にhumanoid
に設定
人型キャラにボーンを追加したモデルにもアニメーションを使えるが
追加したボーンについては動かない
モデルのスキンについては人型キャラクターのルートのボーンを追加してはいけない
(これはUnityに限らず当たり前だったか
ルートのボーンはPlevisの位置と一見近いが激しい動作をするとかなりずれる)
・AnimatorのApply Root motion
をチェックするとインポートしたアニメーションの動きがそのままキャラクターに適用される
つまりfbxなどのアニメーションを作る際にキャラクターが前進するようにすると
キャラクターのアニメーションを再生しただけで前進する
回転させれば回転する
(アニメーションで回転させる場合はRigidBodyのConstraintsでFreezeRotationをチェックしないと動かした時にこける)
スクリプトでtransformの位置を直接操作する必要はなく
スクリプト側からはAnimatorControllerの変数を制御するだけで良い
・AvatarMask作成して
AnimatorController
でレイヤー追加してAvatarMask設定すると
設定した部分のみを動かせる
これは例えば走りながら上半身を追加で動かしたりしたい時
そのまま上半身を動かしたアニメーションをブレンドしてしまうと
下半身の走りとブレンドされてしまうがAvatarMaskを使えば防げる
・AnimatorControllerでトランジションのパラメータを設定する際に
HasExitTimeのチェックオフにしておかないと条件を満たしてもすぐには遷移しない
・Colliderコンポーネントをもつオブジェクトを
アニメーションのあるキャラクターのボーンの子にすれば
そのオブジェクトの動きや衝突もアニメーションにともなって適切に行われる
(今回はキューブを右手の子にしてメッシュレンダラーを削除して不可視にして
あるのでパンチ動作でリジッドボディを叩いて動かせる)
参考サイト:
https://www.youtube.com/watch?v=Xx21y9eJq1U
人気ブログランキングへ
にほんブログ村 デザインブログランキング
登録:
投稿 (Atom)