【ゲームエンジン】Unityなんでも質問スレpart12
■ このスレッドは過去ログ倉庫に格納されています
質問いいですか?
モーションを含むFBXファイルを更新してもFBX内のモーション一覧が変わりません。
一度ファイルごと削除するか、内部の一覧を空にすると更新が反映されるようです。
モーションの追加毎にループ設定とか全部やり直すので気が狂いそうですが
mいんnあは気が狂わな狂う宇くいあl? 初学者です。
既知のバグかわからんけど、調べても同様の症状の人がほとんどいなかったので
1.新規のアセットパッケージをインストールするとメニューから消えてしまう。
特に複数入れた場合、どれかがメニューから消えてしまって作業ができなくなる。
インストール自体はできてる。削除→再インストールも効果なし。なぜか新規プロジェクトで1からつくると消えてたアセットがメニューに出るようになることもある。
下段のアセット一覧があるところからだと適用ができないからお手上げ状態。ryzen入れてるから相性なんかなと思ったけど同様の書き込みないから困ってる。アセットのインストールパッケージを置く場所は特に関係ないはずだし。
特にエラー表記はなかったと思う。多いのはFACS UtilitiesのあとにVRSDKを入れるとFACSがメニューから消えて再インストールも効果がなくなってしまう現象。
2.unity2019でAsset load bundleからFacs utilitiesを使おうとしたが、bundle sourceに対してloadしても反応がない。
でも2022のバージョンでは反応して1つのプロジェクト内でクローンを生成できる。
VRC用に2019バージョンで使用したいけど設定方法分かる人いたら教えてほしい 初学者です。
既知のバグかわからんけど、調べても同様の症状の人がほとんどいなかったので
1.新規のアセットパッケージをインストールするとメニューから消えてしまう。
特に複数入れた場合、どれかがメニューから消えてしまって作業ができなくなる。
インストール自体はできてる。削除→再インストールも効果なし。なぜか新規プロジェクトで1からつくると消えてたアセットがメニューに出るようになることもある。
下段のアセット一覧があるところからだと適用ができないからお手上げ状態。ryzen入れてるから相性なんかなと思ったけど同様の書き込みないから困ってる。アセットのインストールパッケージを置く場所は特に関係ないはずだし。
特にエラー表記はなかったと思う。多いのはFACS UtilitiesのあとにVRSDKを入れるとFACSがメニューから消えて再インストールも効果がなくなってしまう現象。
2.unity2019でAsset load bundleからFacs utilitiesを使おうとしたが、bundle sourceに対してloadしても反応がない。
でも2022のバージョンでは反応して1つのプロジェクト内でクローンを生成できる。
VRC用に2019バージョンで使用したいけど設定方法分かる人いたら教えてほしい Odinに関する質問です。
Dictionary<string,List<Sprite>>でDictionaryを作っているのですが、
中に入っているListの画像プレビューをインスペクタ上に表示する方法はありますか?
List単体ならプレビューできるのですが、Dictionaryにそのまま[PreviewField]を付けても駄目なようで…
OnInspectorにforeachを仕込んでGUILayoutで書くのでは、というところまでは思いついたのですが
Odinにおけるプレビュー画像の記述方法がわかりませんでした。
よろしくお願いします。 >>5
書いてあるとおりの力技でひとまず自己解決しました。
foreachでループさせてlabelにスプライトを読み込むことでプレビュー表示の領域を丸ごと作ったのですが、
もっといい方法ないものかな……
Odinでもっと簡単にできる方法があれば教えてください。 ダメージエフェクトってどうするのがセオリーなんですか?
必要のたびにInstantiateして数秒後にDestoryすればとりあえず実現はできるんだけど
Instantiateは重いとかなんとか聞くので、大量のユニットが出てくるゲームでもっとスマートな方法ないですか?
各オブジェクトに専属エフェクトを用意しておいて、必要時にアクティブに切り替えるとかそういう細かいやり方一般的ですかね? ひろはすがUnity裏切ってUEに鞍替えしたんだよ!お前らどうすんだよ!?m9⎛´・ω・`⎞ドーン! しばらくGODOTに浮気してたけどやっぱりUNITYが好き >>9
結局なんのかんのいって痒いとこに手がとどくようになってるからなUnityは
Godotとかやってみて「おっこれはいけるかも??」て思ってもいざ本気でやりだすと
細かいところで不具合があったりどうしょうもない仕様があったりで本気で使うには不安が残るパターンが多い >>7
まずはそれでいいと思います。 重くなってきてから変えられるような作りをしておけば万全。
そのような作りをしてますが、今のところ切替方式が必要になったことはありませんでした。
100オブジェとか余裕かと。
昔や非力なAndroidがターゲットなら最初から切替の方が良いかと思います。 UNITYでキー入力ってどこに実装するのがベターですか?
キャラに直でコードなすりつけるのが普通なんですか?
カラのオブジェクトを作成してそこにキー入力コード用意して
そこからキャラクターに命令するのが普通なんですか?
UEでは分けてたと思うんですが UNITYでキー入力ってどこに実装するのがベターですか?
キャラに直でコードなすりつけるのが普通なんですか?
カラのオブジェクトを作成してそこにキー入力コード用意して
そこからキャラクターに命令するのが普通なんですか?
UEでは分けてたと思うんですが >>13
後者だね
複数のオブジェクトから同時にInputを呼ぶとプラットフォームによっては激烈に重くなる 男でスカート履くのは普通なんですか?
女でジーンズ履くのは普通なんですか?
ラーメンをフォークで食べるのは普通なんですか?
寿司に醤油掛けるのは普通なんですか?
フツウって何? >>16
やっぱそれか。返答ありがとうございます! 今日も元気だ暴飲暴食!サンボで豪遊してきた!
焼き牛丼!牛皿!ビール500㍑!これでたったの1180円!m9⎛´・ω・`⎞ドーン!
ttps://i.imgur.com/Ur28YYE.jpeg 彡 ⌒ ミ
( ´・ω・`) 禿げてね-よ!
/⌒ヽ_.ィ、 しゃぶれよ!
( r. )
ヽノノー二二つ <ドーン! >>20
|__/_/
└一'一 >>22
一桁間違えた!m9⎛´・ω・`⎞ドーン! 86 名前は開発中のものです。 sage 2023/09/07(木) 10:29:43.16 ID:84ac0SK7
そんなんwikiに載ってるだろ?ワイの総資産US$15億(2007年)だってよ!ワイすげー!m9⎛´・ω・`⎞ドーン!
これサークルだったんだぁ凄いなぁワラワラワラ
別に製品そのままじゃのーてリギングだけりゃいのに
えっ?それできないの?
まさかねぇ(笑) 141 ドーンおじ sage 2023/10/08(日) 09:20:11.70 ID:FDh2RFJV
あーうぜぇ!製品レベルのもん見せたらサークルがバレんだろ!
このエロゲの作者は5chで初心者虐めてる嫌な奴って噂になったら売れなくなるだろ!m9?´・ω・`?ドーン! >>25
お前は低クオリティのコテハンつけろよ!m9⎛´・ω・`⎞ドーン! >>27
Sikiは同じレスは3度目から見えなくなるんだよ!もう少し工夫してくれよ!m9⎛´・ω・`⎞ドーン! >>29
お前が涌いてくるとスレが止まるんだけど?
みんなキチガイが居るスレなんて避けるんだよ!お前は消えろ!m9⎛´・ω・`⎞ドーン! Unityとあんま関係ない話で悪いんだけどさ?
某喫煙所に貼ってあったこれな?こいつらJKじゃないん?m9⎛´・ω・`⎞ドーン!
ttps://i.imgur.com/zW7sr3L.jpeg 141 ドーンおじ sage 2023/10/08(日) 09:20:11.70 ID:FDh2RFJV
あーうぜぇ!製品レベルのもん見せたらサークルがバレんだろ!
このエロゲの作者は5chで初心者虐めてる嫌な奴って噂になったら売れなくなるだろ!m9?´・ω・`?ドーン! 今日も元気だ暴飲暴食!大阪で豪遊してきた!
肉吸い定食!ビール500㍑!これでたったの1192円!m9⎛´・ω・`⎞ドーン!
ttps://i.imgur.com/uzdjTjf.jpeg 味方のAIを組んでるんだけど、特定の味方を攻撃してる敵を優先的に狙うってどうすればいいのかな
近接敵なら味方の周囲の敵を狙えばいいんだろうが、遠隔だとそうもいかない
AIのスクリプトに自分が狙ってるTargetを保存しておいて、対象検索時にはTargetが特定の味方であればそいつを狙う
というのが楽かな? >>39
ゲームによって変わるからそれだけでは何とも…
敵のアルゴリズムにターゲットを入れてるはずなので、それを見て判断すればよろし? >>38
ビール500リットルは流石に飲みすぎやろwwww >>42
一桁間違えた!m9⎛´・ω・`⎞ドーン! >>43
桁じゃなくて単位だろ!㍉㍑だ!m9⎛´・ω・`⎞ドーン! >>44
㍉は単位じゃねーよ!㌔とか㌐とかはSI接頭語だ!
㍑が単位だ!ビール500㍍だったら単位間違いだ!死ねクソ文系!m9⎛´・ω・`⎞;y=ー(゚д゚)・・∵. ドーン! >>45
ぐえーやられたんごー嘘んごーワイは元気んごーm9⎛´・ω・`⎞ドーン! 今日も元気だ暴飲暴食!サイゼリアで豪遊してきた!
ワンコインランチ!赤ワイン500㈱!これでたったの880円!m9⎛´・ω・`⎞ドーン!
ttps://i.imgur.com/dAs2doN.jpeg >>47
単位間違ってるんご!m9⎛´・ω・`⎞ドーン! >>44
あっなるほど
やっぱmlの間違いよねwちょっとビビったわwww このおっさんさぁ
一応サークルで作ってるらしいけど
毎回このコピペ貼って
多分糖質だから関わったらあかんよ
141 ドーンおじ sage 2023/10/08(日) 09:20:11.70 ID:FDh2RFJV
あーうぜぇ!製品レベルのもん見せたらサークルがバレんだろ!
このエロゲの作者は5chで初心者虐めてる嫌な奴って噂になったら売れなくなるだろ!m9?´・ω・`?ドーン! マイゴジ観てきたんご!ネタバレするんご!m9⎛´・ω・`⎞ドーン!
ゴジラの口に特攻するんご!嘘ンゴ!元気ンゴ!m9⎛´・ω・`⎞ドーン!
放射熱線の爆風で死んだんご!嘘ンゴ!元気んご!m9⎛´・ω・`⎞ドーン! これから学ぶつもりのunity初心者です。
趣味でunityを使って2Dゲームを主に作るつもりです。
unity独特のアニメーション製作法があるのは知ってますが
質問させて下さい。
例えば、オブジェクトの状況の項目を列挙型で作り、
それぞれSwitch文で管理するとして、
現状態に合わせ表示する画像を選択するってこと可能ですか?
その時にフレーム管理で表示画像をパラパラ変えればアニメもさせられます。
つまり、unity備え付けのアニメ制作方法は一切使わずに
描画画像のアニメや推移をスクリプトでやれますか?という質問です。
プレハブ化した空のオブジェクトを作って、
それは可能ですか? ユニティ備え付けのアニメのシステム嫌なら自分でクラス作ってシステム作っちゃえばいける >>54
めんどくさいができるんですね。ありがとうございます。
>>55
>自分でクラス作ってシステム作っちゃえばいける
すみません、そのクラスだけでいいんで1万円で考えてもらえませんか?
というか、unityでは>>53みたいなこと誰もやってないんで
参考にできるブログ等が見当たりません。
自分のイメージしていることをUnityに落とし込むのにそうとう苦労してまして
例えば、Sprite Editorで分けた画像があって、描画する名前をそれぞれに変更するだけで
パラパラ描画するってできそうなもんですが、
unityだとやれ毎回Sprite RendererをGetComponentして、そこの画像名を変更してやる?
感じでしょうか。ちょっとよくわからんのです。
Unityエンジンの考え方(unityでプログラミングするときにこういう流れになる、みたいな)、
というのを学びたいんですがいいページありませんか?
いろいろGetしたりインスタンスするものが多い気がして。 あと個人的にですが、世界的にシェアされているはずのUnityの制作ブログ等
探してもどれも情報が古かったり、少なかったりの気がするんです。
日本人は今はもうUniyをあんま触ってない感じなんでしょうか。
もしかして今の流行りはもう別のゲームエンジンにいってます?? >毎回Sprite RendererをGetComponentして、そこの画像名を変更してやる?
それでいいと思う。ざっくり言うとこんなカンジ。
public class Player : MonoBehaviour
{
public Sprite[] sps; //スプライト画像の配列 インスペクタで要素数指定して画像をドラッグドロップ
SpriteRenderer spr; //スプライトレンダラーコンポネント取得変数
// Start is called before the first frame update
void Start()
{
spr = GetComponent<SpriteRenderer>(); //スプライトレンダラー取得
}
// Update is called once per frame
void Update()
{
//キーが押されたら画像変更
if (Input.GetKeyDown("a")) { spr.sprite = sps[0]; }
if (Input.GetKeyDown("d")) { spr.sprite = sps[1]; }
}
} >>58
ありがとうございます!
質問だけさせてください!
配列の宣言とこです、
public Sprite[] sps; //スプライト画像の配列
生成のnewも要素数指定もありませんが
インスペクタの項目のところで要素数指定することができるんですか?
画像をドラッグドロップで突っ込んだ数が要素数になる感じですかね?
要素数を決めることが可能ってことですか??
で、その要素数指定の場合は、生成のnewも宣言しなくていいということ?? インスペクタで要素指定できますよ。
スクリプトでnewしなくてもいけます。 >>60
できました!!
すごい!これを改良して>>53を作ってみます! >>53 >>57
最低の回答してやるよ!回答者は反面教師として参考にしろ!m9⎛´・ω・`⎞ドーン!
・なんでUnity標準のアニメーション使わね-のかまず説明しろ!←はてなとか教えての回答者の9割9分がこれ!
・できるよ!面倒くさいけどね!←可能かどうか聞いてんじゃなくてやり方聞いてんだよ!
・UEはアフェカス!←忍者くん! >>57
ネットの情報が古い?そーなんだよー!
ブログやったこと有る?ない?ブログ更新するのってめんどくせえんだよ?
そのときの自分のやってたことをメモの意味でブログに残してるだけだからねー?
ブームが去ったら著者は興味失う、だから世の中には書きなぐりのゴミ情報が溢れてんだよ?
でもな?Unityは未だマシな方だぜ?UEなんて皆無に近い!基本のリターゲットすら古い情報しかねーんだよ!
そして紙の本はもっと酷いんだよ!紙の教科書持ってたら捨てろ!持ってても役に立たね-どころか邪魔だ!
犠牲者が増える前に出版禁止しろよ!焚書だ!教科書は燃えているか!?m9⎛´・ω・`⎞ドーン! >>53
初心者のくせになんでも知ってるじゃないか。 >>64
これはひどい!回答しないどころか質問者を罵倒するクズ!
低クオリティなんてもんじゃねーぞ!?死ね!m9⎛´・ω・`⎞;y=ー(゚д゚)・・∵. ドーン! ドット絵やアニメ絵ならむしろ既定画像のパラパラ漫画形式のほうが多そうだけどな
3Dでもアニメ調のものは口の動きとか、ちょっとした揺れなんかはGifアニメらしいし メカニックが走ってきて作業のドットアニメ作った時、スプライトマネージャー?使ったけど、簡単でしたよ。 自前のスプライトアニメ制御クラスなんてのは登龍門だから
数万人ってレベルでみんなが自作してる
金は要るがアセットストアに現職のプロ製とかが売ってるから
自分で実装するのに限界を感じたらストアを覗いてみるといい
ソースも付いてるから改造できるし勉強にもなる unityの新展開が来たけどmuseってまだ使えるわけではないんだよね? >>64
Unityの初心者なんですが、プログラミングの初心者では無いというか
若い時代にC++かじったことがありましてその頃にゲーム作った経験がありまして。
今の時代ですからUnityで作りたいんで覚えたいんです。
ただあのアニメーションの作成方法はどうにも慣れません。
あとunityってメイン関数で回すって構築方法じゃ無いので
これまた覚えるのに時間を食ってる感じです。
>>68
>自前のスプライトアニメ制御クラスなんてのは登龍門だから
数万人ってレベルでみんなが自作してる
>金は要るがアセットストアに現職のプロ製とかが売ってるから
自分で実装するのに限界を感じたらストアを覗いてみるといい
すでに限界感じてるんで、ソースを見て覚えたい感じです。
クラスのアセットって売ってるんですね。
画像素材やオブジェクトの完成品(いじれや的な)ばかりかと思ってました。
おすすめのクラス、教えてくれませんか?
2Dゲーム制作
BGM &SEの制御クラス
スプライト描画の制御クラス 高校で物理を学びまして一流大学の理系卒です。
Start()内でrigidbodyにAddForce()すれば物体は移動するけど
物理学的にはどうなってるの?
Start()が呼ばれるのは1回だけなので
物体に力が加わるのはほんの一瞬のはず。
重力のように恒常的に力が加わっているのではない。
これは力積が加わったということ?
どういう計算になるのですか? ちなみにわたしはUnityの映えある初心者です。
たとえばUpdate()内のrigidbodyにAddForce()すれば物体はどうなるんだろう? 物理学とrigidbody、
物理学とcollider、
の関係をそれぞれ教えていただけませんか?
Unityでも出てくる用語のrigidbody, colliderが
物理学の力(と加速度)、はねかえり係数、力積、などとどう関係しているのかが知りたいです。
ある物体にComponentとしてrigidbodyやcolliderがついているかいないかによって2x2=4通りあると思いますが
2物体の衝突の場合どうなるかはさらに2倍の組み合わせがあります。
こういった概念を分かりやすく把握するためにはどう物理学的に理解するのがよろしいですか? isKinematicって
物理学でいうとどういう概念でしょうか? >>70
何を作るかわからないけど、とりあえず昔からの定番で
今50%Offセールしてる奴は以下がオススメかな。
・CorgiEngine(2D総合,サウンド制御含む?)
・MasterAudio(サウンド制御のみ)
ゲームエンジン無しでゲームを作りかけてた人なら
同梱のサンプルシーンでUnityの仕組みごと勉強が出来ると思う。
あとは必要に応じて金で時間を買う感じで。 例えば双方の物体ともにrigidbodyがついていない場合
onCollisionEnter()が作動しないのはなぜでしょう? PC買い替えでUnityセットアップして作業してたプロジェクト開いて実行したら
12秒おきにGCで6フレームぐらいフリーズするようになったんで原因調べてたら
新規プロジェクト作成して何もないシーン実行してる状態でもGCUsedMemory増えていくし
GCでプチフリしてるっぽい… バージョンは2022.3.0f1 以前使ってたバージョンは覚えてない…
これって何なんですかね? 2022.3.0はだいぶ古いからとりあえず新しいので試してみたら? 1流大卒業してるなら
次はUDEMYでUnity習って卒業してこい
話はそれからだ 今日も元気だ暴飲暴食!サンポで豪遊してきた!
鬼おろし牛丼!豚汁!ビール500㍑!これでたったの1080円!m9⎛´・ω・`⎞ギュードーン!
ttps://i.imgur.com/QM8uX2i.jpeg 幸せの第一歩は丈夫な胃腸を持つことだ
っていうけど暴飲暴食者の幸福感は異常ってのは実感できる >>79
Udemyもよさそうだけど
これは物理学のことを理解できない頭がハゲた人向けに説明してることが予想できるきらあまり乗り気でない。
物理学を理解してる人向けにUnityを解説している本or動画はないでしょうか?
理系頭にとってちゃんと数式で説明してくれたほうがよっぽどよく分かる。
「文系でも分かる」と冠した本みたいなのは理系頭にとって分かりにくいことこの上なく大嫌い。 本格的にやりたいならRとかで物理シミュレーションやったほうがいいと思うが
Unityはあくまでそれっぽい挙動をグラフィックに変換するだけで正確な動作してるわけじゃないぞ >>78
PCと手持ちのノート2環境で色々試した。
昔使ってた古いUnityはGC頻度短めスパイク低めでそれ以降のUnityは
GCスパイク300msぐらいだった。
でincremental GCを有効にしたらスパイク減って快適になった。
(incremental GCが実験実装されたのが2019でincremental GCはデフォルトで
オンになっているが古いプロジェクトはオフになってる)
とりあえず解決しました。ありがとうございます Itchとか無料であげられるところに数うちゃ当たるでうpしまくって反応を見て、好感触なものを本格的に作って売る
ってのは嫌われるかね? >>75
ありがとうございます!なんか良さそうです!
解説動画もあるし、これは調べてみる価値あります!
あと初心者として皆さんに質問させてください。
まったく関係ない話なんですがオブジェクトの座標をupdate関数内で更新するのに
transform.position = new Vector2(transform.position.x - 1f, transform.position.y);
みたく、毎回毎回Vector2をnew(生成)しないといけないのはなぜですか???
例えばC言語とかだと、同じ様な更新でも座標にしてる変数を「pos-x -= 1;」だけでいいです。
そのイメージで考えると、毎回newまでするの「なんで?」って思ってしまって。
transformがオブジェクトの位置、座標の情報を付与するためのコンポネントだとして
座標をいじるのにそれをいじらなければならないとするなら
そのオブジェクトのupdate関数の中で「transform.position.x -= 1f,」でよくないですか?
それで変わってくれれば話早くないですか?
unityはなぜX座標を更新するだけのために毎回更新するときに
transform.position = new Vector2(transform.position.x - 1f, transform.position.y);まで
記載しなきゃ触れないんでしょう?
どなたか熟知されてる方、unityを理解したいので理由をわかりやすく教えてください。 position.xだけを更新したいのに毎回引数でposition.yまで記載する理由がほんとわかりません。
x座標を更新するやり方、自分が頭が悪いやり方選んでるだけしょうか? >>88
仮のvector3型を作っておいてそこのデータを常に更新して、描画の直前に反映するとか。
static vector3 実機座標,仮座標
------
仮座標.x = 仮座標.x + 1
実機座標 = 仮座標 構造体は値型だからね
UnityじゃなくてC#に詳しい人に聞いた方がいいと思う C#構造体は罠が多いから使うなとまで言う人もいるくらいだからなあ
>>87
C#の構造体は値型なのでヒープには作られず参照は使用されない。そのため構造体変数への代入は毎回全データのコピーが発生する
newがいるのはコンストラクタを呼び出すためで、コンストラクトが完了してない変数は使用できないという制限をクリアするため
Cの構造体のnewのようにメモリアロケートが発生しているわけではない
transform.positionはプロパティなので値を取得した時点で中身がコピーされた別データになる
このためxだけを変えても「コピーのxを変える」という操作にしかならない >>91
構造体は16バイト以下ルールってまだあるの? 現役エンジニアを気取ってる人でも構造体のnewをヒープと勘違いしてる人がいるからね
公式ドキュメントにもさりげなくしか書かれてないから誤解してる人も少なくないだろうね
16バイトルールはまだ健在だった気がするけど速度測ったことないから良くわからん こんばんはいつもお世話になっております
質問ですけんど
Unityでライン描画はやれますか
たとえばキューブのワイヤフレームを空間に出すなどです
もしかしてマテリアルでやれますけ いやマジでこの質問の答えはアセットが一番、で正解かもしれん・・・ MethodImpl(MethodImplOptions.AggressiveInlining)で最適化した後のソースコードがどんな感じか知りたいんですけど
IL2CPPでビルドした時に生成されるBackUpThisFolder_ButDontShipItWithYourGameフォルダのAssembly-CSharp.dllを逆コンパイルしてソースコード確認したら最適化前の状態でした
最適化後のソースコードを見るなら同フォルダのcppファイルを目視確認するしかないですか?(C++クソザコ) >>89
>仮のvector3型を作っておいてそこのデータを常に更新して、描画の直前に反映するとか。
ありがとうございます。
その仮座標を変数で作っちゃじゃダメなんですかね。
例えば、変数pos.Xに座標にしたい値を入れといて、
最終的にその値をvectorに代入したらいいんじゃないかとか思うんですけど
仮の座標でもvectorを使わなきゃならないんだ、って感じがUnityなのかって感じです。
とにかく座標触るのが面倒っていうか、なんでこんな複雑なのって感じで(Unity触って間もないのもありますが)。
>>91
>newがいるのはコンストラクタを呼び出すためで、コンストラクトが完了してない変数は使用できないという制限をクリアするため
>Cの構造体のnewのようにメモリアロケートが発生しているわけではない
>transform.positionはプロパティなので値を取得した時点で中身がコピーされた別データになる
>このためxだけを変えても「コピーのxを変える」という操作にしかならない
説明ありがとうございます。
なんかこれは理解が深まった感じです。なんか掴めそうです。 ■ このスレッドは過去ログ倉庫に格納されています