【ゲームエンジン】Unityなんでも質問スレpart10
■ このスレッドは過去ログ倉庫に格納されています
>>181
Windowsのエクスプローラーから名前変えようとしたら注意されたのでは?
Unity上で名前を変えると問題ないと思います
シーン名を変えてもそれ以下の階層のパスが変わるわけではないのであまり問題はないかと思います >>182
ありがとうございます
でも、unity上での変更というのがよくわからないです
ググった方法(右クリックからの名前変更、シーンアイコン下部の名前をクリックして編集)
を試したのですが、やはり警告が出てしまいます
また、自分で新たに作成したシーンでは名前を変えても警告は出ないのに
元からあったサンプルシーンの名前を変えようとすると何度変えても警告が出て、一体何が違うのかわからず困惑してる状況です すみません、誤解がありました
「サンプルシーンが何度名前を変更しても警告が出る」のではなく
「シーンを開いた状態でそのシーンの名前を変えようとすると警告が出る」でした
だとしたら、「選択してないシーンの名前を変更したら、外部アプリで名前を変更してるのに警告はされない」
という事になってるのでしょうか... 自分はUnityエディター上で今のシーンの名前変えても警告でないけどな… Unityのバージョン書けば何か分かるんじゃないかなぁ。 バージョンは3.24です...
unityエディタ上でシーンの名前をクリックして変更→これでもやはり警告が出る...
もう「正しい方法で変更されてるけど何故か警告が出る」と言う風に解釈しようと思います...
フォルダを確認してもシーン名もメタデータもちゃんと変更が反映されてるので... blenderで4つのオブジェクトで構成されたロボットを作りunityにインポートしました
unity上では「robot」という名前のオブジェクトの子として「head」「arm」「leg」「body」のパーツが並んでる状態です
これって4つ全てのパーツにコライダーやリジッドボディを設定するべきなのでしょうか?
それとも親?のオブジェクトとして存在する「robot」にだけ設定すればいいのでしょうか?
とりあえず大雑把にロボットへの当たり判定だけ実装したいのですが
だとしたらrobotにだけ設定する感じでいいのでしょうか? こんにちは例のやつですお世話になります
CofigurableJointについてなんですが
これは一番万能とききました
ところが外部コリジョンで簡単にビヨーンと伸びるのですが、この伸びを抑えられますか
そもそも下記のように全部ロックしていても、動き回るのはなんなのでしょうか
Xmotion Locked
Ymotion Locked
Zmotion Locked
Angular X motion Locked
Angular Y motion Locked
Angular Z motion Locked >>192の件ですけど、コンフィギャジョイントをやめてヒンジジョインツに戻しました
そのほうが安定したため >>196
よかったね
そうやってトライアンドエラー繰り返すたびに成長する
経験は嘘をつかない あるQuaternionを指定した方向に回転させるQuaternionを取得したいんですが、どうやって取得したらいいでしょうか?
Quaternion.FromToRotationかなと思ったんですが、回転させるためのQuaternionではなく回転済みのQuaternionが取れるので困ってます
var targetRotateQuaternion = Quaternion.FromToRotation(transform.Rotation * Vector3.forward, targetDirection);
// 本当はこの処理でtargetDirectionに向いて欲しい
var transform.Rotation = transform.Rotation * targetRotateQuaternion;
// 実際にはこれで向いてしまう
var transform.Rotation = targetRotateQuaternion; >>198
試してみたけど、 transform.rotation * targetRotateQuaternion でターゲットの方向くけどな そういうのって、エイムコンストレインみたいな機能ではうまくいかないものなんでしょうけ スクリプトの中で「アニメーションの概ね 0.5〜0.8 あたりの範囲を無限ループ」がやりたいです。
以下の実装だと全然ループしないんですが何が足りないんでしょうか…
CrossFade() の第2引数を0.0fにすると期待通りループするものの、そうなる原理がわからないです。
void Update() {
var stateInfo = animator.GetCurrentAnimatorStateInfo(0);
Debug.Log(Mathf.Floor(stateInfo.normalizedTime * 10)); // 5 -> 6 -> 7 -> 8 を期待 実際は 8 -> 8 -> …
if (stateInfo.normalizedTime % 1 > 0.8f) {
animator.CrossFade(stateInfo.fullPathHash, 0.1f, 0, 0.5f);
}
} https://www.pinterest.jp/pin/576812664777212583/
こんちゃ
probuilderでこういった形状は作れますかね
アレイ機能がないと難しそうですが ちなインクリメントスナップは1ずつしか移動できないみたいですね
この設定値は10とかに変更できないのでしょうか parentコンストレインと、FixedJointはどうちがうのでしょうけ? 質問いいですか?
椅子に座らせるモーションを作ってんだけど、位置と角度合わせが無理ゲ
多少の位置ワープは許容して、座るアニメと同時に座る位置に強制移動させてるけど、向きはどうするのがいいのかな?
椅子の子オブジェクトに仮想のテーブル的なものを用意して、それにLookAtするというのを考えてるけど
ほかになんかいい方法ある? transform.forwardで椅子の前方向を取得して、キャラの向きをそれに合わせるとか >>207
サンクス、そんな方法あったのね
体型によっては座れてないけどそれはもうしょうがないわね 2020のLTSで制作したプロジェクトを2021のLTSにバージョンアップしようと思って
UnityHubで2021のLTSに切り替えてプロジェクトを開こうとしたんだけど1時間くらいたっても起動しなくて困ってる
タスクマネージャーみても別にクラッシュしてるわけでもないし
何回やっても同じ結果になる
2Dの小規模なゲームなので何時間も時間がかかるとは思えないし…
原因がわからん 相談です。初心者ですがゆうなまみたいなゲームを作りたいのです。
が、ユニットの数を増やすと動作が遅くて困っています。悪い所や改善できるところがあれば教えてください
メイン処理は
1.クリア条件の確認
2.ゲームオブジェクト変数に格納した順に攻撃・移動・捕食等の動作を行う
3.新規ユニット生成時にゲームオブジェクトをメイン処理に格納する
の動作を繰り返しています。
ユニットの移動時には上下左右に隣接するオブジェクトを参照し、
1.敵と隣接で攻撃判定
2.空腹かつエサと隣接で捕食判定
3.1と2を満たさない場合は移動
となっています
極力findを使わずに軽くしているつもりです
よろしくおねがいします プロファイラで遅いところを特定して潰していけば
すごい勉強になるよ
トリッキーなアイデアとかもあったりするけど
門外不出の ユニットはプレファブにしたものをInstantiateで出しています。出した時にゲームオブジェクトをメイン処理の変数に格納しています
テストでは300体ほど出した所で遅くなり、500体を超えたあたりからfpsが20を切っています
攻撃や移動の判定はRigidbodyとColliderではなくマス毎にユニット番号を格納して変数を参照して動かしています こんにちはいつもお世話になっております
例によってラグドールのスクリプトを読んで勉強していたのですが
そもそもDemoで添付されているシーンがスクリプトがビルドできないと出て動かないことにいまさら気づきました
みんなさんの環境で動くかどうかみてみてもらえませんか
https://github.com/sergioabreu-g/active-ragdolls えっ?1画面に300体も出てくるの? それ見えるのか?
プレイとしておかしくないか? プロファイラを見つつ重いところを順次修正していくしかない
これやったら一発解決みたいな答えは基本的にはないよ
具体的にこの処理が重いから何とかならないか?という質問なら答えが出せる人はいるだろうけど
ハイスペックPCで動かすとかそういうので良ければそれで解決だけどそんなのは求めてないでしょ RTSなら数百体くらい普通だと思うが、あれらはかなりローポリだからな
レンダリングがネックなら画面外にいるユニットのレンダリング処理を止めたり、個々のユニットの解像度を下げるとか 画面外にいる奴の描画止めるとか、マテリアルを共通化してみるとか?
DOTSという手もあるけど実用性に欠ける罠 unityって勝手に優先度低い奴をローポリ処理とかしてくれないのか? 500も出てるなら何も考えずBurst・DOTSにするだけでもそれなりに高速化は出来るだろうけどな
クラス使えないからそのままってわけにはいかないけど インプットシステムのパラメータによって動作が変わるオブジェクトを実装するとき、
シーン全体の状況を管理するクラスがインプットシステムにのパラメータをカクニンして各オブジェクトのメソッドを呼び出すのか、
各オブジェクトがインプットシステムのパラメータを確認して振る舞いを変えるのか。
どっちがいいの?
あるいは共存してもいいものなの?
マス目の概念がない3DRPG想定です。 モノによるとしか…
管理しやすい方法でいいんじゃない?ゲームシステムとかinputsystemの機能みながら
操作の切り替えどうすっかとか考えつつ決めたら マジメに答えたらあかんで
この、どっちがいいのはAI質問どっち君やからね
そして想定だけしてゲームは作らず脳内で夢想してるだけなんよ こんにちはいつもお世話様です
>>216の件はunityバジョーンの違いと割り切りました
ほかのアプローチでなんとか動きつつあります >>225
モノによるってのはプロジェクト毎ではなくオブジェクト毎って認識でいいですか?
>>226
AI質問くんとやらとお前がどういう関係なのか知らんけど巻き込むなやボケ >>228
いや、プロジェクト毎
設計が気になるならアセットとかサンプルプロジェクトのコード読んでみたら? >>229
ツクールUniteのコード見ながら作ってるんですけど、まったくコンポーネント指向になってないから参考にしていいものか悩んでるんですよね……
キャラ制御以外のRPG給、通の部分は真試翌キればいいと試vってたんですbッど鵜呑みにはbナきないコードbナす
他に覧ヌいRPG向けのアセットないか探すのが良さそうですね 古いQiitaから引っ張ってきたコード使ってIAP実装しようとしたんですが
https://qiita.com/_stripeNishi/items/58fa0e1031bdbde758d1
error CS0535: 'MyIAPManager' does not implement interface member 'IStoreListener.OnInitializeFailed(InitializationFailureReason, string)'
のエラーが出てしまう。
だれか解決法知ってたら教えてください。 UnityEditor上でボタンのonclickに非同期のメソッドって設定は無理?
スクリプト作ってそれでボタンに登録しないと無理? ボタン機能やプロじゃないテキスト機能は「古い機能」としてカテゴライズされてますが
これって使わない方がいいのですか?
ボタンを最初から用意された標準機能として使えると思ったのに
公式が推奨していなかったりするのであれば使わない方がよいのでしょうか モンスターハンターのみたいなゲーム作ってるけどモンスターのAIって距離に応じて出す技の割合変えるだけでいいかな?
モンハンやってみてるけど完全ランダムな感じがしないでもない >>239
ではどのようなAIだと思いますか?
こちらの動きを読むこともして無さそうな印象を受けました ともかく最初はランダムでいいのでは
作り込むとパターン化するから飽きるっちゃ飽きる >>231
なんか両方書いたらエラー出なくなったんだが
public void OnInitializeFailed(InitializationFailureReason error, string message)
public void OnInitializeFailed(InitializationFailureReason error)
同じ関数名でも大丈夫なのか・・・ 残りMPで条件つけると
MPたくさん使う技を初回以外全く選べなくなるし
発動を先に決めてMP貯めこむようにしないといけないし
だからといって一度決めたからと言って大技使うまで小技すら使わんってのもおかしい
優先度がなにか?ってのを多変量で求めなければならない InputSystemで質問ですがエディター上でのコントローラーの入力を判定しないようなことはできますか?
例えばエディター上だとL2ボタンが右クリックになるようですがゲーム画面でL2ボタンを押したときその右クリックが有効になり右クリックをしたときの挙動をしてその後L2ボタンを押した動作とういうような挙動になってしまいます
対策とかあれば教えてください 純粋なランダムだとなんかいかにも適当だし完全パターンは大縄跳びっぽいから、マルコフ連鎖を使うのはどうかな?
通常殴りj、大技k、牽制ジャブl、ストレートmとして、
Pjj=0.4、Pkk=0、Plm=0.8とかなら結構妥当な動きしそう >>247
それどこかに実装例とか載った資料ありますか?
調べてみてはいますが結局何がしたいのかわかりませんでした 何故かNavMeshがBakeできない!
「Windows→AI」が無い! SerializeField で GameObject をアタッチするのって依存性の注入と見做せると思うか? 凝ったテクスチャを貼っても「いかにもunity」って感じに見えるオブジェクトもあれば
単色でシンプルな形なのにunityっぽくないオブジェクトもあるけど
これって違いはなんなの?シーンのライティングとか影の具合? 具体的な例も示さず個人の感覚だけの話をされても誰もわからんわ >>253
わからないなら無理してレスしなくていいよ
本当に頭悪いなお前 見て分からないならもう分かんないんじゃね?
知らんし こんにちは例の奴ですお世話なります
ボーンにリジッドボディとコライダを付けていますが
Boxコライダにせよカプセルにせよ、ちょこっと傾けたいときはどうしたらよいですか
ボンが傾いているせいですけど
コライダ形状のローカル回転は固定なんですかね >>258
ボーンの子にエンプティーオブジェクトを配置してそのコンポーネントのトランスフォームをいじってみれば? >>259
なるほど
うまくやれましたありがとうございます
けどちょっとハイアラキが煩雑になりますね HDRPあるし巷で言われるような差は無いかも
作り手の技術にもよるけどね UEは適当にやっても月並みになる事が多いが詰めると結構難しい
HDRPは入力にもよるけど上が潰れて下が思ったより浮く変な癖がある
下手すると0~0.8で帯域ぶった切られてビックリするわ 大体Unityでフォトリアルなゲームって少ない印象ある
そしてフォトリアルなグラフィック以外ではそんな差を感じることもないだろう >>262
小さすぎる
むしろ光の表現力ではUnityHDRPのほうが上まである >>264
それエクスポージャー(露出値)が正常じゃないだけでは? >>266
最近増えてきてるけどね
Narakaとか まぁ、プリレンダとコンポジター使ってみれば本物はどういう映像になるのかよく分かるよ
特にコンポジターで激変する
HDRPはリファレンスから変な外れ方をしてるからそこだけ直せれば
商用デジタルシネマと見分けつかなくなる筈なんだがな >>270
いやプリレンダもコンポジターも物理挙動に適応してなかったから今があるわけで
そいつらに迎合する必要は全く無いぞ UEや今まで業界で使われてきたレンダーやコンポジターが自然を無視した絵を追求してただけでより自然な表現を追求してるUnityとはまた違うよ
例えばVFXを多用する映画見てリアルだなぁと思うか?
すごいとはなるけどリアルではないじゃん? UEや他のソフトが目標にしてるのはVFX的な映像づくりであってUnityは実写映画的な映像づくりを目指してる それがリファレンスと違うって言ってんだけどな
何で自分で精査も検証もせずに思い込みだけを語るのか理解出来ない 俺に不利益がある訳じゃないしこれ以上干渉するつもりはないから
まぁ好きにすればいいとは思うよ >>274
リファレンスと違うとは?
実際の写真をリファレンスにすればよくね? 結局やってる事はUE厨と同じだし好きなだけ根拠のない妄想を妄信してればいいじゃない
確認する方法は幾らでもあるのにな >>277
その方法を教えてくれないか?
俺はHDRPが純粋に物理準拠だからこの話をしてるわけだが ■ このスレッドは過去ログ倉庫に格納されています