2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

■ このスレッドは過去ログ倉庫に格納されています

製作途中で得たUnityのミニ知識を披露するスレ

1 :名前は開発中のものです。:2017/11/27(月) 21:03:55.76 ID:wuqv6ZUu.net
いる?

2 :ダーク王鍬大使 :2017/11/27(月) 21:11:53.61 ID:gE0i3iwj.net
面白そうなスレなのに>>1がいるかどうか聞いてどうするんでふか(^^

3 :名前は開発中のものです。:2017/11/27(月) 21:51:43.61 ID:gWEvxznl.net
>>1 が作ったゲームは

スタート直後に「えっ、プレイするの?」と聞いてくる斬新な作品

4 :名前は開発中のものです。:2017/11/27(月) 22:56:06.49 ID:BXHzNkxU.net
すまん、>>1だが最初に書き込んだのがキムチ兼ボッキング兼クソコテ兼アセットおじさんの一人四役やってる真性ガイジだったからやっぱこのスレやめとくわ
少し語ろうと思ってたけど萎えたから落としてくれ
そんじゃ

5 :ダーク王鍬大使 :2017/11/27(月) 22:59:17.40 ID:gE0i3iwj.net
なんだ、自分以外の人がすべて同一人物に見える人でひたか(^^
クソスレ立ててないでいつも通り質問スレで妄想撒き散らしてくらふぁい(^^
ボッキング!(^^

6 :名前は開発中のものです。:2017/11/28(火) 00:56:20.60 ID:77OiR+vL.net
いやこのスレは良スレ!
きっと伸びるで!

7 :名前は開発中のものです。:2017/11/28(火) 11:39:05.60 ID:Vo+Z9BnS.net
もうこの板いらなくね?
実際にゲーム作ってる奴は忙しくてこんなゴミ板見てる訳ないし
ゲーム完成させた経験もなく、本だけ読んでプログラマー気取りの馬鹿だけだろ。俺含めて(´・ω・`)

8 :ダーク王鍬大使 :2017/11/28(火) 12:01:10.60 ID:stYgvc9B.net
そもそも5ch自体暇なおじさんの巣窟でふよ(^^

9 :名前は開発中のものです。:2017/11/28(火) 12:38:33.87 ID:eFZ/NBli.net
ここまでミニ知識なし

10 :名前は開発中のものです。:2017/11/28(火) 17:26:58.77 ID:CSnPzGiM.net
ミニ知識
アセットを買いなさい

11 :名前は開発中のものです。:2017/11/28(火) 20:38:37.83 ID:gu2kTZ6X.net
>>7
プログラマを気取るって悲しすぎだろ
底辺職扱いされてるのに…
俺はゲームを完成させたことがなくてもちゃんとプログラマだぞ

12 :名前は開発中のものです。:2017/11/28(火) 21:10:03.17 ID:LnRpYEyH.net
完成させたことがないから底辺なんだよ
一緒にするな

13 :名前は開発中のものです。:2017/12/31(日) 18:38:23.80 ID:/rN76OKL.net
簡単にお金が稼げる方法興味ある人だけ見てください。

グーグル検索⇒『来島のモノノリウエ』

4437JPVDON

14 :名前は開発中のものです。:2018/02/01(木) 18:41:42.82 ID:9oNu6TrF.net
別スレで製作してて知識得たので書いてみる

えっと、画面の大きさはカメラで取れたよ

15 :名前は開発中のものです。:2018/02/03(土) 20:16:26.79 ID:HNzQ9i5w.net
プレハブってのがようわからんけど
なんか使うと簡単にコピー作れるぽいんだけど
どうよ

16 :名前は開発中のものです。:2018/02/03(土) 21:54:13.01 ID:pq/dGYDF.net
どうだろう

17 :名前は開発中のものです。:2018/02/05(月) 06:04:55.48 ID:gZIcooAm.net
うん、プレハブさんの修正がちょっとメンドイかったね
ところでOnGUIってイベントは普通に使ってもいいのかな?
これ内部のオブジェクト破棄してくれてるみたいで、公式に載ってるサンプルだと
綺麗に点滅しますね
ttps://docs.unity3d.com/ja/current/Manual/gui-Basics.html

18 :名前は開発中のものです。:2018/02/05(月) 19:14:05.75 ID:gZIcooAm.net
UIってCanvasのレンダーモード変えてもOnBcomeInvisibleとか反応しないのですね
じゃって事でUIのテキストのサイズ取得だとおもったけどこれがなかなか
色々やってsizeDelta.xがwidthって事が判明
これtransformじゃなくて、recttransform が保持してやがる超メンドイ

19 :名前は開発中のものです。:2018/02/07(水) 12:35:01.29 ID:tguyUo/d.net
Uのパネルでフェードイン、フェードアウトのアニメ作るの楽!
超簡単にできた

20 :名前は開発中のものです。:2018/02/17(土) 07:41:46.03 ID:G/oBdhuK.net
☆ 日本の、改憲を行いましょう。現在、衆議員と参議院の
両院で、改憲議員が3分の2を超えております。
『憲法改正国民投票法』、でググってみてください。国会の発議は
すでに可能です。平和は勝ち取るものです。お願い致します。☆☆

21 :名前は開発中のものです。:2018/02/17(土) 23:56:24.91 ID:7Z6V0GTQ.net
今日知った事!
gameobject.findはActiveじゃないのは取れないけど
transeform.findなら取れるって事

22 :名前は開発中のものです。:2018/02/18(日) 19:16:51.55 ID:z5KicuOd.net
今日理解した事!

2dステージでTextMeshを全面に出す方法!
これはOffsetZにマイナス入れればOK

というのもTextMeshは3D空間用なのでげす
通常に配置した場合、スプライトと同じZ座標になってしかもオブジェクトに貼っても
そのLayerとかは意味が無い

なのでこれ自身のZ値をいじればあら不思議!すんなり全面に出てきたわwwww

23 :名前は開発中のものです。:2018/02/18(日) 19:47:03.99 ID:z5KicuOd.net
ちなみに2dで使う場合、サイズは
キャラサイズ0・2
ふぉんと100位できれいになる

24 :名前は開発中のものです。:2018/02/19(月) 15:07:22.43 ID:LZNQfRtm.net
2dゲ作成しても3dオブは使えるが注意、実行はあくまで平面になるのでコリジョン判定するには2d用を使用しないとならない

25 :名前は開発中のものです。:2018/02/19(月) 15:10:05.97 ID:LZNQfRtm.net
例えばcubeにboxColder2dァタッチする、cubeを回転させてもちゃんとコライダも変形する

26 :名前は開発中のものです。:2018/02/24(土) 12:47:13.69 ID:OtNjy344.net
親オブジェクトにメッセージ送りたい時の方法
なんかggったらめんどくさそうだったけど、簡単に出来た
transform.parent.SendMessage("OnCollisionEnter2D",collision);

これ子供のOnCollisionEnter2Dに書くと、親のOnCollisionEnter2Dを起動できる

27 :名前は開発中のものです。:2018/02/28(水) 23:55:49.66 ID:kbujvcd2.net
空のGameoject作成、そこに何か(SpriteでもCubeでも)をアタッチ
さてこれを回転とか移動するアニメを考える
アニメを親オブに設定すると、position挙動するアニメはちゃんと動かない
なので子に設定する、
子はLocal座標なのでちゃんと意図したように挙動する。
ちょっと悩んだ><

28 :名前は開発中のものです。:2018/03/01(木) 15:40:00.67 ID:v/pfxDRf.net
製作途中のを実行してみたら、あらUIの場所がおかしい
ってことで実行環境に左右されずにUIの位置を固定するには
「unity ugui 画面サイズ」でggったらCanvas Scalarが関係するらしいまでは分かった
でもドヤっているそれぞれのHPでは結局解決しない
そこでttps://docs.unity3d.com/ja/540/Manual/HOWTO-UIMultiResolution.html
公式の説明を見ると、ピボットが関係しているらしい
うんこれで、どんな解像度になってもちゃんと表示された!
HPで解説している人たちはちゃんと自分でやってるのだろうか…

29 :名前は開発中のものです。:2018/03/01(木) 15:41:25.76 ID:v/pfxDRf.net
↑ピボットではなくアンカーだった><

30 :名前は開発中のものです。:2018/03/01(木) 22:02:31.71 ID:v/pfxDRf.net
Instantiateについて
下記コードは「BgSea」にアタッチしているスクリプト「ScBgSeaNoSlice」の中のpublic static変数に代入
Instantiateを発行した時点で、代入されていないとダメかと思ったら、これで行けました
実際スクリプトのstartでprintしたらちゃんと加算されたのが入ってた
うん、これはイイ

GameObject BgSeaClone = Instantiate(BgSea, transform);
BgSeaClone.transform.position = new Vector3(BgSeaPos.x, SpawnY, 0);
mapY++;
ScBgSeaNoSlice.BgSeaXY = new Vector2Int(mapX, mapY);

31 :名前は開発中のものです。:2018/03/01(木) 22:02:31.85 ID:v/pfxDRf.net
Instantiateについて
下記コードは「BgSea」にアタッチしているスクリプト「ScBgSeaNoSlice」の中のpublic static変数に代入
Instantiateを発行した時点で、代入されていないとダメかと思ったら、これで行けました
実際スクリプトのstartでprintしたらちゃんと加算されたのが入ってた
うん、これはイイ

GameObject BgSeaClone = Instantiate(BgSea, transform);
BgSeaClone.transform.position = new Vector3(BgSeaPos.x, SpawnY, 0);
mapY++;
ScBgSeaNoSlice.BgSeaXY = new Vector2Int(mapX, mapY);

32 :名前は開発中のものです。:2018/03/02(金) 14:23:56.52 ID:AY5Adz5C.net
>>31
これ同じスクリプトが複数ある場合の生成では、全部同じ値になるので
どのスクリプトかを指定しないと無理で、且つその場合staticな変数名を指定できない?

そこで スクリプトクラス名 ref = Obj.GetComponent<スクリプトクラス名>();
で指定し、ref.関数名();でパラ持って行く方法かな

33 :名前は開発中のものです。:2018/03/19(月) 19:32:42.84 ID:GhdjDhgu.net
GameObjectクラスはObjectクラスを継承しているクラス

34 :名前は開発中のものです。:2018/03/22(木) 20:29:19.94 ID:kc6hqrdR.net
テキストデータ読み込みで注意!
メモ帳で漢字まじりでデータ作成下場合、保存でゆにこおどかゆてぃえふにしないと、りそぉすろぉどしてもちゃんと読み込めん!
いや読み込み事態は成功するからやっかいなんだ!

35 :名前は開発中のものです。:2018/03/23(金) 16:35:57.22 ID:vAC3q6AE.net
コルーチンのyieldのサンプルってさ
yield return new WaitForSecondsRealtime(5);
とかなってね、毎回newするけどさ

これ別のとこで作成して
private WaitForSeconds wfTime;
wfTime = new WaitForSeconds(0.1f);
として
yield return wfTime;
でも行けるね
それから時間変更は再度newすれば
wfTime = new WaitForSeconds(0f);
OKですね、ちなみに0指定すると、ただの yield return null; と一緒かな

36 :名前は開発中のものです。:2018/03/28(水) 04:30:40.73 ID:HPBo1FRD.net
やヴぁう
Toggleの設定がよくわからいい

ちょっと明日、ってか今日か確認して結果上げる

37 :名前は開発中のものです。:2018/03/28(水) 13:04:45.22 ID:tgPjGqdr.net
了解しました。

38 :名前は開発中のものです。:2018/03/28(水) 13:22:23.73 ID:HPBo1FRD.net
うん、検証してみたけど、
cb.normalColor はボタン押した一回しか変更されず、そのあとトグル押すとwhiteになるが、highlightedColorはそのままですね
とおもったら、なんかフォーカスが移った時にはnormalColorなのか、うん分かりにくい

分かりにくいと言えば、このチェックマーク自体が・・・

ttps://i.gyazo.com/a6bdc3801eb73b31bc9ab48a82eafb6d.png

なんか色々やってたら、替えれたわ
ttps://i.gyazo.com/58cfaa990840f929a72c1358c252941a.png

39 :名前は開発中のものです。:2018/03/28(水) 19:06:31.01 ID:HPBo1FRD.net
ついでに、UIでマウスイベントの取得方法

UIでOnMouseEnterとかのマウスイベント取得する場合、取得したいUIにコライダーをアタッチする(コライダーの領域を調整する)
CanvasはRenderModeをScreenSpace-Cameraにする

これでUI上でOnMouseXXX系の処理が可能

40 :名前は開発中のものです。:2018/04/16(月) 12:18:11.83 ID:HkgBqI4K.net
Toggleのスクリプト時追加方法とイベント取得の忘備録
まずToggleの様なコンポーネントはAddComponentする
private Toggle tgl;
tgl = gameObject.AddComponent<Toggle>();
グループ化するには、同じようにToggleGroupを追加してtgl.group = で指定しRegsterToggleしておく
トグルのonValueChangedを使うにはdelegate で行う(これは公式にある)
tgl.onValueChanged.AddListener(delegate { ToggleValueChanged(tgl);});

他がセレクトされて自身が解除された場合の取得は、まずusing UnityEngine.EventSystems;を追加、自身のスクリプトの継承に IDeselectHandlerを追加するとOnDeselectイベントが使える

41 :名前は開発中のものです。:2018/04/19(木) 22:32:22.34 ID:DX/Z9/AJ.net
ちょっとしたミニ知識、というまでもないかな
staticを使いたいけど、publicでインスペクタで指定したい場合これにstaticは付けられない
そんな時は
1. public Text txtMain;
2. static private Text stxtMain;

こんな感じで1をインスペクタで指定する
んで
private void Awake()
{
stxtMain = txtMain;
}
こんな感じで参照してすれば、どちらも使用可能で同じオブジェクトを使える

42 :名前は開発中のものです。:2018/04/22(日) 12:08:44.69 ID:ixXXVG5k.net
■TimeLineでのスクリプトについての忘備録1
TimeLineでスクリプトを使うには、最低でも2つのスクリプトが必要
PlayableAssetとPlayableBehaviour
TimeLineエディタでPlayaleTrackをAddで追加する
このトラックにPlayableAssetを指定する
PlayableAsset内ではPlayableBehaviourを指定する、これでPlayableBehaviour内で停止時などの関数が利用できる
外部からプレイなどを制御するにはPlayableDirectorを指定して制御する
一番簡単なのは、Publicでインスペクタから指定するのがいい

尚、Trackに同じPlayableAssetを複数使う場合、どこがPlayしているか特定するにはHashCodeを利用すれば可能
PlayableAssetのGetPlayableCountでそれぞれの番号は取得可能だが、これを利用する手立てが…誰かわかれば教えて><


ttps://i.gyazo.com/b7b569b05d0eacd9e028987fc43be89f.png

43 :名前は開発中のものです。:2018/04/22(日) 12:13:06.43 ID:ixXXVG5k.net
■TimeLineでのスクリプトについての忘備録2
スクリプトでシーン上のオブジェクトを利用する場合
まずPlayableAssetで
public ExposedReference<UnityEngine.GameObject> m_MySceneObject;
と宣言、 public override Playable CreatePlayable内にて
クラス型 playableBehaviour = new クラス型();
playableBehaviour.m_MySceneObject = m_MySceneObject.Resolve(graph.GetResolver());
とする
スクリプトPlayableBehaviourでは
public GameObject m_MySceneObject { get; internal set; }
これでこのGameObject に対して色々と命令が出せる

44 :名前は開発中のものです。:2018/05/03(木) 14:27:48.38 ID:Sxk8HZSj.net
公式のシーン読み出しのサンプルやってみた
ttps://docs.unity3d.com/ja/current/ScriptReference/SceneManagement.SceneManager-sceneLoaded.html
シーンがロードされたとき、アンロードされたときが欲しかったのでこのサンプルが使える
void Awake() { Debug.Log("Awake"); }
void OnEnable()
{
SceneManager.sceneLoaded += OnSceneLoaded;
SceneManager.sceneUnloaded += OnSceneUnLoaded;
}
void OnSceneLoaded(Scene scene, LoadSceneMode mode) { Debug.Log("OnSceneLoaded: " + scene.name + ",mode:" + mode); }
void Start()
{
Debug.Log("Start");
SceneManager.LoadScene("s2" , LoadSceneMode.Additive);
}
public void UnloadS2() { SceneManager.UnloadSceneAsync("s2"); }
void OnSceneUnLoaded(Scene scene) { Debug.Log("OnSceneUnLoaded: " + scene.name ); }

コード補正がかかるからわかると思うけど、UnLoadの時のパラメータはSceneのみになる

45 :名前は開発中のものです。:2018/09/16(日) 15:15:08.03 ID:LNRMkHTN.net
>>32
Unityのバージョンによって、変数名refが使用できませんでしたのでご注意ください

46 :名前は開発中のものです。:2018/09/30(日) 03:02:08.43 ID:ZYtSqOch.net
getcomponentはインターフェイスもTに指定出来る

47 :名前は開発中のものです。:2018/11/11(日) 09:10:47.35 ID:8o4S5YXl.net
http://r2.upup.be/wV2qsULdHm

48 :名前は開発中のものです。:2019/02/17(日) 09:48:35.12 ID:aTvJx0H4.net
Visual Studioで覚えたてのメソッドやコールバックは次々とツールボックスにD&Dで登録すると、次に使いたくなればそのツールパネルからD&Dすりゃ楽だしスペルミスもしない。
しかもエディットフィールドの横に常時ピン止めするとコード書く時間も短縮する。

https://i.imgur.com/PJMI7ZI.jpg

49 :名前は開発中のものです。:2019/02/17(日) 10:29:36.15 ID:aTvJx0H4.net
メソッドやクラスプロパティなんか普通に書いてたら意味はわかる(読むことは出来る)。
けど、どんな引数(パラメータ)が必要で戻り値はvoid(無し)だったっけ?triggerだっけTrrigerだっけスペル間違っていてなぜかIntelisense(入力補間機能)でも使いたい物がでないよ。
みたいな人には必要だと思うよ。
Visual Studio2017のBuilt inで入ってる付属ツールだけでできる、拡張機能探しダウンロードしてインストールとかしなくても出来ることだし。

50 :名前は開発中のものです。:2019/02/18(月) 12:59:35.72 ID:S//uxG55.net
ああすまん
まあそういうのをスニペット snippetと言って流行って来てるけど。

ツールボックスはプロジェクト変えたりあれこれしたらすぐデータ飛ぶらしいんだ。
MSはそれに対処する気がないらしいし。
ツールボックスじゃなくべつのスニペットツール開発してるし。
ここみて各自適当に適当なツール使ってね。
https://qiita.com/crasae/items/a5fcbb52ceaf89d3af33
シェアウェアでなら、Visual AsistantのVA Snippetが素晴らしいよね。
30days Trialあるから使ってみては

51 :弟子 :2019/11/23(土) 11:24:49.09 ID:l0P9p1Sz.net
久しぶりにミニ知

monobehaviorのstartやupdateについて
こいつらってvirtiualじゃないからoverride出来ないけど
継承先にあればそれが起動、無ければ元のが起動するみたいね
確認は2019.2.6f1
恐らくawakeやfixedupdate関係もそうでしょう
unity独自の仕様でこれは便利

52 :弟子 :2019/11/23(土) 11:36:48.38 ID:l0P9p1Sz.net
ついでにコライダーの確認方法について
1つのオブジェクトに複数のコライダーをアタッチした場合、それぞれをどう認識するか?

残念ながら個々を認識するためのコードは存在せずhashcodeで行けそうだけど、じゃそれがどのコライダー?
となる
例、Gameojectにboxcolliderとcirclecolliderが付いてる場合、状況で片方をenableにしたい

しかしどうやらこれはgetcomponentsで取得する場合にはinspectorの順番で取得できるうようである
なのでその順番で管理できす感じ
何か個々を識別できると超いいんだけど・・・

53 :弟子 :2019/11/26(火) 21:12:02.99 ID:/OFR0ZTD.net
>>52

あった、GetContactsでぶつかったコライダーの情報取得できた

54 :弟子:2019/12/01(日) 10:19:27.07 ID:AUfu0sBS.net
>>51
両方動かす場合にはbase指定で

55 :名前は開発中のものです。:2019/12/01(日) 15:12:31.14 ID:AUfu0sBS.net
>>54
Baseを使う場合にはprotectedかvirtualにしておく必要はあるぽい

56 :弟子 :2020/01/08(水) 10:28:11.27 ID:7cplqCOI.net
vector2.Angleの使い方、これは2点の線の角度を返すが、これは原点からこの2点を結んだ角度になる
そこで、2点の角度を出したい場合には次の様にする

Vector2 v =StrPos;
Vector2 v2 = EndPos - v;
Vector2 v3 = Vector2.zero;
v3.x = v2.x;

Vector2.Angle(v2, v3);
つまりスタート地点を原点に持って行き、本来無い3点目を置くことで目的の角度を取得

57 :弟子:2020/01/26(日) 16:53:23 ID:ckFKG1Im.net
複数キー押しっぱ入力を複数のシーンに展開しても入力を取りたい

公式の見解によるとシーンをシングル遷移すると入力がリセットされる
しかし現時点で何故か複数キーを押下してても何故か最後の入力だけ引き摺る状態てありこれはバグとの事

そこでリセットさせずに入力を継続させるには、ダミーシーンを全体に置いて、この中でシーンのロード、あんろーどを行うと、ダミーシーンはずっと存在した形になるので入力を継続できる

58 :弟子:2020/02/27(木) 11:07:01.84 ID:fVMfcjq3.net
アニメーションクリップの黄色い文字の修正には
【Unity】AnimationClipのMissingなパスを見つけて解決しやすくするエディタ拡張
http://tsubakit1.hateblo.jp/entry/2016/01/26/015331#%E5%B0%8E%E5%85%A5%E3%81%A8%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89

これが正解
他のは値がクリアされたりする

59 :弟子:2020/03/20(金) 10:14:48.41 ID:oIj78xAx.net
マテリアルの変更

rendere.sharedMaterials = materials;
これでマテリアルセットすべて変更可能
rendere.sharedMaterials[0] = materials[0];
rendere.sharedMaterials[1] = materials[1];
これだと1が変更されない、そこで
rendere.sharedMaterial = material で0が変更される

マテリアルについては動きが謎だな

60 :弟子:2020/04/28(火) 17:53:44 ID:2pVOTjQO.net
特定のAudioClipが再生中かどうか判定する
if(audioSource.isPlaying)
GUILayout.TextField(" play Now :" + audioSource.clip.name);
else
GUILayout.TextField(" pause!! ");

AudioSourceにはisPlayingがあり、これで再生中のClipを取得できる
そこでその名前を比較すればどの音源が再生しているか分かる

61 :名前は開発中のものです。:2023/08/25(金) 10:06:13.13 ID:yhIqzT3NH
那霸はいいけど辺野古はヤダた゛のダブス夕ほざいて曰本から血税ふんだくりたいだけの羞恥心ゼロの寄生虫島琉球民はいい加減独立しろや
スコットランドですら独立運動して住民投票までやろうとしてるってのに.クチだけ琉球民のヘタレチキンっぷりには反吐が出そうだぞ
国防がどうたら口八丁に脅されてんた゛ろうけど、国民を人間の盾にして、女こども以外逃亡(出國)禁止にして戰わせてまて゛利権に執着して
國土を灰燼に帰しているキチガヰナゼレンスキーら地球に湧いた害虫公務員の本質を理解しろよ、拳銃.スティンカ゛ー、手榴弾にと
国民全員が武装する以外の国防なんてものは存在しねえんだぞ,殺されたくなければ、JALだの機長殴って駆け付けた警官まで殴打して
現行犯逮捕の酒気帯び運転ANAだのテ□リストに公然と騒音に温室効果カ゛スにコ囗ナにとまき散らさせて、
気候変動させて海水温上昇させて土砂崩れに洪水.暴風,猛暑,大雪にと災害連発させて、エネ価格暴騰させて、
私利私欲のために日本に原爆落とした世界最悪のならず者国家と結託して少女までレイプさせてる自民公明キチガイテロ国家と決別しろよ
(羽田)ttps://www.call4.jP/info.php?type=iTems&id=I0000062 , Тtps://haneda-projecТ.jimdofree.com/
(成田)tТPs://n-souonhigaisosуoudan.amebaownd.com/
(テロ組織)ttps://i.imgur.com/hnli1ga.jPeg

総レス数 61
21 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver.24052200