Unityはよく探しているものを保管しています

5725 ワード

この文章はcartzhangによって作成され、転載は出典を明記してください.すべての権利は保持されます.記事リンク:http://blog.csdn.net/cartzhang/article/details/50483316 作者:cartzhang
常に必要で、常に探します!自分で記録して!
1.カメラ線
    var ray = Camera.main.ScreenPointToRay(Input.mousePosition);
        //GameObject.CreatePrimitive(PrimitiveType.Cube).transform.position = ray.GetPoint(10.0f);
        transform.LookAt(ray.GetPoint(10.0f));

2.効率の向上
GetComponent(), FindObjectByType() and Instantiate()

なるべく使わないでください.
3.InvokeReaptingの内部実装
    
{         ,         ,WaitForSeconds(time)          { Invoke              }
             
}

4.CoroutineとInvokeReapting
マルチスレッドではありません.しかし、彼は自分のスタック、ローカル変数、命令ポインタを持っていて、他の協同プログラムとグローバル変数などの情報を共有しています.マルチプロセッサの下では、マルチスレッドが同時に実行され、協同プログラムが、ある時点で1つ実行されます.
担当するタスクがある場合は、フレームレートが非常にかかります.協同またはInvokeReaptingを使用することを考慮します.単純なタスクであれば、協同またはInvokeReaptingで使用します.これは効率を向上させません.しかし、あまり堅苦しくする必要はありません.効率を低下させる可能性がありますが、コードはより簡単で実用的です.
協同は時間系列を処理する良い方法である.スレッドでも非同期でもありません.コラボレーションスクリプトがアクティブになっていないか、オブジェクトがアクティブになっている場合は使用できません.共同帰還時間のWaitForSecondsはTime.timeScaleに依存する.
InvokeReapting
/*
void (string methodName, float time, float repeatRate)
{
   - Find the method called "methodName" in the calling assembly and store it.
   - Wait "time" seconds by yielding on WaitForSeconds(time)
   Loop until the user cancels this action
   {
      - Invoke the stored method
      - Wait "repeatTime" seconds by yielding on WaitForSeconds(repeatRate)
   }
   - Remove the method info record from storage.
}
*/

InvokeまたはInvokeReaptingを使用すると、デバッグが困難になります.
5.共通属性
ContextMenu,         。
ContextMenuItemAttribute,         。[ContextMenuItem("Reset", "ResetName")]
HeaderAttribute,         :[Header("   ")]
MultilineAttribute,[MultilineAttribute]
RangeAttribute,      
RequireComponent,    ,[RequireComponent(typeof(Rigidbody))]
[Space(10)],    ,      。
[Tooltip("This year is 2015!")],       ,    。

6.MenuItemショートカットの設定
[MenuItem("Tools/New Option %#a")]
private static void NewMenuOption()
{
}

メニューショートカットの設定は、単独で使用することも、組み合わせて使用することもできます.

% – CTRL on Windows / CMD on OSX

# – Shift

& – Alt

LEFT/RIGHT/UP/DOWN – Arrow keys

F1…F2 – F keys

HOME, END, PGUP, PGDN

AddForceとvelocityの違いは何ですか?
これは力と速度の違いです.一定の力を加えると、オブジェクトは加速度を取得し、加速して前進します.Velocityを直接使用すると、速度が安定し、一定値に移動します.
Unity 常用常找的东西存放_第1张图片
そのボタンが押されていることを確認します.

    public void DetectPressedKeyOrButton()
    {
        foreach (KeyCode kcode in Enum.GetValues(typeof(KeyCode)))
        {
            if (Input.GetKeyDown(kcode))
            {
                Debug.Log("KeyCode down: " + kcode);
            }
        }
    }

問題があれば、いつでも連絡してください.どうもありがとう!