[過去ログ] 製作途中で得たUnityのミニ知識を披露するスレ (60レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
25: 2018/02/19(月)15:10 ID:LZNQfRtm(2/2) AAS
例えばcubeにboxColder2dァタッチする、cubeを回転させてもちゃんとコライダも変形する
26: 2018/02/24(土)12:47 ID:OtNjy344(1) AAS
親オブジェクトにメッセージ送りたい時の方法
なんかggったらめんどくさそうだったけど、簡単に出来た
transform.parent.SendMessage("OnCollisionEnter2D",collision);
これ子供のOnCollisionEnter2Dに書くと、親のOnCollisionEnter2Dを起動できる
27: 2018/02/28(水)23:55 ID:kbujvcd2(1) AAS
空のGameoject作成、そこに何か(SpriteでもCubeでも)をアタッチ
さてこれを回転とか移動するアニメを考える
アニメを親オブに設定すると、position挙動するアニメはちゃんと動かない
なので子に設定する、
子はLocal座標なのでちゃんと意図したように挙動する。
ちょっと悩んだ><
28: 2018/03/01(木)15:40 ID:v/pfxDRf(1/4) AAS
製作途中のを実行してみたら、あらUIの場所がおかしい
ってことで実行環境に左右されずにUIの位置を固定するには
「unity ugui 画面サイズ」でggったらCanvas Scalarが関係するらしいまでは分かった
でもドヤっているそれぞれのHPでは結局解決しない
そこで外部リンク[html]:docs.unity3d.com
公式の説明を見ると、ピボットが関係しているらしい
うんこれで、どんな解像度になってもちゃんと表示された!
省1
29: 2018/03/01(木)15:41 ID:v/pfxDRf(2/4) AAS
↑ピボットではなくアンカーだった><
30: 2018/03/01(木)22:02 ID:v/pfxDRf(3/4) AAS
Instantiateについて
下記コードは「BgSea」にアタッチしているスクリプト「ScBgSeaNoSlice」の中のpublic static変数に代入
Instantiateを発行した時点で、代入されていないとダメかと思ったら、これで行けました
実際スクリプトのstartでprintしたらちゃんと加算されたのが入ってた
うん、これはイイ
GameObject BgSeaClone = Instantiate(BgSea, transform);
BgSeaClone.transform.position = new Vector3(BgSeaPos.x, SpawnY, 0);
省2
31(1): 2018/03/01(木)22:02 ID:v/pfxDRf(4/4) AAS
Instantiateについて
下記コードは「BgSea」にアタッチしているスクリプト「ScBgSeaNoSlice」の中のpublic static変数に代入
Instantiateを発行した時点で、代入されていないとダメかと思ったら、これで行けました
実際スクリプトのstartでprintしたらちゃんと加算されたのが入ってた
うん、これはイイ
GameObject BgSeaClone = Instantiate(BgSea, transform);
BgSeaClone.transform.position = new Vector3(BgSeaPos.x, SpawnY, 0);
省2
32(1): 2018/03/02(金)14:23 ID:AY5Adz5C(1) AAS
>>31
これ同じスクリプトが複数ある場合の生成では、全部同じ値になるので
どのスクリプトかを指定しないと無理で、且つその場合staticな変数名を指定できない?
そこで スクリプトクラス名 ref = Obj.GetComponent<スクリプトクラス名>();
で指定し、ref.関数名();でパラ持って行く方法かな
33: 2018/03/19(月)19:32 ID:GhdjDhgu(1) AAS
GameObjectクラスはObjectクラスを継承しているクラス
34: 2018/03/22(木)20:29 ID:kc6hqrdR(1) AAS
テキストデータ読み込みで注意!
メモ帳で漢字まじりでデータ作成下場合、保存でゆにこおどかゆてぃえふにしないと、りそぉすろぉどしてもちゃんと読み込めん!
いや読み込み事態は成功するからやっかいなんだ!
35: 2018/03/23(金)16:35 ID:vAC3q6AE(1) AAS
コルーチンのyieldのサンプルってさ
yield return new WaitForSecondsRealtime(5);
とかなってね、毎回newするけどさ
これ別のとこで作成して
private WaitForSeconds wfTime;
wfTime = new WaitForSeconds(0.1f);
として
省5
36: 2018/03/28(水)04:30 ID:HPBo1FRD(1/3) AAS
やヴぁう
Toggleの設定がよくわからいい
ちょっと明日、ってか今日か確認して結果上げる
37: 2018/03/28(水)13:04 ID:tgPjGqdr(1) AAS
了解しました。
38: 2018/03/28(水)13:22 ID:HPBo1FRD(2/3) AAS
うん、検証してみたけど、
cb.normalColor はボタン押した一回しか変更されず、そのあとトグル押すとwhiteになるが、highlightedColorはそのままですね
とおもったら、なんかフォーカスが移った時にはnormalColorなのか、うん分かりにくい
分かりにくいと言えば、このチェックマーク自体が・・・
画像リンク[png]:i.gyazo.com
なんか色々やってたら、替えれたわ
画像リンク[png]:i.gyazo.com
39: 2018/03/28(水)19:06 ID:HPBo1FRD(3/3) AAS
ついでに、UIでマウスイベントの取得方法
UIでOnMouseEnterとかのマウスイベント取得する場合、取得したいUIにコライダーをアタッチする(コライダーの領域を調整する)
CanvasはRenderModeをScreenSpace-Cameraにする
これでUI上でOnMouseXXX系の処理が可能
40: 2018/04/16(月)12:18 ID:HkgBqI4K(1) AAS
Toggleのスクリプト時追加方法とイベント取得の忘備録
まずToggleの様なコンポーネントはAddComponentする
private Toggle tgl;
tgl = gameObject.AddComponent<Toggle>();
グループ化するには、同じようにToggleGroupを追加してtgl.group = で指定しRegsterToggleしておく
トグルのonValueChangedを使うにはdelegate で行う(これは公式にある)
tgl.onValueChanged.AddListener(delegate { ToggleValueChanged(tgl);});
省1
41: 2018/04/19(木)22:32 ID:DX/Z9/AJ(1) AAS
ちょっとしたミニ知識、というまでもないかな
staticを使いたいけど、publicでインスペクタで指定したい場合これにstaticは付けられない
そんな時は
1. public Text txtMain;
2. static private Text stxtMain;
こんな感じで1をインスペクタで指定する
んで
省5
42: 2018/04/22(日)12:08 ID:ixXXVG5k(1/2) AAS
■TimeLineでのスクリプトについての忘備録1
TimeLineでスクリプトを使うには、最低でも2つのスクリプトが必要
PlayableAssetとPlayableBehaviour
TimeLineエディタでPlayaleTrackをAddで追加する
このトラックにPlayableAssetを指定する
PlayableAsset内ではPlayableBehaviourを指定する、これでPlayableBehaviour内で停止時などの関数が利用できる
外部からプレイなどを制御するにはPlayableDirectorを指定して制御する
省4
43: 2018/04/22(日)12:13 ID:ixXXVG5k(2/2) AAS
■TimeLineでのスクリプトについての忘備録2
スクリプトでシーン上のオブジェクトを利用する場合
まずPlayableAssetで
public ExposedReference<UnityEngine.GameObject> m_MySceneObject;
と宣言、 public override Playable CreatePlayable内にて
クラス型 playableBehaviour = new クラス型();
playableBehaviour.m_MySceneObject = m_MySceneObject.Resolve(graph.GetResolver());
省4
44: 2018/05/03(木)14:27 ID:Sxk8HZSj(1) AAS
公式のシーン読み出しのサンプルやってみた
外部リンク[html]:docs.unity3d.com
シーンがロードされたとき、アンロードされたときが欲しかったのでこのサンプルが使える
void Awake() { Debug.Log("Awake"); }
void OnEnable()
{
SceneManager.sceneLoaded += OnSceneLoaded;
省11
45: 2018/09/16(日)15:15 ID:LNRMkHTN(1) AAS
>>32
Unityのバージョンによって、変数名refが使用できませんでしたのでご注意ください
46: 2018/09/30(日)03:02 ID:ZYtSqOch(1) AAS
getcomponentはインターフェイスもTに指定出来る
47: 2018/11/11(日)09:10 ID:8o4S5YXl(1) AAS
外部リンク:r2.upup.be
48: 2019/02/17(日)09:48 ID:aTvJx0H4(1/2) AAS
Visual Studioで覚えたてのメソッドやコールバックは次々とツールボックスにD&Dで登録すると、次に使いたくなればそのツールパネルからD&Dすりゃ楽だしスペルミスもしない。
しかもエディットフィールドの横に常時ピン止めするとコード書く時間も短縮する。
画像リンク[jpg]:i.imgur.com
49: 2019/02/17(日)10:29 ID:aTvJx0H4(2/2) AAS
メソッドやクラスプロパティなんか普通に書いてたら意味はわかる(読むことは出来る)。
けど、どんな引数(パラメータ)が必要で戻り値はvoid(無し)だったっけ?triggerだっけTrrigerだっけスペル間違っていてなぜかIntelisense(入力補間機能)でも使いたい物がでないよ。
みたいな人には必要だと思うよ。
Visual Studio2017のBuilt inで入ってる付属ツールだけでできる、拡張機能探しダウンロードしてインストールとかしなくても出来ることだし。
50: 2019/02/18(月)12:59 ID:S//uxG55(1) AAS
ああすまん
まあそういうのをスニペット snippetと言って流行って来てるけど。
ツールボックスはプロジェクト変えたりあれこれしたらすぐデータ飛ぶらしいんだ。
MSはそれに対処する気がないらしいし。
ツールボックスじゃなくべつのスニペットツール開発してるし。
ここみて各自適当に適当なツール使ってね。
外部リンク:qiita.com
省2
51(1): 弟子 ◆rZPPjYuxmQ 2019/11/23(土)11:24 ID:l0P9p1Sz(1/2) AAS
久しぶりにミニ知
monobehaviorのstartやupdateについて
こいつらってvirtiualじゃないからoverride出来ないけど
継承先にあればそれが起動、無ければ元のが起動するみたいね
確認は2019.2.6f1
恐らくawakeやfixedupdate関係もそうでしょう
unity独自の仕様でこれは便利
52(1): 弟子 ◆rZPPjYuxmQ 2019/11/23(土)11:36 ID:l0P9p1Sz(2/2) AAS
ついでにコライダーの確認方法について
1つのオブジェクトに複数のコライダーをアタッチした場合、それぞれをどう認識するか?
残念ながら個々を認識するためのコードは存在せずhashcodeで行けそうだけど、じゃそれがどのコライダー?
となる
例、Gameojectにboxcolliderとcirclecolliderが付いてる場合、状況で片方をenableにしたい
しかしどうやらこれはgetcomponentsで取得する場合にはinspectorの順番で取得できるうようである
なのでその順番で管理できす感じ
省1
53: 弟子 ◆rZPPjYuxmQ 2019/11/26(火)21:12 ID:/OFR0ZTD(1) AAS
>>52
あった、GetContactsでぶつかったコライダーの情報取得できた
54(1): 弟子 2019/12/01(日)10:19 ID:AUfu0sBS(1/2) AAS
>>51
両方動かす場合にはbase指定で
55: 2019/12/01(日)15:12 ID:AUfu0sBS(2/2) AAS
>>54
Baseを使う場合にはprotectedかvirtualにしておく必要はあるぽい
56: 弟子 ◆rZPPjYuxmQ 2020/01/08(水)10:28 ID:7cplqCOI(1) AAS
vector2.Angleの使い方、これは2点の線の角度を返すが、これは原点からこの2点を結んだ角度になる
そこで、2点の角度を出したい場合には次の様にする
Vector2 v =StrPos;
Vector2 v2 = EndPos - v;
Vector2 v3 = Vector2.zero;
v3.x = v2.x;
Vector2.Angle(v2, v3);
省1
57: 弟子 2020/01/26(日)16:53 ID:ckFKG1Im(1) AAS
複数キー押しっぱ入力を複数のシーンに展開しても入力を取りたい
公式の見解によるとシーンをシングル遷移すると入力がリセットされる
しかし現時点で何故か複数キーを押下してても何故か最後の入力だけ引き摺る状態てありこれはバグとの事
そこでリセットさせずに入力を継続させるには、ダミーシーンを全体に置いて、この中でシーンのロード、あんろーどを行うと、ダミーシーンはずっと存在した形になるので入力を継続できる
58: 弟子 2020/02/27(木)11:07 ID:fVMfcjq3(1) AAS
アニメーションクリップの黄色い文字の修正には
【Unity】AnimationClipのMissingなパスを見つけて解決しやすくするエディタ拡張
外部リンク:tsubakit1.hateblo.jp
これが正解
他のは値がクリアされたりする
59: 弟子 2020/03/20(金)10:14 ID:oIj78xAx(1) AAS
マテリアルの変更
rendere.sharedMaterials = materials;
これでマテリアルセットすべて変更可能
rendere.sharedMaterials[0] = materials[0];
rendere.sharedMaterials[1] = materials[1];
これだと1が変更されない、そこで
rendere.sharedMaterial = material で0が変更される
省1
60: 弟子 2020/04/28(火)17:53 ID:2pVOTjQO(1) AAS
特定のAudioClipが再生中かどうか判定する
if(audioSource.isPlaying)
GUILayout.TextField(" play Now :" + audioSource.clip.name);
else
GUILayout.TextField(" pause!! ");
AudioSourceにはisPlayingがあり、これで再生中のClipを取得できる
そこでその名前を比較すればどの音源が再生しているか分かる
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.548s*