【ゲームエンジン】Unity初心者質問スレBuild3
レス数が950を超えています。1000を超えると書き込みができなくなります。
iosアプリを作っていて、TouchScriptを用いてタップとフリック操作を取り入れたのですが、フリック操作をした時にまずタップ操作として認識されてしまいます。
競合しないようにするにはどうすればいいでしょうか タップは離したときにタップ位置と近かったらタップ動作、とかでだめかな まあそうでなくとも同じ動作で始まるからタップでタイマー開始、一定時間後に大きく動いてなければ、とかね タイマーだろうね。タップなんだから、0.3秒以内で離したらタップ処理。それまではフリック処理の準備、という感じかしら。 >>856
常にUIの一番下に何も表示しないimageを敷いといて、そこでpressを受け取ったときのみ、3D面にレイキャストする Unity+Playfabを利用しています
アイテムをキャラクターのインベントリに格納した際、カタログアイテムの方で記述したカスタムデータが
インベントリ内のアイテムインスタンスに反映されません
色々調べたところ英語のフォーラムにカタログアイテムのカスタムデータを明示的に取得してインベントリ
のアイテムインスタンスのカスタムデータに入れるということが書かれてありました
しかも、Unity上でカタログアイテム自体単体で取得する方法がないため、カタログのアイテム全部を取得し、
ループ検索で一致するアイテムIDからカスタムデータを取り出して、アイテムインスタンスに入れるとありました
アイテムを追加するたびにループをしてまでカスタムデータを取得しなくてはならないというのもばかばかしいことこの上ないのですが、
そもそも内容を見る限り、カタログアイテムのカスタムデータはアイテムの性能を決める重要な役割をしているものと思われるのですが、
これがインスタンス化した時に反映されないのはおかしいと感じています
フォーラムを見る限り何年も前からこの状態らしいのですが、そもそもカスタムデータとは何のために存在しているのでしょうか?
もしアイテムの性能を決定するものでないとした場合、アイテムの性能はどこに記述すればよいのでしょうか? >>877
多分だけど一瞬で反応するから問題の同じ挙動になると思う
必要なのは移動処理の判定開始を遅らせるとかキャンセルする系の処理だよ unityでPC向けスタンドアローンアプリをビルドしたあとに見つかった
バグ等の修正パッチを当てるための方法ってありますか?
それとも再ビルドしてまるごとあげ直しになりますか? まるごとだと思うけど
アセットとかは素材の部分だけだし Unity2018を利用、uGUIでRPG風のインベントリアイテムスロットを製作しています
インベントリ内のスロット一つ一つはプレハブ化しており以下のような構成
Slot(画像UI。スロットの背景スプライト)
+ Image(画像UI。アイテムのアイコンスプライト)
+ EquipImage(画像UI。装備中なら右下に「E」が付くだけのスプライト)
スロットにアタッチしたスクリプト内のUpdateで装備状態を見てEquipImageをアクティブを操作しています
現装備品のスロット(プレハブ化していません)
□□□
インベントリ内のスロット
123□ ←1、2,3はアイテム
ドラッグアンドドロップで装備スロットにアイテムを移動したとき、装備品スロットにアイテムが格納され、インベントリのスロットでは装備中を表す「E」が表示されます
12□
↑↑
123□←1、2に「E」が表示される
ここまではよいのですが、インベントリ内の装備中のアイテムを別なスロットに移動すると「E」の画像が消えてしまいます
12□
□231←装備中にもかかわらず1は「E」が消える
ここで不可解なのが、元のスロットに戻すと「E」が表示されます
また、例のように元々1、2、3のあった場所であれば位置が変わっても「E」が表示されます
12□
312□←1,2ともEは表示される
動いている状態を確認すると、位置が変わっても装備中ならば各スロットのEquipImageはアクティブになっていますが、画面には表示されません
一体何がどうなってこのような挙動になっているのか分かりません。調べようにもキーワードもわかりません
どなたか解決方法をご存じありませんでしょうか >>884
コメントをいただき、先ほど試してみましたが、挙動に変化はありません
動かして気付いたのですが、インベントリのパネルを開いた状態のまま装備アイテムを取得し、
そのまま装備スロットにドラックアンドドロップした場合でも、インベントリのスロットには「E」が表示されませんでした
一体何が原因なのでしょうか >>885
あとはヒエラルキーの描画順やキャンバス内に設置は大丈夫そうですか?
もしかしたら画像やスクリプトも貼った方が答えがでやすいかもしれません 初めて、Unityをインストールしてて、
もう1時間半経ちますがまだ終わりません。
こんなもんなのでしょうか?
Windows10 Homeです。 うちも最近UNITY始めたばかりですが
数分でインストールできましたよ(2〜3分くらいだったと思う Windowsモジュールだけにしても5GBくらいあるから回線遅かったらそれくらいはかかるだろうね Unityのインストールは死ぬ程長い
何故だか知らんが… >>889>>890
ありがとうございます。
異常じゃないのが分かって安心しました。 >>892
エディターをダウンロードしてインストールするならそんなもんよ
インストーラーはファイルをダウンロードしながらなので時間かかる 続々と表示されるデバッグコンソールを
スクリプトからリセットするにはどうしたらいいですか? ツイッタでなんか話題上がってたけど、前年度にUnityと関係ない売り上げが3000万あった会社でちょっとUnity使ってなんかプロトタイプ作っちゃおうかなーって使い出すときは最初からProライセンス買わないとダメよでおけー?
なんか前Unityによる売り上げが上がってないなら関係ないって見た気がするんだけど気のせい? 金の無いインディーへの優遇措置が、
なぜ金のある奴にも適用されると思うのかね? >>897
ちょっとしか使わないのにフルプライスとるガイジなんか普通おらんと思うだろ
Unityはそのガイジらしいが >>896
アプリ開発を個人事業主に業務委託でどうなんだろ?
納品先でビルドしない限りライセンス発生しないだろうし >>897
一般的なソフトはソフトによる売り上げ関係なく
ソフトのライセンス料払わないといけないしね >>898
Unityは月額制のサブスクだがフルプライス……?
ちょっとしか使わないならその一ヶ月分のお金払うだけだぞ? 会社に貢献してくれたのなら、その中からお礼を出すのはやぶさかではない。となって欲しいね。
なんか、付き合いのあまりない同僚の送別金を出すべきかを相談されてるみたいでなんかねぇ… ITの巨大掲示板群 ttp://x0000.net
(アルファ・ラボ|学術掲示板群) >>896
無理して使う必要無いのでは?
売り上げがあるのに金払わないのかよ。 ライセンス料ってゲームをリリースする月だけ月額料払えばいいの?
それとも開発中でも毎月払わなければいけないもの? >>905
だからUnityに関する売り上げかどうかの要件どうなのかって質問だろ?
unrealは製品による売り上げの数%とかって計算じゃないの?何でもかんでも必ず使えば金払う仕組みじゃねーだろガイジは黙ってろ 5chで聞いてないで約款を自分で読むべきだと思うんですけど。仮に後で違約金請求されたときに5chで支払わなくていいって言われたって言い訳するのかよ 自分は売上とか全く無くてUNITYロゴ出ないようにしたいだけなんだけど
やっぱ月額料いるのね ロゴ非表示はあきらめるか・・・ >>910
ビルドする月だけproじゃダメなのかね? >>910
何のロゴ?プラットフォームで初期見せない設定にできるみたいだが おそらくC#の初歩的な質問になるかもしれませんが、お願いいたします。
Playfab + Unty でオンラインゲームを目指しています
Playfabにはラムダ式とかいう非同期処理を行う所が多く出てくるのですが、そのせいでゲームの動作が不安定になっています
今躓いているところはアイテムの全削除→アイテムの付与の部分なのですが
PlayFabServerAPI.GetCharacterInventory(←インベントリアイテム全取得
略
, result => {
//ラムダ式非同期処理
foreach (インベントリアイテムのループ)
{
PlayFabServerAPI.RevokeInventoryItem(//アイテム削除処理(一件ずつしか処理できないためループで一つずつ)
//略
);
}
}
, error => {});
PlayFabServerAPI.GrantItemsToUsers()//アイテム付与処理(複数のアイテムを一気に処理できるので実行は一回だけ)
//略
result =>{
//ラムダ式非同期処理
PlayFabClientAPI.GetCharacterInventory();インベントリ取得処理
}
);
概要としてはこのように処理しているのですが、時々アイテムの削除処理がすべて完了する前にアイテムの付与処理+インベントリから取得処理が実行されてしまい、
DB上では問題ないのですがクライアント画面で削除されたはずのアイテムが表示されてしまいます
アイテムの削除が完全に終わってから、アイテムの付与+インベントリの取得を行いたいのですが、
どうすれば同期がとれるのでしょうか 一年間は払い続ける必要ありだったような…
途中で使うの止めても請求は続きますって ライフイズストレンジって有名なナラティブアドベンチャーゲームで
UNITYロゴ堂々と出していたぞ
エンドロールにも出しているし
それどころか主要キャラの出身地をunity通りって名前にしてるぞ 過去12ヶ月間の売上が10万$未満だったら制限なしって事だろ?
個人にそんな関係あるかね >>896を見ろ
会社人がこんな場末の5chで
ゲームエンジンの仕様の相談だとさ
本物なのかねえ 知り合いから相談受けて、ちょっと書いてみただけ、かな。 しょうじきこんなとこでビジネスの相談するようなやつに仕事はだせないよな >>918
そこに書いてあるようにツイッタでそう見たけどどうなの?ってだけで自分は個人だし今んとこ関係ないのでよく見てないから知ってる人教えて?って言ったらワラワラガイジ湧いた所 質問しといて回答してくれた相手をガイジ扱いする人間のクズ 稟議申請にとっておきなテクニックなら訊きたいけど…ぶっちゃけ >>921
余計な煽り入れてるからだろ。つかそいつは回答すらしてないだろw 基本的な使い方の質問です
なんらかの処理を変更したくてスクリプト書き換えるってなったとき
スクリプト書き換える → 上書き保存 → テストプレイ
という手順になるかと思うのですが、
テストプレイした後で、やっぱり以前の状態に戻したいって思うとき
また前のコードに書き直さなくてはいけないですよね。
こういうとき、みなさんどのように作業してるのでしょうか?
スクリプトを変更するまえにあらかじめコピーしとくとかするんでしょうか?
スマートなやりかたがあれば教えてほしいです。 >>924
バージョン管理ソフト
tortoise svnもしくはgit >>925>>926
そんなソフトあったんですね
検索してみたらリポジトリ、リモートサーバ、コミットとか専門用語で
何言ってるか全然わからないけど
ちょっと勉強して使いこなせるようになりたいと思います
ありがとうございます!! gitでローカルレポジトリ管理してて、個別のスクリプトのリストアはやるけど
プロジェクトぶっ壊れた時は直せないよね
心配だから定期的にzipで取ってる >>927
ざっくりいうとローカルでいじったものは元に戻せるしそれをリモート経由で共有したりすることもできるものだけどUnityに関しては>>928も言ってるように戻してもなんかおかしいままってのはあった。
自分はマシンごと再起動とかなんやらしてたら治ったけど。シェーダーのコンパイルだか何かの関係かなとは思ってる >>924
プロジェクトフォルダごと、まるっとコピー。フォルダ名を日付と簡単なコメントつけて保管。
稚拙だが最も簡単で確実に復帰できる。
いまは、hubでバージョンによる動作を行なってるので、より楽になった。 フリーのファイルコピーソフトがあるからそれの機能でバックアップが楽かもな
コピー先も複数登録出来るし git 使えばrevert一発
変えたのも取っておきたいならブランチ切ってコミット git 使えばrevert一発で候
変えたのも取っておきたきなればブランチ切ってコミットなり Unityで3Dのゲームを作成するとき、画面のアスペクト比を固定にするにはどの様にすれば良いのでしょうか?
アスペクト比の違うスマホで動作確認すると、画面の端が切れてしまったり、uGUIのレイアウトが崩れてしまうので、
画面の端に黒い余白を付けるなどして、アスペクト比を固定したいです。
方法をご存知の方いらっしゃいましたら教えて頂けると助かります。宜しくお願い致します。 ユニティのアニメーションエディターに録画ボタンついてる意味がわからん
アニメーションってのはざっくり言えばリグの動きを記録して使いたいタイミングで使える機能だよな
そもそも記録する機能のものに録画ボタンって意味がわからん
罵倒してもいいから教えて 録画ボタンに似てるだけでオートキーボタンだと思えばいい C#の初歩的な質問失礼します
変数Aが1または2であり、変数Bが3または4である → 条件成立
これのIF文の書き方教えてださいm(_ _)m (A=1 or A=2) and (B=1 or B=2)
みたいな感じじゃない?なおc#やったことないからもっと別の書き方があるかもしらん (A=1 or A=2) and (B=3 or B=4) か >>939
if( ( A==1 || A==2 ) && ( B==3 || B==4 ) ){
処理...
} switch(a){
case 1:
case 2:
switch(b){
case 3:
case 4:
---処理
break;
break;
なんちってw アスペクト比か
ワイもそこは苦労したなあ
3万円くれたら教えてやってもええで
こんなところで質問してるような奴には3日じゃとても解決できないだろうから安い買い物やと思うでぇ? >>940-942
なるほど
ふたつともカッコでくくればよかったのですね
if( A==1 || A==2 && B==3 || B==4 )
こんな感じで危うく間違えそうでした・・・
助かりました ありがとうございます Unityにおいて、円錐が延びて複数の敵を貫く魔法、左から右へ棒が薙ぎ払って範囲内にいる敵にダメージを与える魔法等を作っているのですが、
Unityのエフェクトでは難しそうだと思い、Blenderでそれらしいアニメーションを起こすオブジェクトを作ったのはいいのですが、
壁や岩、木などの遮蔽物を貫通してしまいます
まだ試していませんが、当たり判定であるコライダは遮蔽物との接触を検知して拡大を止めることができるんだと思うのですが、
アニメーションまではそうはいきません
遮蔽物を貫通しないようにする良い方法は何かありませんでしょうか 接触を感知したらエフェクトが消滅するアニメーションに切り替えるとか? 色々とありがとうございます
>>947
ただ停止させると例えば円錐の場合、伸びきる前よりも壁に当たった部分が細くなるため
不自然な感じになってしまいます
工夫が必要な部分ですかね
>>948
エフェクトが残っている部分には判定を持続させたいため、
ただ消失させると伸びきる前の根元の部分が不自然に消えてしまいます
この辺りも少し工夫を考えなくてはならないようです
>>949
アニメーターでの状態管理でどのようにするのでしょうか
アニメーターの部分も初歩的な所しか理解していないため、どうすればよいかわからない状態です
できれば、遮蔽物に遮られた先のみ消失するようなものが理想なのですが
>>950
動画からのリンクが切れていたためどのアセットを使えばよいかわからないのですが
結構複雑な動きが可能なようですね
blenderからだと作り直しの際にリグの再指定に再インポート時のアニメーターやファンクションの再設定やらかなりの手間なので
Unity側で完結できるのであればその方が助かるので、検討してみようと思います 当たった先が消滅でなんとなくやりたいことがわかったけど、それはこの時点で悩んでるスキルだとちょっと難しいかもね。
とりあえず突き抜けたところで消滅とか、綺麗にするより荒削りで作ることをお勧めします。私は完成第一主義なので。
そのあと慣れてくればアニメを極めるとかでいい気がしました。私が言えるのはここまでかなぁ。 >>951
>リンクが切れていた
Please visit this link to see the page on our new website.
this linkをクリックしよう >>945
演算子の優先順位は C# の場合 &&(条件&) のが ==(条件OR) より高いからね
それらより ==(等価比較) のがさらに高いのでこっちはカッコ要らんけれども
優先順位表はいつでも見られるところに置いとくといいよ >>952
面白さの肝になる部分なのでスキルアップの方を取りたいと思います
>>953
ちゃんと見ていませんでした。失礼しました
ちょっとお高いので購入はしていませんが
兎も角Unityでのエフェクトの作り方を学ぼうと思うのですが、
設定が多岐にわたっていて理解するのが大変です
その分やれることが多いということなのでしょうが
おかげでBlenderでやってしまおうかと考えてしまったわけですが
サイトも古いものだと項目が違っていて中々学習が難しいのですが、
よいサイトがあったら教えてください
Unity2018使用中です Unity5時代のコードって2019でも変わらず動くのでしょうか?Unity5時代の本に面白そうなのがいくつかあって迷っています。
とりあえずUnityの教科書2019完全対応版と、その古い版のUnity5の教科書と見比べてみました。
インストール手順、スマホのサイズ、Terrainエディタ、Particleエディタ、uGUI>UIは変わっていましたが、コードはほぼ同じでした。
これだけだといけそうな気もするのですが、先輩方のご意見が聞きたいです。 ちまちま変わってるとこあるけどまあだいたい動くと思うよ
もし違ってたらVSちゃんが、それ古い書き方だよこっちの方がいいよって言ってくれる Unityの機能と作り方把握して無い段階でバージョン違いの本とか見たらカオスになりそう >>958
ありがとうございます。VSが教えてくれるのは安心ですね。勉強になりそうです。
>>959
お気遣いありがとうございます。混乱しないように気を付けます。 >>956
まあ何で作るかは自由だけど、unityに限らず普通こういうのはパーティクルシステムで作る
たしかに設定項目多くて面食らうけど、まずはスタンダードアセットにあるパーティクルを弄ってみたらどうだろ >>954
正直、そんな優先順位表をみないとわからないような順位に依存するぐらいならカッコつけろやぼけと思うわ ボタンの子供として作成したimageがあり、
このimageの画像をスクリプトで変更しようとしたら、
子供のimageではなくボタンのimageが変わってしまいました。
ボタンの親であるパネルから以下のようなスクリプトを実行しています。、
おそらくGetComponentInChildrenでボタンそのもののimageを取得してしまっているのだと思います。
ボタンの子供となっているほうのimageを指定するには、どのようにスクリプトを組めばよいのでしょうか?
_child = transform.FindChild("Button_01").gameObject;
bbb = _child.GetComponentInChildren<Image>();
bbb.sprite = xxx; >>965
ゲットコンポーネン「ツ」インチルドレンで複数取得、
その中でゲームオブジェクトが「_child」じゃない奴が
目的のimage。 3Dのゲームにおいて、プレイヤーが飛行可能な状態になったときに、マウスでクリックした方向へ向かって飛んでいってほしいのですが、
Raycastではコライダがないと反応しないということもあり、空をクリックしても進まないため、どのように実現すればよいかがわかりません
マウスでクリックした方向へ飛行、右クリックで停止、ということをやりたいのですが、どうすればよいでしょうか >>966
ありがとうございます!
いただいたアドバイスから以下のように修正してうまくいきました。
_child = transform.FindChild("Button_01").gameObject;
bbb = _child.GetComponentsInChildren<Image>();
bbb[1].sprite = xxx; ボタンの下のイメージをボタンのgameobjectからFindすれば? >>969
ありがとうございます。確かにそれでもよかったですね。
最初、その方法を試していたのですがうまくいかず、
悩んでこちらで質問したのですがどうやら単純に記述を誤っていだけみたいです。
今、やってみたらうまくいきました。
_child = transform.FindChild("Button_01").gameObject;
_child2 = _child.transform.FindChild("Image_01").gameObject;
bbb = _child2.GetComponentInChildren<Image>();
bbb.sprite = xxx;
結果、>>966さんのような方法も知ることが出来たのでラッキーでした(笑
御二方に感謝です。 >>967
マウスのポイント拾って、画面の中央から離れている数だけ向きの角度を補正する。 >>967
カメラからのレイは作れるから、そのレイと平面の交差判定すればいいだけ 簡単に説明されていることからおそらく比較的楽に実装できるようですが、
まだ全く分からないので詳しくお願いします
>>971
これは2Dの移動の方法でしょうか?
マウスのポイントと画面中央からの距離だけでは奥行の場所がわからないので移動しようがありません
奥行を含めたマウスのポイントを取得する方法があるのでしょうか?
>>972
生成されたレイが何らかのコライダに当たればその場所を特定し、そこへ進むことができるのですが、
空中を飛行するためにはコライダがない所にレイが発射されるため、場所が特定できません
その上で平面の交差判定とは、何か疑似的にコライダを空中に設け、レイキャストで交差判定をおこなうということでしょうか? レス数が950を超えています。1000を超えると書き込みができなくなります。