[過去ログ]
【3Dゲームエンジン】Unity質問スレッド33 (1002レス)
【3Dゲームエンジン】Unity質問スレッド33 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/
上
下
前
次
1-
新
通常表示
512バイト分割
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
82: 名無し@キムチ [] 2017/12/25(月) 23:10:31.51 ID:fZ1/1f81 >>80 くすんだようなピンクのマテリアルなら貼れます。 真ピンクは貼れません。 でもくすんだようなピンクだとギャルに喜ばれそうにないので、そこが悩みです。 できれば鮮やかな真ピンクのほうがいいです。 ご教示おねがいします!!! http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/82
83: 名前は開発中のものです。 [sage] 2017/12/25(月) 23:20:39.97 ID:WQ3+0cde >>82 できません。 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/83
84: 名前は開発中のものです。 [sage] 2017/12/25(月) 23:21:58.55 ID:WYjEkbDZ UIのボタン入力を受けてデバッグにログ出せるようになったけど、 UIのスライダーを動かして、その値をデバッグログに出力するのができない・・・ スライダーの値はどうやって受け取れば良いのですか? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/84
85: 名前は開発中のものです。 [sage] 2017/12/25(月) 23:32:20.80 ID:WYjEkbDZ ボタンの時と同じく、イベントを受け取りたいスクリプトを載せたオブジェクトを指定して、 そのオブジェクト内のメソッドを選択しているのですが、 メソッド内で関数名(float valuse)で受け取っても、valueの中身が0から動きません スクリプト内で using UnityEngine.Events; using UnityEngine.UI; は最初に宣言しています http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/85
86: 名前は開発中のものです。 [sage] 2017/12/25(月) 23:48:39.17 ID:EdWH3PyF コンポーネントGETしてメンバにアクセスするだけ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/86
87: 名前は開発中のものです。 [sage] 2017/12/26(火) 00:30:03.34 ID:ef3cEapS >>88 ありがとうございます! 実は回答いただく前に色々試したところ、 2つの解決法を見つけました! @UIの方で、ValueChangeを渡すメソッドを選ぶ時に 一覧の中にある「メソッド名(float)」を選んではダメで、 一覧の一番上の方にある、「メソッド名」のみのを選ぶと、 スクリプトでは引数にvalueがfloatで渡されるようです・・・ スクリプトの方は、「メソッド名(float a)」で定義しているので、 aにvalueが入ってきました! Aスクリプトの方で「メソッド名(slider)」で定義して、 UIの方で、ValueChangeを渡すメソッドを選ぶ時に、 渡すオブジェクト(slider)も指定してやると、 スクリプトでは引数に指定したsliderが渡されるようです スクリプトの方は、「メソッド名(slider s)」で定義しているので、 「s.value」で、valueがfloatで得られました! コンポーネントをゲットする方法は、 Aに近い感じですか?? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/87
88: 名前は開発中のものです。 [sage] 2017/12/26(火) 00:36:40.89 ID:/Bbw4vw9 >>87 どっちも近くないです http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/88
89: 名前は開発中のものです。 [sage] 2017/12/26(火) 00:39:16.44 ID:ef3cEapS オブジェクトobjAに載せたスクリプトscrA public void OnSliderX(Slider sliderX){ float x = sliderX.value; Debug.Log (x); } public void OnSliderY(float a){ float y = a; Debug.Log (y); } UIスライダーSliderXにおける、OnValueChanged(Single) スクリプト:scrA オブジェクト.メソッド:objA.OnSliderX 渡す値:SliderX(Slider) UIスライダーSliderYにおける、OnValueChanged(Single) スクリプト:scrA オブジェクト.メソッド:objA.OnSliderY ・・・リスト最上段のDynamic floatの直下 渡す値:欄なし ↑ ちなみに、リスト途中の オブジェクト.メソッド:objA.OnSliderY(float) だと 渡す値:0 ←変数を指定できず、数値(固定値) になるようで、失敗します! http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/89
90: 名前は開発中のものです。 [sage] 2017/12/26(火) 00:42:20.20 ID:aR7RHPYW 通じないと思ったらキムチか http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/90
91: 名前は開発中のものです。 [sage] 2017/12/26(火) 00:53:20.70 ID:ef3cEapS >>88 やってみました! こんな感じでしょうか? B引数は指定せずに、メソッドを呼び出して、 メソッド内で、GetComponent<Slider>().value から取得してみました! public void OnSliderZ(){ float z = GameObject.Find("SliderZ").GetComponent<Slider>().value; Debug.Log (z); } UIスライダーSliderZにおける、OnValueChanged(Single) スクリプト:scrA オブジェクト.メソッド:objA.OnSliderZ 渡す値:欄なし @AB、どれも動作はするようです 一番簡単なのはAかも・・・ (当初やりたかった、floatで引数を送れるから) http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/91
92: 名前は開発中のものです。 [sage] 2017/12/26(火) 00:54:17.47 ID:yq5adPSI そのようだな 放置で http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/92
93: 名前は開発中のものです。 [sage] 2017/12/26(火) 01:02:14.43 ID:/Bbw4vw9 >>91 getcomponentはあってるけど呼び出し元はどこでもいい どこからでも呼び出せるため汎用性が高く使用頻度が高いので86が示してくれた 何で色んなやり方があるのかを考えずに動けばいいとしか考えてないから一向に技術が向上せず質問ばかりになる 動けばいいスタンスで前へ進むことも時には必要だがあまりにも基礎的な部分が疎かに見えるよ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/93
94: 名前は開発中のものです。 [sage] 2017/12/26(火) 01:05:51.44 ID:/Bbw4vw9 1時間で自己解決するような内容をわざわざ書き込むんじゃねぇ つうか半年以上Unity触ってんだよね? それでgetcomponentがよくわかってないってもうちょっと頑張れよって思う 下手すりゃ初日で取り入れるような内容だぞ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/94
95: 名前は開発中のものです。 [sage] 2017/12/26(火) 01:27:46.39 ID:aR7RHPYW まぁ、喉元過ぎればどうでもいいやり方でも構わんが、 毎回コップの使い方忘れて憶える気すらなくて人に聞くってのはどうかと思う http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/95
96: 名前は開発中のものです。 [sage] 2017/12/26(火) 02:57:05.75 ID:PvNvbClj メモをする習慣を付けてみたらどうだとかいうアドバイスを送る。 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/96
97: 名前は開発中のものです。 [sage] 2017/12/26(火) 08:27:49.72 ID:ef3cEapS >>94 ??? UIを触り始めたのは、3日前から 確かに、Unity始めたのは2017になるギリギリ前のUnity 5.6からだけど http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/97
98: 名前は開発中のものです。 [sage] 2017/12/26(火) 08:31:50.53 ID:ef3cEapS 聞かないで試行錯誤しても効率が悪いから、質問スレに聞いてるんだけどね 実際、自己解決した方法は汎用性が低い方法で、正解まで辿り着けなったし UI回りは、他のゲーム空間に配置するオブジェクトとだいぶ勝手が違うし ネットで引いてもなかなか体系的に書かれているところ少なくない? (ボタンは多いけど、スライダーとかトグルはあんまりない) http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/98
99: 名前は開発中のものです。 [sage] 2017/12/26(火) 08:50:28.37 ID:e7BUlWI3 >>98 マジレスすると、UI的には>>87の@が正解な FindやGetComponentは重いから出来るだけ呼び出す回数を少なくするべきだし、必要でないところで使うのは好ましくない 今回のケースで必要だとすればスクリプトから動的にイベントハンドラを設定する場合ぐらいだろう 汎用的でどこからでも呼べるから多用するってのはstaticおじさんと同じ思想だからやめとけ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/99
100: 名前は開発中のものです。 [sage] 2017/12/26(火) 10:01:11.29 ID:/Bbw4vw9 UI的に正解w そんな意味不明なアドバイスでこの程度のパフォーマンスを気にするの? forはi--で処理したほうが良いとか言ってそう… http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/100
101: 名前は開発中のものです。 [sage] 2017/12/26(火) 10:03:25.43 ID:/Bbw4vw9 >>98 ここで聞くほうが圧倒的に効率悪いぞ? getcomponentはUIに限らずUnity全体の基本 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/101
102: 名前は開発中のものです。 [sage] 2017/12/26(火) 12:45:52.42 ID:hFK9SmSE 74です >>75-76 どうもです 確認してみたら、右上にでっかいキャンバスありました シーンビューの範囲からはみ出ていたようです UIは解像度に合わせてピクセル単位で入力していたので、 100ピクセルの位置が、100Unitになっていました 要は、スケールが違うから、カメラの撮影範囲外にいたんですね 他の3Dオブジェクトは-10〜+10Unit単位で配置されていたので UIと他のオブジェクトで、配置する座標基準が違うんだったら、 シーンビューはUIと他のオブジェクトで分かれていたほうが操作しやすい気がする どちみちゲームビューじゃないと合成されて表示されないなら http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/102
103: 名前は開発中のものです。 [sage] 2017/12/26(火) 12:51:31.00 ID:hFK9SmSE もう1つ質問です uGUIのButtonは、各々をマウスで押すのが普通だと思うんですが、 カーソルで複数から選択して、Enterで押す機能は、 デフォルトの機能で用意されていますか?? インスペクターのNavicationでVerticalを選んでから、 Visualizeすると、各ボタンを結ぶ動線の矢印が表示されるから、 キー操作でのフォーカス移動できそうに見えるんですが、 テストプレイしても、キー操作を受け付けません http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/103
104: 名前は開発中のものです。 [sage] 2017/12/26(火) 16:38:15.98 ID:yq5adPSI >>98 頭おかしいんとちゃうか? ここで質問する方が遥かに効率悪いぞ?馬鹿なの?死ねよ 例えば>>102-103の内容なんて質問して5時間経過した今も返答はついていないが ググれば5分〜10分でわかるわけだ 20分もあれば1つの方法以外にも沢山方法あることも知れて全部自分の物にできるわけだが? スライダーやトグルの説明もクソ沢山あるしな ねえ?馬鹿なの? ググり方が下手過ぎてANDやOR検索できない子なの? 死ねよ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/104
105: 名前は開発中のものです。 [sage] 2017/12/26(火) 16:42:11.91 ID:94NCEA31 >>98 効率を求めて宿題丸写し繰り返してりゃ、学力は全くつかないのと同じ だから周りの人間が普通についてこれるレベルにすらついてこれない >>99 ValueChangeは自動でリスナーの設定してるだけだった筈 確か、リスナー設定のタイミングが指定出来ないからScriptableObjectから 設定ロードしたりすると詰む だから、StartかAwakeでGetComponentして、自分でリスナーセットするか メンバにアクセスする方が汎用性が高いし都合がいいんだよ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/105
106: 名前は開発中のものです。 [sage] 2017/12/26(火) 16:44:18.50 ID:yq5adPSI >>98 あと自作してるのに効率って何? 手本や人から教わらないと自作できないの? それって自作というより盗作や真似じゃねーの? コピーや真似してるだけなのに自作だと思い込んでるの? 自作は試行錯誤の連続 お前が今どんな物作ってるのか知らないが 見た目が綺麗なユニティちゃんがグリグリ画面走ってる物作っていても インベーダーゲームやマリオ1やブロック崩しやテトリスを最初に作った連中より劣ってるよ 彼らは作り方を誰にも教わらずに自分でやり方に気づき形にした人達だからな プログラムが置いてあって弄っていたら、あれ?これこうしたらゲームみたいの作れるんじゃね? と自分で試して誰にも聞かず参考本なんてものも見ないで作ってるからな そしてそれが本当のゲーム作りだ わかったか!盗作やろうの勘違いやろう! おめえみたいのはアセット組み合わせてやってろや! http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/106
107: 名前は開発中のものです。 [sage] 2017/12/26(火) 16:49:30.04 ID:/Bbw4vw9 >>102 スケールが違うから撮影範囲外に居るってのは違う canvasはUIに特化するためにそういう仕組みになってる 3D空間上に居たら最前面に表示すべきUIとモデルの前後関係を注意しなければならなくなる ゲームによってはカメラが移動しまくるからそれに合わせてUIの座標を追従させるとか馬鹿らしいだろ? だからオーバーレイ表示する仕組みになってる ただUIが3D空間上にいてほしいこともある キャラクタのHPバーをそのキャラの頭上に表示させるとかね そういうタイプのcanvasも設定できる 名称は忘れた、カメラオーバーレイと対になってるやつ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/107
108: 名前は開発中のものです。 [sage] 2017/12/26(火) 16:52:15.90 ID:sS7DQh8C アセットを買えばいいのにね http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/108
109: 名前は開発中のものです。 [sage] 2017/12/26(火) 16:54:39.83 ID:/Bbw4vw9 スライダーの件は1も2も3も別にどれも間違いでもない 実現したいことが実装できたならまぁそれでいい ただ今後ちょっと仕様が異なるものが必要になったとき1つの手法しか知らなければまた質問する羽目になる だから色んな手法を知ることは大事だしUI的に1が正解なんて結論には絶対にならない スクリプトからスライダー生成する必要が出てきたらUI的に不正解な手法を取らなければならないとかエンジンとしてどうなんだって話 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/109
110: 名前は開発中のものです。 [sage] 2017/12/26(火) 17:41:22.57 ID:Rpuwe1xT >>98 馬鹿だなぁ 公式がチュートリアルやサンプルで説明済みだから、ネットで2番煎じのネタは 基本的な部分が重複しないんだよ無能 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/110
111: 名前は開発中のものです。 [sage] 2017/12/26(火) 18:26:54.92 ID:/Bbw4vw9 そもそもボタンの記事があるならスライダーの記事なんて無くてもマニュアル見れば後は大体分かると思うけどね パーツ全部個別に説明が必要な設計ってオブジェクト指向とはなんだったのかってなるし canvasは公式に説明あるし結構深く解説してるところもいっぱいある というかスライダーの記事だって山ほどあるでしょ コレで少ないって言うなら何も作れる気がしないわ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/111
112: 名前は開発中のものです。 [sage] 2017/12/26(火) 18:36:04.71 ID:hFK9SmSE >>107 なるほど! UIは他のオブジェクトと違ってゲーム空間に置いているというよりも、 キャンバスごとカメラのレンズ前に貼り付けている感じですね EventSystemで、EventSystem(Script)というコンポーネントのFirstSelectedを指定してあげたら、 カーソルで他のボタンへ移動したり、Enterで押せるようになりました! 最初の状態では、UIにフォーカスが降りてないからキー入力に反応しないみたい http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/112
113: 名前は開発中のものです。 [sage] 2017/12/26(火) 18:39:08.06 ID:hFK9SmSE NavigationのExplicitを選んでみたら、 カーソルを押した時に、次にどのUIへ行くかを、上下左右ごとに指定できると知って驚愕! 便利ですね〜 UI関連が話題になっていて勉強になります! http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/113
114: 名前は開発中のものです。 [sage] 2017/12/26(火) 18:42:20.71 ID:Rpuwe1xT どう見てもキムチ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/114
115: 名前は開発中のものです。 [sage] 2017/12/26(火) 19:19:33.08 ID:yq5adPSI 公式どころか個人がやってる初心者講座サイトの1つでもやってれば普通に分かっていておかしくない内容だよな。 どんだけ何もやってない怠けものだよコイツって感じ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/115
116: 名無し@キムチ [] 2017/12/26(火) 19:58:50.02 ID:5fo0vrRf ごく初歩的な質問ですが、何もさわってないのに、たまにシーン内でのオブジェクトの位置が変わっていることがあるのですが、それは何故でしょうか? 同じく何もしないのに、コンポーネントが外れていたり、インスペクターの値が変わっていることもあります。 これは非常に困るので、位置や値が自分で変えるまでは絶対に変わらない対処法をご教示おねがいいたします!!! http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/116
117: 名無し@キムチ [] 2017/12/26(火) 20:03:01.61 ID:5fo0vrRf なお>>113は当方ではないですよ。当方、無意味なコテ外しはしませんw http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/117
118: 名前は開発中のものです。 [sage] 2017/12/26(火) 20:26:13.27 ID:O9PscLer シーン遷移時に引き継ぎたい変数をどの手段から選べばいいか迷ってるんですけど、 1 static変数として持つ 2 ScriptableObjectを作ってそこに一時保管しておく 3 dontdestroyで変数の入ったスクリプトがアタッチされているオブジェクトを壊さず持っていく 4 外部のdb等に一時保管しておく 辺りで迷ってるのですが、ケースバイケースだとは思うのですがどれがいいのかアドバイスお願いします。 1 なるべくstatic使わない方が初心者には良い とたまに聞きます。 似た名前のローカル変数を複数使っているので混乱する可能性もあるかなと 2 基本的に変動しない小さいマスターデータをdb代わりに使う事が多い と見ました こういった使い方には適さないのかもと迷いました 3 普通のゲームと同じくいくつかのシーンをループして進めていくのでオブジェクトが被らないようにシングルトンにする手間や 処理は一切入れず変数入れとしてこの処理をするならScriotbleObjectでいいのかな?と思ったり 4 形式にもよるのでしょうが一時的な変数をイチイチ外部に書き出すのはどうなのかと http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/118
119: 名前は開発中のものです。 [sage] 2017/12/26(火) 21:20:53.35 ID:ef3cEapS 当方、キムチでも、113でも、117でもありませんがw http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/119
120: 名前は開発中のものです。 [sage] 2017/12/26(火) 21:27:04.89 ID:ef3cEapS >>111 ボタンは引数なしで呼び出すだけだから簡単だけど、 スライダーは引数をどうやって受け取るかがわからなかったのでした 少なくとも公式のオンラインマニュアルからは探せず・・・ UIのインスペクターのリストをよーく見たら、 引数ありのメソッドと同名の、引く数なしのメソッドが上の方に見つかって解決したけど >>99 やっぱり、リスト最上段のDynamic floatの直下にあるところをみると、 コレ(@)がUnity側で用意した機能なんでしょうね・・・ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/120
121: 名前は開発中のものです。 [sage] 2017/12/26(火) 21:32:11.65 ID:ycBgqB9O >>118 何が消えてOKで、何が消えたら不味いのか、切り分けが分からない 例えば、セーブ/ロード付けるなら、シーン移動時にセーブとロード するから結局同じ事じゃないの? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/121
122: 名前は開発中のものです。 [sage] 2017/12/26(火) 21:36:26.13 ID:ef3cEapS >>118 個人的には「3」を使ってます! 最初のLoad用のシーン0でフラグ管理用のオブジェクトを「DontDestroy」設定して、 その後はシーン1へ遷移して、以降はシーン0へは戻りません (戻ると、「DontDestroy」設定を繰り返してしまうので・・・) フラグ管理用のオブジェクトに載せたスクリプト内では、Start()内で、 ゲームを通してシーン間で共有する変数を全て「public」で宣言して初期値設定しています そして、他のシーンの他のオブジェクトから、適宜呼び出して参照や代入して共有してますね http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/122
123: 名前は開発中のものです。 [sage] 2017/12/26(火) 21:40:47.37 ID:ef3cEapS >>121の言うように、 セーブありのRPGみたいな感じであれば、シーン変更前にセーブして、 シーン変更後にロードでも良い気がしますね ゲーム終了後も保持したいなら、やはり外部保存だと思います 自分のは基本パスワード式のACTなので、 セーブシステムがないので、ゲーム内でのみ保持しています パスワードの入力によって、フラグの初期値を変更して、 その後にゲーム開始となるようにしていますね (まっすぐゲームスタートした場合は、全フラグを初期値で開始) http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/123
124: 名前は開発中のものです。 [sage] 2017/12/26(火) 23:19:01.53 ID:V8TVTato >>118 言うまでもないが可能不可能で言えばどれでも出来る と言うか、シーンロードでDestroyされないヒエラルキーに依存しないものならなんでも保持は可能 適不適で言うなら 1.staticである必要性はない。staticにすることによる弊害の方が多いため不適 2.ScriptableObjectは実行時はReadOnlyなデータのバリエーションを扱うもの。使い方が間違っているため当然不適 3.揮発性の情報ならこれが最適※ 4.不揮発性の情報ならこれこれが最適※ ※揮発性情報は意図せずプロセスが死亡した場合に消えても良いもの、不揮発性情報はプロセスが死亡しても残るべきものとする http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/124
125: 名前は開発中のものです。 [sage] 2017/12/26(火) 23:39:55.98 ID:ef3cEapS staticにする必要性ってどこにあるんだろう?? FCやSFCで言うところの、RAMじゃなくてROM的な機能か? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/125
126: 名前は開発中のものです。 [sage] 2017/12/26(火) 23:51:22.61 ID:ed3wWG+q えっ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/126
127: 名前は開発中のものです。 [sage] 2017/12/26(火) 23:58:03.74 ID:ef3cEapS ゲーム内で使いまわす、汎用関数を定義するとか? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/127
128: 名前は開発中のものです。 [sage] 2017/12/27(水) 00:01:05.49 ID:iZzjfAdD @コンソメ Aコンスト Bコンビニ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/128
129: 名前は開発中のものです。 [sage] 2017/12/27(水) 00:48:25.95 ID:4kYoBCMG >>121-122 >>124 回答ありがとうざいました。 3でやってみようと思います。 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/129
130: 名前は開発中のものです。 [sage] 2017/12/27(水) 01:16:54.26 ID:2+M/n1Lm ROM的な機能は、ScriptableObjectの方だったか 全オブジェクトからアクセスできる関数(メソッド)作成はStaticが良いかもしれない どのスクリプトからでも @RGB→HSL変換できるメソッド:RGBto.HSL(R, G, B, out H, out S, out L) ARGB→HSV変換できるメソッド:RGBto.HSV(R, G, B, out H, out S, out V) を作ってみた http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/130
131: 名前は開発中のものです。 [sage] 2017/12/27(水) 01:19:10.80 ID:2+M/n1Lm public static class RGBto { public static void HSL(int R, int G, int B, out int H, out int S, out int L){ int Max = Mathf.Max (R, G, B); int Min = Mathf.Min (R, G, B); if (Max == Min) { H = 360; } else if (G == Max) { H = 60 * (B - R) / (Max - Min) + 120; } else if (B == Max) { H = 60 * (R - G) / (Max - Min) + 240; } else { H = 60 * (G - B) / (Max - Min); if (H < 0) H = H + 360; } if (Max == 0 || Min == 255){ S = 0; } else { S = 255 * (Max - Min) / (255 - Mathf.Abs(Max + Min - 255)); } L = (Max + Min)/2; } http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/131
132: 名前は開発中のものです。 [sage] 2017/12/27(水) 01:19:30.81 ID:2+M/n1Lm public static void HSV(int R, int G, int B, out int H, out int S, out int V){ int Max = Mathf.Max (R, G, B); int Min = Mathf.Min (R, G, B); if (Max == Min) { H = 360; } else if (G == Max) { H = 60 * (B - R) / (Max - Min) + 120; } else if (B == Max) { H = 60 * (R - G) / (Max - Min) + 240; } else { H = 60 * (G - B) / (Max - Min); if (H < 0) H = H + 360; } if (Max == 0){ S = 0; } else { S = 255 * (Max - Min) / Max; } V = Max; } } Hを求めるところはもっとまとめられるかも・・・ Hのみ0〜360(360で色相未定義) RGB,SLVは0〜255 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/132
133: 名前は開発中のものです。 [sage] 2017/12/27(水) 01:47:53.25 ID:+i3zpKSn Stackoverflowみたいでいい感じじゃないの http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/133
134: 名前は開発中のものです。 [sage] 2017/12/27(水) 03:01:38.22 ID:4kYoBCMG また質問なんですけど、 シーン遷移した後って前シーンからdontdestroyで持ってきたオブジェのスクリプト内で getcomponentってできないですか? gameobject.findで指定したオブジェクトを見つけるまでは大丈夫なのですが ゲットコンポーネントするとNullReferenceExceptionが帰ってきます 同じシーン内に作ったなんらかからならちゃんと動くのですが http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/134
135: 名前は開発中のものです。 [sage] 2017/12/27(水) 03:07:33.07 ID:4kYoBCMG もしかするとfindも失敗してるのかもしれませんが、 sceneをパスに指定するようなことが必要になるのでしょうか? dontrestroyしたオブジェクトはdontdestroyの子みたいな表示になりますし 共通シーン内でしか受け渡しできないとかなのでしょうか? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/135
136: 名前は開発中のものです。 [sage] 2017/12/27(水) 12:43:41.61 ID:YC5nHwtt 全部自作した奴が偉い君は ガワだけ張り替えて大当たりするようなソシャゲが 天下取ってる現状に発狂してそう http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/136
137: 名前は開発中のものです。 [sage] 2017/12/27(水) 12:54:38.15 ID:WZqeNEin >>103 UnityのUIのボタンのフォーカスとフォーカス対象の設定 https://gametukurikata.com/program/uifocus >あらかじめボタン1つがフォーカスされていないと他のボタンの選択が出来ません >EventSystemに最初に選択するボタンの設定は出来ます >>89 >>91 [UI] スライダーで変更した値を取得できない現象に対処した [Unity] http://negilab-unity.com/archives/14367667.html >スライダーの変更値を float として取得するのではなく、Slider.value 変数として取得するように書き換えたところ、問題なく取得できました >スライダーのインスペクタで、引数にスライダーのオブジェクトを指定 uGUIのSliderの値をスクリプト側で受け取る方法 http://unitymemo.blog.jp/archives/30226350.html >SliderをGetComponentしてvalueを参照することでスライド値を参照できます >OnValueChangedに定義したメソッドでスライド値を受け取る方法 >メソッドを選択する際、一番上のほうの「redSlider」を選択する事 >下のほうにも「redSlider(float)」がありますが、こちらを選んでも正しく値を渡すことは出来ません http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/137
138: 名前は開発中のものです。 [sage] 2017/12/27(水) 12:57:04.12 ID:WZqeNEin >>102 Unity : 3Dシーン内のCanvasが邪魔 http://indie-du.com/entry/2016/05/22/100102 >UnityがCanvasの1ピクセルを1unitとして計算して表示 >1unitは1メートルなので、100ピクセルのUIは100メートルで描画 >Canvasの左下が原点(0, 0, 0)に合っている http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/138
139: 名前は開発中のものです。 [sage] 2017/12/27(水) 14:56:11.54 ID:+i3zpKSn 見ての通り、質問せずに最初から自分でググってれば数分で解決している問題が多いな。 自分でググらないといけない事を人にググってもらってるだけなんだから。 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/139
140: 名前は開発中のものです。 [sage] 2017/12/27(水) 17:26:33.07 ID:u5IVM9F6 カンバス、そんなに邪魔? 消しちゃえばいいやん。必要な時にtrueにしてさ。 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/140
141: 名前は開発中のものです。 [sage] 2017/12/27(水) 18:22:37.68 ID:WZqeNEin >>140 そうだよね GUIの表示だけoffにすれば済む話だよね http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/141
142: 名前は開発中のものです。 [sage] 2017/12/27(水) 18:41:34.06 ID:WZqeNEin >>134 何をGetcomponentしたいの? Sceneを指定したりはしないはず ObjectはFindされているんでしょ? obj内にObjectが入っている状態で、スクリプトをGetcomponentしたいなら、 スクリプト名 s = obj.GetComponent<スクリプト名>(); そのスクリプト内の変数をゲットしたいなら s.変数名 変数は引用元のスクリプトの最初にpublicで宣言しておいて http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/142
143: 名前は開発中のものです。 [sage] 2017/12/27(水) 18:54:27.94 ID:fBJY1RTE やってみたがFindもGetComponentも普通に出来るよな 検索範囲は明示がないけどHierarchyウインドに表示されてる物は 全捜索するようで、シーンが分かれていようが全く関係がない (Updateで使うなってのは、毎回Hierarchy全捜索されたら洒落にならん) http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/143
144: 名前は開発中のものです。 [sage] 2017/12/27(水) 18:56:13.87 ID:WZqeNEin >>134 dontrestroyしたObjectに付いているスクリプト内で、 別のシーンにある他のObjectのコンポーネントを取得してみたけど、普通に受け取れたよ? Scene0で、共有Objectをdontrestroyして、Scene1へ遷移 Scene1で、共有Objectのスクリプトから、 Scene1の別のObjectのtransfomを取得したら、普通に見れた FindだとHierarchyにない別のSceneのObjectは検索できないはず Objectを検索できたのに、GetComponentできないなら、 そのObjectには取得しようとしているコンポーネントがないか、 他のObjectから取得できないように保護されている(変数ならprivate宣言)かでは? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/144
145: 名前は開発中のものです。 [sage] 2017/12/27(水) 19:04:57.79 ID:WZqeNEin >>134 Debug.Logで、FindしたGameObjectの中身を表示、 GetComponentした中身を表示してみることを勧めるよ dontrestroyしたObjectに付いているスクリプトでも、 それ以外のもともとそのSceneにあったObjectに付いているスクリプトでも まさか、dontrestroyしたObjectを出すためのSecneを省いて テストプレイしているなんてことはないよね? 自分の例で言えば、Scene0からじゃなくて、Scene1からテストしているとか テストプレイ中、HierarchyにdontrestroyしたObjectは出ているんだよね? 毎フレームdontrestroyしまくったりしていないよね?? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/145
146: 名前は開発中のものです。 [sage] 2017/12/27(水) 19:40:39.07 ID:fBJY1RTE >>144 >FindだとHierarchyにない別のSceneのObjectは検索できないはず なるほどこういうことか http://imgur.com/RGyGQa6.png transform.FindとGameObject.Findは検索範囲が違う 俺はGameObject.Findだから取れてるみたい http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/146
147: 名前は開発中のものです。 [sage] 2017/12/27(水) 19:49:56.88 ID:y/zeZUnT 何百枚もカンバスあるの? そんなに多くないから登録しときゃ見つかるでしょ。 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/147
148: 名前は開発中のものです。 [sage] 2017/12/27(水) 19:54:05.52 ID:9tGAk59e みんなカンバス読みなの? キャンバス派は少数? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/148
149: 名前は開発中のものです。 [sage] 2017/12/27(水) 19:56:05.13 ID:y/zeZUnT どっちでもいいなぁw http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/149
150: 名前は開発中のものです。 [sage] 2017/12/27(水) 19:58:36.60 ID:TaFXzcmh 英語だとカンバスが近いらしい。HowTo動画とか見てるとカンバスカンバス言われるからカンバス読みになるんじゃないの。 キャンバスは美術用語で、学校で習うのはキャンバス読みだと思う。 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/150
151: 名無し@キムチ [] 2017/12/27(水) 20:09:12.86 ID:oeXBuupd >>150 発音のことなのか・ 英語でもキャンバスが近いよw http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/151
152: 名前は開発中のものです。 [sage] 2017/12/27(水) 20:12:19.02 ID:9tGAk59e 別にどっちでも良いしどっちでも伝わるけど喋るときはどっちが多いのかなぁっていう素朴な疑問 ネイティブの発音はどうでも良い、カタカナ表記することが云々って話になるし http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/152
153: 名前は開発中のものです。 [sage] 2017/12/27(水) 20:15:02.72 ID:Ojr+yz4V >>136 できる/努力する奴ひっぱり下ろすのはゲスすぎないか 俺もわかんないまま借りてるけどどっか後ろめたいよ http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/153
154: 名前は開発中のものです。 [sage] 2017/12/27(水) 20:26:06.89 ID:4kYoBCMG >>142-145 レス遅くなりました。mm dontrestroyしたオブジェクトにアタッチされたスクリプトから 遷移後のオブジェクトがfind出来てるか確認したところ、出来ていませんでした。 上で出来ていると勘違いしたのはfindの時点でエラーが帰ってこなかったからという単純な理由でした。 遷移後のシーン内に作ったオブジェクトのスクリプトから同じコードをコピペしてみましたが こちらは普通にfind出来ていました public gameobjectとしてインスペクター上で両方確認しました。 うーん。 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/154
155: 名前は開発中のものです。 [] 2017/12/27(水) 20:36:04.46 ID:JxfZYfQR 香港人 「高卒だらけの日本人英語は、無いところにYの発音が入っちゃいます。土人丸出しです。」 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/155
156: 名前は開発中のものです。 [sage] 2017/12/27(水) 20:40:05.60 ID:4kYoBCMG 今試したのですが、 objA dontdestroyしたオブジェクト | これにアタッチされているスクリプト内でボタン押されたら遷移する処理 | その遷移処理の後に同スクリプト内の別メソッド@を呼び出して遷移後のobjBをFind →失敗 ↓ シーン遷移 objB 遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す → 成功 objAのヒエラルキーでobjBが格納されている だったんですけど、これどういうことなんだろう… http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/156
157: 名前は開発中のものです。 [sage] 2017/12/27(水) 20:43:19.36 ID:4kYoBCMG >>156だとなんか時系列変に見えますね; objA dontdestroyしたオブジェクト | これにアタッチされているスクリプト内でボタン押されたら遷移する処理 | ↓ シーン遷移 objB その遷移処理の後に同スクリプト内の別メソッド@を呼び出して遷移後のobjBをFind →失敗 ↑ ↓ 遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す 成功 objAのヒエラルキーでobjBが格納されている みたいな感じです こっちのが見づらいかもしれませんが… http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/157
158: 名前は開発中のものです。 [sage] 2017/12/27(水) 20:44:21.74 ID:y/zeZUnT 遷移処理はどこに遷移? ところどころ足りないので補足よろ。 http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/158
159: 名前は開発中のものです。 [sage] 2017/12/27(水) 20:46:34.13 ID:y/zeZUnT 今来たw http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/159
160: 名前は開発中のものです。 [sage] 2017/12/27(水) 20:48:37.38 ID:4kYoBCMG シーン1 objA dontdestroyしたオブジェクト | これにアタッチされているスクリプト内でボタン押されたら遷移する処理 | ↓ シーン2へ遷移 objB その遷移処理の後に同スクリプト内の別メソッド@を呼び出して遷移後のobjBをFind →失敗 ↑ ↓ 遷移後のシーンに配置されているボタンから、objAのメソッド@を呼び出す 成功 objAのヒエラルキーでobjBが格納されている これで質問に答えられてますかね? http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/160
161: 名前は開発中のものです。 [sage] 2017/12/27(水) 21:03:16.65 ID:y/zeZUnT 遷移したあとの間が少ないとか。トンチンカンかw http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/161
162: 名前は開発中のものです。 [sage] 2017/12/27(水) 21:17:06.84 ID:fBJY1RTE >>160 失敗しないし普通に出来る http://mevius.5ch.net/test/read.cgi/gamedev/1513643755/162
メモ帳
(0/65535文字)
上
下
前
次
1-
新
書
関
写
板
覧
索
設
栞
歴
あと 840 レスあります
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.017s