【ゲームエンジン】Unityなんでも質問スレpart6
■ このスレッドは過去ログ倉庫に格納されています
>>128 取得したアイテムをアイテムボックスに表示させる事は出来ています。 ただ、表示される場所が固定になっていて左詰めに出来ません。 アイテム1を先に取得したら一番左にアイテム1を、アイテム2を先に取得したらアイテム2を一番左に表示させる事が出来ません。 よろしくお願い致します。 >>129 取得したアイテムの情報は、 配列系を使っていれば取得順に格納されるはずだけど、配列じゃないのか描画の時に選別してしまっているのか? 2Dゲームの画像解像度と容量圧縮について教えて下さい。 ウェブの講座を見てると、容量圧縮やメモリ節約にpngなどの画像サイズは、2のべき乗にするべき、と4の倍数にするべき、と意見を2つ見るのですが、どっちが正解でしょうか? ・画像サイズ自体を大きくしてでも2のべき乗にすべきか? ・4の倍数であっても2のべき乗でないと圧縮率などは落ちるのですか? ・また、1辺が2のべき乗であってももう1辺が2のべき乗出ない場合は、2のべき乗でない画像とみなされるのか? 上記のような疑問があります。 無圧縮ビットマップはx軸側が4の倍数じゃないとパディングが入って効率落ちるから、X軸は4の倍数の方がいい(と思う!) jpgは8x8ピクセルのブロック処理するから、X軸y軸ともに8の倍数の方が効率がいい(と思う!) pngはランレングスのような処理をするから、X軸y軸ともになんでも効率はかわらない(と思う!) web講座は見たことないから知らね あほっぽいけど理論も糞もなく実際はどうなんだろとテキトーに数百枚の画像を1024x1024、1024x1023、1023x1024、1023x1023でpng保存してバイト数比較みたいなことしてみたら? >>131 結論から言うと4の倍数(64×128pxとか)で描いて、 それを2のべき乗(2048×4096とか)にまとめてUnityに取り込むのが最適解 4の倍数で描くのは圧縮形式の制限の為 俺は低パフォーマンスの圧縮でもいいぜって場合はどうでも良い 2のべき乗にまとめるのはGPUの制限の為 例えば300×600pxの画像は内部では2のべき乗の512×1024pxとして扱われるんだけど、 それなら最初から256×512でピッタリ作るか1024×1024で隙間を別の画像で埋めた方が無駄にならないってだけ >>130 配列使っていません。 クリックで表示・非表示を変えているだけです。 >>134 取得とは? では、配列を使ってやってみてください。 ・クリックしたら配列に入れる。 ・表示を配列の値を見て行う。 すぐ実現できますよ。 >>132 png形式ですが、4の倍数でないとUnityが無圧縮でRGBA8 UNormとなり、かなり重いのですが、 4の倍数だとRGBA CompressedDXT5 UNormで圧縮されるのでかなり軽くなります。 2のべき乗だとさらにNPOTでなくなるのですが、NPOTであるかないかでどこまで違いが出るのか分かりません >>133 まとめて、というのはアトラス化するということでしょうか? まだ初心者なので理解がふわっとしていますが、4の倍数はビルドした後の容量が軽くなり、2のべき乗は実行時のGPU負荷が効率的になるという感じでしょうか? >>136 > NPOTであるかないかでどこまで違いが出るのか 違いは出ない 480×480のテクスチャをインポートした場合512×512に手直ししたテクスチャをインポートした場合 どちらも同じく内部的には512×512として扱われる ただ差分の空白が無駄だなぁってだけで負荷もビルドサイズも変わらない >>137 ありがとうございます。 背景の建物とか樽とかテントとかそういうパーツ一つ一つ、500pxだったのを空白追加して512にしたりとかしてたんですけど、無理してべき乗サイズでテクスチャ用意しなくてもよさそうですね。 4倍数の出力して後でアトラス化することにします。 >>135 さんのレスを見る前にScriptableObjectを使ってアイテムのデータベースを作ってしまいました。 「表示を配列の値を見て行う」 というのが分かりません。 for文を使いますか? >>139 申し訳ない、私はscriptbl objectは使ったことがないのでわかりません。 配列にデータを代入すれば要素があるか無いか判断できるのですが。 dictionaryを使ってはどうですか? dictomaryならforechで入れた順に取り出せます。 Macのchrome上でも動かせるものを作りたいのですが まだMacを所持しておりません Windowsでビルドしたものでも動きますか? iPhoneとiPadで動かく予定はございません >>141 Web埋め込みのビルドだったらどんなものでも動くと思うけど MacのChromeで必ず動かす必要がある要件ならMacのChromeを検証環境にするのが確実かと unityと一緒に使う上で持っておいた方が便利なソフトはありますか? 例えばadobeのものやblenderなどの様なもので… 侵入検知コライダーみたいなRendererのないゲームオブジェクトをシーン上で見やすくするためにラベルアイコンをつけてるんですが、 シーン全体を見ようとビューを遠くから全体表示すると消えてしまい使いづらいです。 ラベルアイコンが非表示になる距離を設定できたりしませんか? >>139 取得の判定はどうやって作ってますか? もしかしてscriptableObjectに直接boolで持たせたりしてる? >>146-147 ありがとう!3Dのチェック外したら常時表示できました! ゲームに後付けでゲーム内アイテムの配布をしたい場合 どういった方法で実現するのが良いでしょうか? イメージとしてはなんらかのパッチのようなものを当てたり、暗号化ファイルを読ませると1回限定で何らかのアイテムが貰えるような感じです 2Dでキャラを真上から見おろした画面で作ろうと思っていじっています とりあえず1キャラあたり64px四方で上下左右押すと1キャラ分移動します 横スクロールだとRigdBody2Dとcollider2Dを互いのオブジェクトに貼りつけていれば、重ならないように勝手にやってくれるので楽なのですが、 こういう上から見下ろしたタイプの画面の場合、 rigidBody2DのBodyTypeを重力が働かないようにDynamicにすると思うのですが、こうするとすり抜けてしまいます。 一般的にどうやって重ならないようにするものなのでしょうか。スクリプトでいちいち他のオブジェクト探して判定するものなのでしょうか? 重力がきかないということは重力がゼロということです RigidbodyのGravityを0にすればいいよ 質問でふ(^^ Photonでゲストがログインするとゲスト側でこんなエラーが出まんこ(^^ NullReferenceException: Object reference not set to an instance of an object Photon.Pun.PhotonNetwork.OnEvent (ExitGames.Client.Photon.EventData photonEvent) (at Assets/Photon/PhotonUnityNetworking/Code/PhotonNetworkPart.cs:2415) Photon.Realtime.LoadBalancingClient.OnEvent (ExitGames.Client.Photon.EventData photonEvent) (at Assets/Photon/PhotonRealtime/Code/LoadBalancingClient.cs:3356) ExitGames.Client.Photon.PeerBase.DeserializeMessageAndCallback (ExitGames.Client.Photon.StreamBuffer stream) (at D:/Dev/Work/photon-dotnet-sdk/PhotonDotNet/PeerBase.cs:898) ExitGames.Client.Photon.EnetPeer.DispatchIncomingCommands () (at D:/Dev/Work/photon-dotnet-sdk/PhotonDotNet/EnetPeer.cs:565) ExitGames.Client.Photon.PhotonPeer.DispatchIncomingCommands () (at D:/Dev/Work/photon-dotnet-sdk/PhotonDotNet/PhotonPeer.cs:1863) Photon.Pun.PhotonHandler.Dispatch () (at Assets/Photon/PhotonUnityNetworking/Code/PhotonHandler.cs:221) Photon.Pun.PhotonHandler.FixedUpdate () (at Assets/Photon/PhotonUnityNetworking/Code/PhotonHandler.cs:147) どうすりゃいいのよこれ(^^ チンコショボーン(^^ それとレス遅くなりまひたが以前答えて頂いた方に感謝感謝でふ(^^ ボッキング!(^^ こういうエラーは辛いですよね。 その時に何をやったか、そこから探るしかありませんが、それは覚えてますか? あと、peerbase.csは自前スクリプトでしょうか?であれば、そのあたりの関係、898行目に関連したものと思われます。 ※entpeer.csの565行目から呼ばれているみたいです。 NullPointerException =ぬるぽ NullReferenceException = C#版ぬるぽ peerbase.csはPhotonのスクリプトでふ(^^ これより前にやってることと言えばログイン処理とシーンチェンジだけでふ(^^ チンコショボーン(^^ そうでしたか。それはお手間とらせました。 では、この中にご自身のscは出てきてないのですかね? となると、ログインできていた時のバージョンの、直前で変更した箇所を思い出すしかではないでしょうか。 1000万の世界一アクションRPGの人が言ってたけど Exceptionの9割はヌルポです ってさすがにある程度の量作ったことないんじゃないか MissingReferenceExceptionとか ArgumentExceptionとか IndexOutOfRangeException あるのにな >>159 日本語で頼む 誰に対して何が言いたいのか分からない さすがにそれは読めるだろ・・・ 俺自身だとnullpointerなんてほぼゼロだな わりい 「Exceptionの9割はヌルポです 」 これが彼が言ったことね ここを区切んないと意味わからないよね 一千万の世界一RPGの人っていうのが意味不明過ぎて読めんかったスマン ググっても碌な人間ヒットしなかったけどその人がエラーについて知らないって言いたかったのな スクリプトを昔のに修正したりしても治りまふぇんね(^^ 本当に萎えるわ(^^ これ年末の体験会間に合わないでふ(^^ 正月の体験会に変更でふか?(^^ NullReferenceExceptionさっき直したが結構キツイ GetTypeは効かないしTry/chatchで回避は出来たが原因の除去ではないのが厄介 動的にScriptでもアタッチしてんじゃねえの? 動的にスクリプト付けてるところはない筈でふ(^^ 今日一日試してダメでひたら8月ごろのプロジェクトもってきて巻き戻しでふ(^^ 質問です 今2Dのシューティングを作っています https://video.twimg.com/ext_tw_video/1476448988601917450/pu/vid/640x360/ovoMiGtlaZ7Fb0r5.mp4 こういうものなのですが この13秒あたりに注目して欲しいのですが弾が壁を通過するときに壁の奥側に 行ってしまって隠れてしまいます これを弾を前面に持ってきたいのですがどうしたらいいでしょうか? ソーティングレイヤーとかZ軸の位置変更などをやってみましたが奥のままです canvasのSort Order Sprite RendererのOrder in Layer あたりは動かしてみまひたか?(^^ あとありがちでふけど生成するときのpositionのZ軸がおかしくなってたりとか?(^^ >>169 UIではないのでキャンバスは無関係 弾のエフェクトは3Dオブジェクトなのでオーダーインレイヤーは無関係 生成時のZ軸はゲーム中、止めてシーンビューでチェックしたけど特に異常なし という状況です >>167 Photonは使ってる訳ではなく試用しただけだしverが違えば行は変わるから知らんけど 手持ちのverなら、Eventがnullなのに参照してコケてると推測される ちゃんとソース見ればヒントあるだろ ロビーから離れたら消えるEventを後からロビーに入って参照するからnullになってんじゃねえの? >>168 弾が加算合成なんじゃね? 非HDRなら1でクリップされるから、白は白以上にならない つまり上に書いてあっても白にしか見えない事はアリエルサリエルガブリエル >>172 あ、それかも! その発想はなかったですw 何という蒙恬 >>172 見事にこれでした ありがとうございました! 手抜きして白でテストしてたからダメだった Linux環境での実行について質問です。 物理演算を使った通信対戦ゲーム制作のために下記サイトを参考に Ubuntu環境でServerBuildしたファイルを置いて専用サーバーを立てようとしています。 https://qiita.com/yanosen_jp/items/e60476f494824a7138df ただ「うまくいけば、こんな感じの画面が出てくるはずです。」のところで以下のエラーが出てしまいます。 ERROR: Shader Sprites/Default shader is not supported on this GPU (none of subshaders/fallbacks are suitable) ERROR: Shader Sprites/Mask shader is not supported on this GPU (none of subshaders/fallbacks are suitable) 海外でも似たような状況の方がいましたが特にレスはなく… https://johnnn.tech/q/shader-unsupported-when-starting-unity-server-with-batchmode-nographics-flags/ これはGPU付きのレンタルサーバーにしないといけないのでしょうか? お詳しい方おりましたらご教示お願いいたします。 新年からすみません 3DでUIボタンの上にカーソルを置くとなんというかボタンテキストやらがガタつくというか少しZ座標が動いてズレるような感じになるんですが これを解消する方法はありますか? 最新のベータ版入れたらUnityのUI自体がそうなって 何書いてあるんだか分からなくなることがある ずいぶん上でUnityのバージョンアップしたら実機で起動しなくなった件だけどLibrary全部消したら解決しそう >>177 自決しました ボタンにアニメーターコンポーネントを追加していたのですが、それに使っていたアニメーターコントローラーの状態遷移時に僅かにスケールが変化するようになっていました Unityの開発してもMVVMとか ドメイン駆動開発?とかデザインパターンとか 勉強しておいたほうがいいですか? しといた方がいいかと聞かれたら答えはそりゃyesよ でもunity(ゲーム作り)したいのにそっちやらずに寄り道ばっかでいいのか? そんなのよりリリース数を多くする事に励む方が良いですよ。 それさえあれば、後から何とでもなる。 必要に迫られたら考えれば? MVVM→知らない ドメイン駆動開発も初めて聞いたけどオブジェクト指向の曖昧さや抽象化を 別の視点から見る事でもう少し具体的にするアプローチみたいなものじゃね? デザインパターンは多少使ってるけどいきなり見てもへーそうですかで終わりそう 学んだからといって即効性は多分ない オブジェクト指向ですら下手すると10年くらい掛かるとか言われているものなので 必要かと言われれば必要だが蛇足と言えば蛇足なんじゃないの?しらんけど 皆さん有難うございます リリースを優先に今後効率的に 開発したいと感じた際に改めて学ぼうと思います Rewired使ってる人いる? 最後に操作したコントローラーの個別の名前を取得(Xbox OneとかDualShock4)ってどうすればできる? 質問良いでふか?(^^ PlayFabにおいて同一アカウントへの二重ログイン、多重ログインを防ぐ方法を教えてくらふぁい(^^ 変数Boolを鯖上に保管してログイン中はTrueで他人がログインできないようにすればいいと考えたんでふけど(^^ PlayFabってかなり高機能でふひそういうの用意されてるかなって思いまひて(^^ デザパタは実際にコーディングしていかないと凄さを実感しないからなー 性器にソフィアでモザイク付けてるんですけど、カメラが近づきすぎるとモザイク消えちゃうんですよ? カメラのニア値は0.01にしても近づくと見えちゃう、解決策ないですか? >>194 なるほどそれもいいですが、 カメラとオブジェクトの距離を計算して一定以上は近づけない様にしましたチャンチャン >>184 どのみち結局は状態をどう管理してくのかって話に落ち着くと思うけど、並行してそれらも学んでた方がいいと思うよ モザイク消失バグが見つかる ↓ めっちゃ売れる ↓ バグが直る ↓ 存在が空気になる 僕の質問への回答が見当たらないんでふけど(^^ ひょっとして国家機密にあたるから隠密に透明削除されまひたか?(^^ CustomBlockerっていうアドオン使うとキモい書き込みとか嫌いな芸能人の記事とか まとめて非表示にできるんでおすすめ 詳細画面の表示がしたいのですが、コードの書き方が分かりません。 どなたか教えていただけないでしょうか? ・List<Item>とList<GameObject>(詳細画面)の2つのリストがあり、それぞれが0〜8まであります。 ・Itemはクリックすると枠が表示されます。 ・枠はtoggle groupで管理しており、一つしか表示されないようになっています。 やりたい事は Item1をクリック ↓ 枠の表示 ↓ GameObject1(詳細画面)を表示 です。 枠の表示までは出来ているのですが、2つのListの紐付け(この表現で合っているでしょうか?)と「なおかつ枠が表示されていたら」という条件の書き方が分かりません。 ご教授いただければと思います。 よろしくお願い致します。 両方のListの順番が合っているならListの紐付けはIndexでできる Toggleで枠を表示できるなら押したボタンのインデックスは取得できているわけだから枠を表示すると同時にそのインデックスを一旦int currentIndexみたいな変数に入れる で、もう一度ボタンを押したときに押されたボタンのインデックスとcurrentIndexを比較して、同じなら詳細を表示する >>202 Itemはクリックすると枠が表示されるという書き方が間違っていました。 slot(親) itemのimage(slotの子) 枠(slotの子) となっており、itemを拾うとimageに表示されます。 この時、拾った順番に左から表示されます。 slotはitemが空でもクリックができ、枠が表示されます。 なので書いてくださった方法は出来なそうです。 申し訳ございません。 >>203 スロットはただのボタンじゃなくてSlotクラスなの? クラスじゃないならクラスを作ってSlotクラスに GameObject frame; Item item; という感じで枠とアイテム自体を持たせる 枠があるかどうかはframeのActiveSelfで判別できるし、アイテムはスロットにアイテムの画像を反映させるときにアイテムのインスタンス自体を渡しておけばそれで判定できる それからframeがActiveかどうかitemがnullでないか、nullでなければ何か、をスロットを押したときに判定して処理を分岐させればオッケー シーンによってビルトインレンダーパイプラインと、HDRPを切り替えることは出来ますか? もしやり方をご存じの方いらっしゃいましたら、教えていただけると嬉しいです。 宜しくお願い致します。 >>204 なるほど! 丁寧にありがとうございます! やってみます! サイトの記述通りに進めていてUIからtextを追加したいのにtextMeshProしかありません これはバージョン違いによるものなんでしょうか? それはどのバージョンでも同じだから何か間違ってる 言葉で説明されてもわからんからそのTextmeshProしか表示されない画像をアップしてみ 初めての書き込み失礼します。 Unityでモーションデータを編集するツールを制作したいのですが、可能でしょうか? 機能としては ・ヒューマノイド型の3Dモデルに適応可能(ユニティちゃんのような) ・喜び、悲しみ、といった感情ごとにフェーダーを用意 ・上記の値によって、モーションの大きさ(動く関節の角度)や再生速度を、設定しただけデフォルメさせる というのを想定しています。 詳しい方いらっしゃいましたらご教示ください。 >>210 Unity.UI入れ直した? Unityのマイアセットのパッケージだかレジストリだかの項目を操作するとUnityのデフォルトのアセットが表示されるんだけど たまにアセットがなんか異常あったり古いのだと挙動が変になることがある Unity.UIのアセットが確かその中にあるはずだから削除して再インストールしてみれば解決するかも 2Dで横スクロールのゲームを作っています キャラクターをスクリプトで動かして、壁に当たったら左右逆にして歩かせる、ここまではかんたんなのですが、 地面に切れ目があった時にそこを下に落ちないように直前で向きを反転させるには一般的にどうすればいいのでしょうか スーパーマリオで言うと挙動を緑のノコノコから茶色のノコノコにしたいかんじです >>210 ホントにないねすまんけどオレにはわからない 一度新しいプロジェクト作り直してみたら? あと根本的な解決ではないけどCreateEmptyで空のオブジェクトを作ってそれにAddComponentでTextをつければTextを作ること自体はできる >>209 可能だけどタイムラインとvery animationでできるぞそれ >>212 それは実はかなりややこしい処理が必要 一般的には穴判定用のコライダーをつけるか、もしくはupdateで毎フレーム足元に向かってRaycastを飛ばすかして判定する 複数のコライダーをつけるとレイヤー周りがかなりややこしくなるのでRaycastの方がおすすめRaycastもなかなかややこしいけどね 谷の上に透明なオブジェクト置いといて衝突だけ判定するとか? >>211 >>213 再インストールしたら出てきましたありがとうございます >>214 very animationを初めて知ったのですが、どのようなものなのでしょうか? >>210 亀だけどUI > Legacyの中にあった気がする >>218 アニメーションを組むアセットで ボーンを直にいじってポーズ取らしたり シェイプキーで表情や形態変えたりする unityでヒューマノイドアニメーションやるには必須だと思う 俺はblenderであらかた組んだあと unityで指と表情だけ付けてる blenderでそれらやるの面倒なんで ファイナルファイトみたいな、奥行移動が出来る横スクロール2Dゲームを作ろうとしています。 アセットは全部2Dです。 奥への移動と敵味方への当たり判定がXY座標だけでは難しそうで、 XYZ座標使って移動させて実装しようとしているのですが 何か参考になるソースが見れるサイトなどありませんでしょうか。 ベルトスクロールアクションって2Dシューティングと座標系は同じだからz軸は要らないと思うんだけど 技術への知識が不足しているのでなく作ろうとしているものへの理解が足りないだけなのでは >>212 マリオみたいなマス目構造なら、マス目に合わせて空間をハッシュする マス目じゃないならまあまあ面倒 ベルトスクロールアクションって当たり判定毎にキャラの足元のy座標でも参照してるのかな。 ジャンプ中はジャンプ直前のy座標を一時保存したり? >>225 あれはZに見せかけてるだけで 処理としてはY軸じゃね 頭部のY座標見てるだけかと >>225 君がZだと思ってる物はYだし、判定は2軸だよ Yが近似座標なら接触、Yが離れてればスカるだけ CPシステムなんだからスプライト表示機能しかない >>220 今ブレンダー触り始めて女の子作ってテクスチャペインティングまで終えたとこだけど色々とめんどくさすぎてこれからリグか… めんどくさそうと心折れそうになってる 後から調べてUV展開とかもアドオンいいの使うともうちょい楽そうにはなってるけど、そのUnityに持ってって何かするとか含めていい感じのやり方模索して掴まないと死ねるというか今死にそう ■ このスレッドは過去ログ倉庫に格納されています
read.cgi ver 07.5.5 2024/06/08 Walang Kapalit ★ | Donguri System Team 5ちゃんねる