【ゲームエンジン】Unity初心者質問スレBuild3
レス数が1000を超えています。これ以上書き込みはできません。
>>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
生成されたレイが何らかのコライダに当たればその場所を特定し、そこへ進むことができるのですが、
空中を飛行するためにはコライダがない所にレイが発射されるため、場所が特定できません
その上で平面の交差判定とは、何か疑似的にコライダを空中に設け、レイキャストで交差判定をおこなうということでしょうか? >>973
何も無ければその方向にずっと進めればいいのでは?もしくは押してる間。 iPadのLiDARいじろうとARKit触るかーと思ったけどUnityでやってるあれどうするのって見るのが怠いのでAR Foundation対応はよ >>973
何もないのでその目的地となる座標が取れず、そのため方向もわからないので進むことができません
方向だけでも取れればよいのですが、何か方法があるのでしょうか? >>973
974の話はそもそも仕様だから。
最初の問いについては、奥行きに何もなければ検出できるわけないよね。 >>976
「方向」を取得する方法を質問してそれを教えてくれてるんだから奥行きは関係ないのでは?
方向が取得できたらそのままZ軸も+すればいいじゃん >>974
>>977
何度もすみません
何をどうすれば飛行を実現できるのか理解が及びません
その方向、要するに空中に進めればよいのですが、その方向を取得する方法が未だ分かりません
目的地を検出せずに方向を指定することができる方法があるのでしょうか?
それとも空中にダミーのコライダか何かを設置し、レイキャストで検出させる方法が正しいのでしょうか? >>978
すみません
方向を取得する方法を教えてくださっているということですが、どの回答のことでしょうか? FPSかtps
FPSならカメラの向いてる方にtranslateで+z
TPSならキャラのむいている方にtranslateで+z
TPSだと、キャラを向けるのにマウス画面座標を取得、キャラの画面位置と比較。相対角度が0になるようにキャラの向きを動かした後、前述処理。 Unityで画面のアスペクト比を変更した場合、画面の左右が切れてしまいます。
画面の上下は切れないので、画面の垂直方向が優先されて計算されているのだと思うのですが、これを水平方向を優先させて計算するにはどうすれば良いですか? すみません、質問です。
ボタンA … Prefabの中のオブジェクトとして存在
ボタンB … シーン内に1つだけ存在(Prefabではない)
上記の2つのボタンがあり、
ボタンAを押したら、ボタンBに追加したコンポーネントC#を実行したいです。
そこで、ボタンAのイベントトリガー内に、対象オブジェクトとしてボタンBを指定しようとしたところで
行き詰まってしまいました。
ボタンAのイベントトリガーのインスペクター画面を出すには、
OpenPrefabでPrefab内を編集する必要がありますが、
OpenPrefabで編集中の時はシーンのヒエラルキータブが呼び出せません。(Prefabのヒエラルキーが表示されます)
こういう場合、シーンのヒエラルキーにあるボタンBを、
ボタンAのイベントトリガーに投げ入れたい時はどのようにすればよいのでしょうか? >>981
ありがとうございます
おかげで何とか3次元移動が可能になりそうです VRゲームを作っているのですが
VRカメラやVRコントローラーを1から
作成する知識がまだなく、SteamVRPluginのサンプルシーンから
playerをコピーして作成を進めています。ですがこのコピーしたplayerは
DontdestroyOnloadになっててScene
切り替え時に移行先Sceneで重複してしまいます、どなたかplayerのdestroyを
解除する方法をご教授頂けないでしょうか? >>985
最後の書き方がおかしかったです。
誤 playerのdestroyを解除
正 playerのDontdestroyOnloadを解除
もう少しでゲームは完成なんですが
シーン切り替えが上手く行かないとどうしようもなく。教えて頂けましたら作ったゲームのDownloadリンクを貼りますので何卒!() >>983
プレハブにインスペクタで参照を持たせることができるのは、そのプレハブ内に存在するものだけです。
なので、
プレハブ内に「シーン内からボタンBを探し、アタッチされたC#を実行する」ような「ブリッジになるスクリプト」を作って、ボタンAからはそれを呼ぶ、というかんじでどうでしょうか。 http://s.kota2.net/1585404584.png
ユニティのテキストでこのような二重縁取りは簡単に出来るでしょうか? >>987
なるほど!そうなんですね
大変参考になりました。
ありがとうございます。 Unityで「MSゴシック」や「MS明朝」などの
フォントを使う事ってできるのでしょうか? >>988
2000円で手取り足取り教えてあげるよ >>983
申し訳ない、>>987なんですが、
「プレハブがアセット内にある段階でシーン内への参照を持たせたい」のだと勝手に勘違いしてしまいました。
シーン内に置いたプレハブ(インスタンス)であれば、オブジェクトの左端の三角アイコンで子要素を展開すれば
子要素もインスペクタを変更できますのでそこから参照を持たせることができます。 2Dオブジェクトに2つの画像をスクリプト側から任意のタイミングで
交互に切り替えたいのですがどうすればできますか?
1つの2Dオブジェクトに2つの画像を登録したりはできないでしょうか?
やりたいのはアニメーションではなく静止画画像の切替です。 >>992
いえいえ!ありがとうございます。
987さんの最初の認識で合ってますよ。
ボタンAはシーンに存在せず動的に生成されるオブジェクトですので、アセットにしか存在しません。
最初からシーンに存在するのはボタンBのほうだけです。
(これは私のほうが説明不足でしたね。すみません)
今回、追加で説明していただいたのは、
「ボタンAがPrefabであってもインスタンスとしてシーンに存在していたら可能だよ」という事ですよね。
このケースは想定していなかったので、より深くPrefabとインスタンスについて知ることが出来ました。
丁寧なフォローありがとうございました!
それにしても、どうしてこんな制限があるんでしょうね〜
アセットだけに存在するPrefab内からでも指定できてもよさそうなのに。。。
プログラムに疎い私にはさっぱりです(笑
987さんの最初のアドバイスどおり、「ブリッジになるスクリプト」を用意して対処したいと思います。 レス数が1000を超えています。これ以上書き込みはできません。