子どもを全部削除する

unitymemo @ ウィキ内検索 / 「子どもを全部削除する」で検索した結果

検索 :
  • 子どもを全部削除する
    foreach ( Transform n in this.transform ) { GameObject.Destroy(n.gameObject); }
  • オブジェクトの親、子を取得する
    子を取得  transform.FindChild()ではなくtransform.Find()が正しいらしい  transform.Find()はtransformなので、GameObjectは、transform.Find().GameObjectを読む必要がある。  子どもは、親のtransformにぶら下がる。正確には、子どものtransformが、親のtransformにぶら下がっている。 GameObject childObject = gameObject.transform.Find("子要素の名前").gameObject; ↑子がいないときにエラーになる。 if( gameObject.transform.Find("子要素の名前")!=null ) { GameObject childObje...
  • H.Pなどの情報表示
    hpというobjectをキャラの子供に配置しておく 3Dtextも子どもとして配置しておく private void HPboard() { GameObject childObject = gameObject.transform.FindChild("hp").gameObject; childObject.transform.localScale = new Vector3( (float)hp/hpMax, 0.1f, 0.01f); childObject = gameObject.transform.FindChild("exp").gameObject; string temp = "#" + no + " "+status+"\nhp"+hp+&qu...
  • A*探索
    出典 http //qiita.com/2dgames_jp/items/f29e915357c1decbc4b7 /// A-starノード. class ANode { enum eStatus { None, Open, Closed, } /// ステータス eStatus _status = eStatus.None; /// 実コスト int _cost = 0; /// ヒューリスティック・コスト int _heuristic = 0; /// 親ノード ANode _parent = null; /// 座標 int _x = 0; int _y = 0; public int X { get { return _x; } } public int Y { get { return _y; } } public int Cost { get { return _co...
  • プラグイン/ニュース
    ニュース @wikiのwikiモードでは #news(興味のある単語) と入力することで、あるキーワードに関連するニュース一覧を表示することができます 詳しくはこちらをご覧ください。 =>http //www1.atwiki.jp/guide/pages/266.html#id_542badf7 たとえば、#news(ゲーム)と入力すると以下のように表示されます。 スマートフォン向けゲーム「D4DJ Groovy Mix」イベント&ガチャ「『新曲! 対立!? お泊り会!!?』~真秀&麗~」開催! - PR TIMES キャラゲーに“全集中” ゲーム好きの漫画家が「鬼滅の刃 ヒノカミ血風譚」の評価に困った理由(ITmedia NEWS) - Yahoo!ニュース - Yahoo!ニュース 【今週の新作まとめ】『シャーマンキング』初の公式スマホ向けゲー...
  • 動的にtagを追加する
    使い方 AddTag("HogeTag01"); すでにあればスルーする。 動的追加なので、プログラムが終了すると消えている。 初期状態で、unityのexportPackageはtag情報を出してくれないので、 動的に追加するか、tagを含んだexportをする必要がある。 scriptで追加しておけば、色々考えずに済む。 追加メソッド static void AddTag(string tagname) { UnityEngine.Object[] asset = AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/TagManager.asset"); if ((asset != null) (asset.Length 0)) { ...
  • List
    参考文献 http //myoujing.wpblog.jp/2014/08/874/ リストを使うには、これ必要 using System.Collections.Generic; 宣言 List string TestList = new List string () {"honda", "toyota", "nissan"}; 代入 TestList[1] = "suzuki"; 追加 TestList.Add("Yerrow"); 複数要素の追加 TestList = new List() {“Red”, “Blue”, “Green”}; NewList = new List() {“Cyan”, “Purple”, “Gray”...
  • 文字列操作
    文字列の長さb = a.Length; 文字列の部分取り出しb = a.Substring(0, 2);//先頭から2文字→文字 b = a.Substring(1, 2);//2文字目から3文字→字列 b = a.Substring(1);//3文字目以降全部→字列A 文字列の分割string a = "name date text"; 分割文字を として分割する string[] b = a.Split( , ); b[0]にはname b[1]にはdate b[2]にはtextが入る 複数の区切り文字を使うchar[] KUGIRI = { , , , ? , . , ! , ; }; string[] b = a.Split(KUGIRI); 文字列検索string a = "name date text"; i...
  • 敵を追尾する弾(ミサイル)
    弾(ミサイル)にスクリプトをaddしておく。 targetが敵のGameObject スムーズに敵の方へ回転し、transform.forward * speedだけ進む 敵との距離が0.1f以内になれば、敵に対して被弾処理を行う 敵が消滅している場合は自分も消滅する void Update () { if(target) { transform.rotation = Quaternion.Slerp(transform.rotation, Quaternion.LookRotation(target.transform.position - transform.position), 3f); transform.position += transform.forward * speed; if( Vector3.Distance( transform.position ,...
  • Findいろいろ
    Find GameObject obj=GameObject.Find("MapRoot"); FindWithTag GameObject obj=GameObject.FindWithTag("Enemy"); 複数のObject削除 GameObject[] obj=GameObject.FindGameObjectsWithTag("Pole"); foreach(GameObject obs in obj) Destroy(obs);
  • 子供として生成して、設定する
    var item = GameObject.Instantiate(prefab) as RectTransform; item.SetParent(transform, false); prefabからitemを生成して、itemの親はtransformと設定 var text = item.GetComponentInChildren Text (); text.text = "item " + i.ToString(); itemのComponentを取得し、textに情報を設定する
  • マウスでオブジェクトを指定する
    public Transform target; // 追跡させるオブジェクト public Transform center; // targetとカメラの距離を設定する用のオブジェクト Vector3 pos = Vector3.forward * Vector3.Distance(transform.position, center.position); target.position = camera.ScreenToWorldPoint(Input.mousePosition + pos); posのZ座標は、thisとカメラとの距離を指定する (カメラが四角すいなので、距離によって投射平面の大きさが変わるので) Vector3 vec = Input.mousePosition; vec.z = 10f; GameObject.Find(&q...
  • オブジェクト同士で衝突を無効にする
    rigidBodyを設定している特定のオブジェクトで衝突を無効にするには、 Layerを追加して、特定のオブジェクトを同じレイヤーに設定する Edit→Project Settings→Physicsで、そのレイヤー衝突マトリクスをOFFにする Inspectorでapplyすると変更が反映する
  • 複数のsceneで情報を共有するには
    ①static宣言された変数は、アプリが終了まで生存する ②DontDestroyOnLoad(obj);  を実行すると、objというGameObjectはsceneを切り替えても生存する ③PlayerPrefs.SetIntを使う といった方法がある scene切り替えは、モバイル環境では負荷がかかるので、一切使用せずに、 一つのsceneの中で、複数のシーンを内包させるべきという考え方もある (同様に、prefabをdestroyして再生成せずに、再利用する方が、メモリ断片化も防げるはず)
  • 一文字づつ表示するテキストボックス
    quizTextに予め全文を入れており、 quizDispIndex=0から初めて、徐々に増やしていき、全文を徐々に表示する private static GameObject qt; qt=GameObject.Find ("QueText"); qtはCanvas内のText void Update () { if( quizDispIndex quizText.Length ) { quizDispIndex+=Time.deltaTime*20f; if(quizDispIndex =quizText.Length) qt.GetComponent Text ().text = quizText; else qt.GetComponent Text ().text = quizText.Substring(0,(int)quizDispI...
  • 画面上の物体をマウスでクリックする
    マウスを左クリックしたら、マウスの位置(二次元)から光線を飛ばして、 衝突したGameObjectのタグを取得して、クリックした物を判定する 当たったObjectは、hit.collider.gameObjectに入っている (このサンプルは当たったObjectの位置に、新たにObjectを生成している) if (Input.GetMouseButtonDown(0) ) { Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition); RaycastHit hit = new RaycastHit(); Physics.Raycast(ray, out hit); if ( hit.collider.gameObject.tag=="Plane" gold =200 ) { gold-=2...
  • 持ってるアイテムを表示する
    public void showItems() { GameObject[] obj=GameObject.FindGameObjectsWithTag("Item"); foreach(GameObject obs in obj) Destroy(obs); for(int i=0;i myItems.Length;i++) { int type = int.Parse( myItems.Substring(i,1) ); dropItem( type, i); if(type==2) { GameObject.FindWithTag("Player").GetComponent Player ().moveTime=0.05f; } } } void dropItem(int no,float x) { GameObject obj2 = n...
  • 他のスクリプトのpublic変数にアクセスする
    InitというObjectにAddComponentで"Init"という名前のscriptを追加している public class Init MonoBehaviour {  public int[,] map = new int[25,25]; } 別のObjectのスクリプトコンポーネント内から Init init; init = GameObject.Find("Init").GetComponent Init (); if( init.map[i,j]==1 )  score[i,j]=99; public class Test MonoBehaviour { public static int no; } staticが付くとclassのメンバ変数になる staticをつけると、別のクラスからのア...
  • prefabのbuttonをCanvasに追加する
    GameObject canvas; void Start () { canvas = GameObject.Find("Canvas"); Button bt=Resources.Load Button ("Button"); Button bt1 = Instantiate( bt ); bt1.onClick.AddListener( ()= onButtonClick(1) ); bt1.transform.SetParent( canvas.transform,false ); } void onButtonClick(int no) { if(no==1) Debug.Log("click!"); } AddListenerに引数を追加する方法をググったけどやり方が分からず ということで、UnityActio...
  • シーンに必要なassetだけをexoportする方法
    sceneファイルの上で右クリックすると、 依存関係を選択するメニューがあるので、選ぶと必要なassetファイルだけがすべて選択された状態になる そこでpackageをexportすれば、必要なassetだけを保存したpackageができる http //answers.unity3d.com/questions/183644/removing-unused-and-duplicate-assets.html ただし、 Just tried it, but it dodnt include standard assets, specificaly particles... Do you know why??? といった指摘もあるので完全ではない模様
  • マップ内をランダムに徘徊する(2D)
    float dx=0; float dy=1f; bool isMove=true; bool isDead=false; float fireTimer=0; private BoxCollider2D boxCollider; private Rigidbody2D rb2D; private float inverseMoveTime; void Start () { boxCollider = GetComponent BoxCollider2D (); rb2D = GetComponent Rigidbody2D (); inverseMoveTime = 1f / moveTime; transform.position=new Vector2( Random.Range(1,15)*3-1.5f, Random.Range(1,9)*3+1.5f); playe...
  • カーソルキーでマップ内を移動する(2D)
    public LayerMask blockingLayer; public float moveTime = 0.1f; float dx=0; float dy=0; bool isMove=true; private BoxCollider2D boxCollider; private Rigidbody2D rb2D; private float inverseMoveTime; void Start () { boxCollider = GetComponent BoxCollider2D (); rb2D = GetComponent Rigidbody2D (); inverseMoveTime = 1f / moveTime; transform.position=new Vector2(3f*8f+1.4f,3f*4f+1.5f); } void Upda...
  • tagやLayer情報も含めてExportするEditor拡張
    以下をAssets内にEditorフォルダを作って置くと AssetメニューにExportWithSettingsというメニューが追加されるので 実行すると、tagやLayer情報も含めたPackageがExportされる using UnityEngine; using System.Collections; using UnityEditor; public class Exporter { [MenuItem("Assets/ExportWithSettings")] static void Export () { AssetDatabase.ExportPackage ("Assets/", "test.unitypackage", ExportPackageOptions.Interactive | E...
  • 複数の子供ObjectのComponentを配列に取得するやり方
    private Rigidbody2D[] rigidbody2Ds; rigidbody2Ds = GetComponentsInChildren Rigidbody2D (); 現在のGameObjectの子供のObjectのComponentをまとめて取得して、Componentの配列に代入している
  • プラグイン/インスタグラム
    インスタグラムプラグイン 人気の画像共有サービス、Instagram(インスタグラム)の画像をアットウィキに貼れるプラグインです。 #ig_user(ユーザー名) と記載することで、特定ユーザーのInstagramのフィードを表示することができます。 例)@dogoftheday #ig_user #ig_tags(タグ名) と記載することで、特定タグのInstagramのフィードを表示することができます。 #dogofthedayjp タグ #ig_tag #ig_popular と記載することで、Instagramのpopularフィードを表示することができます。 詳しい使い方は以下のページを参考にしてください! =>http //www1.atwiki.jp/guide/pages/935.html
  • Animator
    使い方 ①Animatorを作る ②既存のAnimationをドロップすると「State」ができる。 ③「State」同士をTransitionを作って結ぶ ③Animatorの右上のタブからParametersを選び、「+」で任意のフラグを追加する(例えばBoolで作って、チェックを入れる) ④transitionをクリックして③で作ったフラグの条件true/falseをconditionを追加する ⑤AnimatorにAddしているscriptからフラグを制御して、stateの遷移を制御する  if (Input.GetKey(KeyCode.Space))    anim.SetBool ("DoWin", true);  else    anim.SetBool ("DoWin", false);  例えば、スペースキー...
  • GameManager
    ゲームを統括するスクリプト staticを利用して、シングルトンにして、複数のシーンを切り替えても、同じobjectが永続するように設定する 具体的には、 public class GameManager MonoBehaviour { public static GameObject instance=null; void Awake() { if(instance == null) instance = this; else if(instance!=this) Destroy(gameObject); DontDestroyOnLoad(gameObject); } } みたいに記述する。 GameManagerのobjectを複数のシーンで共有したとしても、 生成される段階で、追加obj...
  • MMD4Mecanimの使い方
    mmd4mecanim配布元公式 http //stereoarts.jp/ 人型MMDを変換するやり方 ①unityでmm4mecanimのassetをimportする ②変換したいMMDをフォルダごとProjectフォルダにドロップする ③○.mecanimのファイルをクリックしてInspectorを表示させてProcessボタンを押す ④変換が実行される ⑤InspectorでRigタブを開き、AnimationTypeでHumanoidを選択してApplyを選択する ⑥Humanoid型のBoneが登録される MMD4Mecanim剛体基礎知識 http //qiita.com/mkt_/items/638516e12eec2e5419fd
  • プラグイン/コメント
    コメントプラグイン @wikiのwikiモードでは #comment() と入力することでコメントフォームを簡単に作成することができます。 詳しくはこちらをご覧ください。 =>http //www1.atwiki.jp/guide/pages/921.html#id_476878da たとえば、#comment() と入力すると以下のように表示されます。 名前 コメント
  • プラグイン/編集履歴
    更新履歴 @wikiのwikiモードでは #recent(数字) と入力することで、wikiのページ更新履歴を表示することができます。 詳しくはこちらをご覧ください。 =>http //www1.atwiki.jp/guide/pages/269.html#id_bf9eaeba たとえば、#recent(20)と入力すると以下のように表示されます。 取得中です。
  • uGUI
    uGUIオブジェクトの作り方 Buttonの使い方 Textの使い方 Textの表示・非表示 パネルの表示・非表示 uGUIオブジェクトの作り方  以下の追加が必要  using UnityEngine.UI;  UIを作るとCanvasができる  Screen Space Overlay RenderMode   最前面に描画される。   カメラなしでも表示できる。   自動的にスクリーンサイズに合うように変更される Buttonの使い方  buttonの子にtextがあるので見出しはここで変えられる  使い方は  ①InspectorのOn Click()の部分に、自分自身のObjectをドラッグして登録  ②AddComponentでスクリプトを追加  ③No Functionの部分をクリックすると②のスクリプトが選べるようになる  ...
  • 動的にオブジェクト生成
    GameObject cube = GameObject.CreatePrimitive(PrimitiveType.Cube); サイズを3分の1にする cube.transform.localScale = Vector3.one / 3; 位置を指定する cube.transform.position = new Vector3(x,y,z+0.3f); rigidbodyを追加する cube.gameObject.AddComponent Rigidbody ();
  • ビルボード化
    http //gamesonytablet.blogspot.jp/2013/07/unity-tips-40.html 次のコードスニペットはオブジェクトのビルボード化に使用します。スクリプトをオブジェクトの上にドロップすることで、カメラの方へ自動的に向きます。 public class CameraBillboard MonoBehaviour { // ゲームオブジェクトをビルボード化させる対象のカメラ public Camera m_Camera; // true の場合ゲームオブジェクトはクリッピング平面のカメラの前に配置されます。 public bool PositionInFrontOfCamera; // PositionInFrontOfCamera が true の場合のオブジェクトのオフセット幅 public flo...
  • プラグイン/アーカイブ
    アーカイブ @wikiのwikiモードでは #archive_log() と入力することで、特定のウェブページを保存しておくことができます。 詳しくはこちらをご覧ください。 =>http //www1.atwiki.jp/guide/pages/921.html#id_2d967d6e たとえば、#archive_log()と入力すると以下のように表示されます。 保存したいURLとサイト名を入力して"アーカイブログ"をクリックしてみよう サイト名 URL
  • プラグイン/動画(Youtube)
    動画(youtube) @wikiのwikiモードでは #video(動画のURL) と入力することで、動画を貼り付けることが出来ます。 詳しくはこちらをご覧ください。 =>http //www1.atwiki.jp/guide/pages/801.html#id_30dcdc73 また動画のURLはYoutubeのURLをご利用ください。 =>http //www.youtube.com/ たとえば、#video(http //youtube.com/watch?v=kTV1CcS53JQ)と入力すると以下のように表示されます。
  • Prefabからオブジェクト生成
    public GameObject cube; public変数でgameObjectを宣言すると、 Inspectorのscriptのcomponent内に、GameObjectの参照ができるので、 そこに、Assets内に作っているPrefabをドラッグ&ドロップして登録する float x = Random.Range(0.0f, 2.0f); float y = Random.Range(0.0f, 2.0f); float z = Random.Range(0.0f, 2.0f); Instantiate(cube, new Vector3(x, y, z), Quaternion.identity); 第1引数 Prefab内のオブジェクト名 第2引数 位置 第3引数 角度
  • プラグイン/RSS
    RSSを取り込んで一覧表示(rss) #rss(ここにRSSのURL) もしくは #rss(ここにRSSのURLを入力) と入力することで指定したRSSを取り込んで一覧表示します。 詳しくはこちらをご覧ください。 =>http //www1.atwiki.jp/guide/pages/269.html#id_a0e79757 たとえば、#rss(http //www1.atwiki.jp/guide/rss10_new.xml) と入力すると以下のように表示されます。 #showrss plugin Error showrssプラグインでのatwiki.jpのRSSの取り扱いはできません。#recentなどをご利用ください。
  • 角度関係
    オイラー角をクォータニオンにして返す Quaternion.Euler() クォータニオンをオイラー角にして返す Quaternion.eulerAngles() 相対的に回転する transform.Rotate(Vector3.right * Time.deltaTime); 絶対的な回転座標を代入 Transform.rotation = rot;←クォータニオン オブジェクトが向いている方向 Transform.forward 右を向く transform.forward = Vector3.right; targetの方を向く transform.LookAt(target); スムーズに回転する  Quaternion.Slerp(from.rotation, to.rotation, Time.time * speed);
  • iTween
    API一覧 使い方 Fade系 透明度 複合アニメ 同期的にアニメするには を指定して移動 繰り返し 参考 API一覧 http //itween.pixelplacement.com/documentation.php 使い方 iTweenをimportして、cubeをcreateして、 addしたScriptに iTween.ScaleTo (gameObject, new Vector3(6,6,6),5f); とか書くと、cubeが5秒かけて大きくなる By相対 To絶対 Update フレーム毎に Rotate 回転 Move 移動 Shake 揺れる stop(obj)特定objを止める Fade系 透明度 4秒かけて透明になる iTween.FadeTo (gameObject, 0f,4.0f ); iTween.F...
  • マウスで視点変更できるカメラ
    targetにカメラで追尾したい対象をドロップしておく 対象とカメラの位置の相対的距離をoffsetとして記録しておいて、 対象が動いても、それを維持するようにカメラも移動する (固定なので遅れはない) using UnityEngine; using System.Collections; public class CameraController MonoBehaviour { public Transform target; private float speed=0.5f; private float smoothing = 5f; Vector3 offset; float xSpeed = 450f; float ySpeed = 120f; float yMinLimit = -20; float yMaxLimit = 80; float x=...
  • Debug
    Debug.Log( message ); 実行時にコンソールにmessageが出力される  #if UNITY_EDITOR  #endif なお開発環境では上記のマクロが成立する
  • マテリアル
    床にマテリアルでテクスチャ貼ったらでかすぎた場合は、 InspectorのShaderコンポーネントで、Tilingの値を増やすと 敷き詰めるタイル数を変更することでタイルサイズを小さくできる
  • 指定された経路を進む処理
    wp[]が経路の配列 wpStateが現在向かっている経路配列の遷移位置 初期設定として、経路をwp配列に設定する。 経路自体はsceneにおいておけば、視覚的に位置を設定できる 自機の初期位置をwp[0]に設定し、wpState=1として、次の目標を1にする void Start() { wpMaxState=5; wp = new Vector3[wpMaxState+1]; for(int i=0;i =wpMaxState;i++) { GameObject.Find("Waypoint00"+i.ToString()).GetComponent Renderer ().enabled = false; wp[i] = GameObject.Find("Waypoint00"+i.ToString()).transform...
  • ハッシュテーブル
    ハッシュテーブル宣言 Hashtable hensu = new Hashtable(); キーが存在するか if( hensu.ContainsKey( ss2[no2] ) ); キー登録 hensu[ ss2[no2] ] =1; ハッシュ要素の消去 hensu.Remove(theKey);
  • 動的にコンポーネント追加
    スクリプト内で、コンポーネントを追加する cube.gameObject.AddComponent Rigidbody (); コンポーネントを参照して、メソッドを使う cube.transform.GetComponent Rigidbody ().AddForce(new Vector3(x,y,z));
  • タッチ入力による移動方向の指示
    タッチ入力について、touch[0]はファーストタッチを指す(2本目のタッチは1になる) 指先でこすった場合、触れ初め(Began)から離したとき(Ended)の移動方向を取得して、 縦と横で大きい方を採用して、上下または左右で1だけ移動する (斜め移動は無い) キーボード動作については、斜め入力は横移動を優先する #if UNITY_EDITOR || UNITY_STANDALONE || UNITY_WEBPLAYER horizontal = (int)(Input.GetAxisRaw("Horizontal")); vertical = (int)(Input.GetAxisRaw("Vertical")); if(horizontal!=0) vertical=0; #else if(Input.to...
  • Survival Shooterのおおまかな構造
    unity公式チュートリアル https //www.assetstore.unity3d.com/en/#!/content/21028 オブジェクトは、PlayerとEnemyに別れる Enemyにはカプセルコライダーと球コライダーの2つがある Playerに追加されているscriptは以下の3つ PlayerHealth  Enemyからの攻撃を処理するTakeDamege()がある  currentHealth -= amountで体力を減少させ、ダメージ音を鳴らし、  currentHealthが0以下になると死亡処理 PlayerMovement  入力デバイスの出力を受け取って、Move()で移動  Turning()がマウスカーソルの方向に向かせる  Animating()は、boolのwakingフラグによって、モーションを静止と移...
  • Google Cardboard
    Google Cardboard SDK for Unity https //github.com/googlesamples/cardboard-unity サンプルプログラムのスクリプトAssets\Cardboard\DemoScene\Teleport.csの26行目を 変更前:CardboardGUI.IsGUIVisible = true; 変更後:CardboardGUI.IsGUIVisible = false; のように変更すると動くらしい ↑ PONTAの工房 ~プログラミング・電子工作 より http //blog.studiok-i.net/unity/902.html
  • 敵にぶつかって逆方向に跳ね返させる処理
    public Vector2 backwardForce = new Vector2(-4.5f, 5.4f); m_rigidbody2D.velocity = new Vector2(transform.right.x * backwardForce.x, transform.up.y * backwardForce.y); transform.rightはGameObjectが向いている方向からの右方向への単位ベクトル backwardForce.xがマイナス値なので、右向きなら左向きに速度が発生するので、跳ね返される (同様に、左向きの場合は右向きに速度が発生されるので、やはり逆向きに跳ね返される)
  • protected 変数のスコープについて
    publicは、class内・外どこからでもアクセスできる privateは、class内だけでアクセスできる protectedは、class内および、継承した子供classからもアクセスできる class Base { public int public_val; protected int protected_val; private int private_val; } class Derived Base { public_val = 0; // OK (Base継承した複数のinstanceが共有する) protected_val = 0; // OK (protected は派生クラスからアクセス可能) private_val = 0; // エラー(private は派生クラスからアクセス不能) }
  • @wiki全体から「子どもを全部削除する」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索