Unity3D腳本中文系列教程(九)

Unity3D腳本中文系列教程(八)c#

name 對象名稱
hideFlags 該物體是否被隱藏,保存在場景中或被用戶修改
繼承的函數 
GetInstanceID 返回該物體的實例id
繼承的類函數 
operator bool 這個物體存在嗎?
Instantiate 克隆original物體並返回這個克隆。
Destroy 移除一個遊戲物體、組件或資源。
DestroyImmediate 當即銷燬物體obj。強烈建議使用Destroy代理。
FindObjectsOfType 返回全部類型爲type的激活物體。
FindObjectsOfType 返回第一個類型爲type的激活物體。
operator== 比較兩個物體是否相同。
operator!= 比較兩個物體是否不一樣。
DontDestroyOnLoad 加載新場景時確保目標物體不被自動銷燬。
Component
類,繼承自Object。音頻數據的容器。全部附加到遊戲物體上的對象的基類。dom


變量
◆ var animation : Animation編輯器


描述:附加到這個GameObject的Animation。(沒有則爲null)ide


◆ var audio : AudioSource函數


描述:附加到這個GameObject的AudioSource。(沒有則爲null)
audio.Play();工具


◆ var camera : Cameraoop


描述:附加到這個GameObject的Camera。(沒有則爲null)性能


◆ var collider : Collider字體


描述:附加到這個GameObject的Collider。(沒有則爲null)
collider.material.dynamicFriction =1;動畫


◆ var constantForce : ConstantForce


描述:附加到這個GameObject上的ConstantForce(沒有則爲null)。


◆ var gameObject : GameObject 


描述:這個組件所附加的遊戲物體。組件老是附着在遊戲物體上。
print(gameObject.name);


◆ var guiText : GUIText


描述:附加到這個GameObject上的GUIText(沒有則爲null)。
guiText.text = "Hello World";


◆ var guiTexture : GUITexture
描述:附加到這個GameObject上的GUITexture(只讀)(沒有則爲null)。


◆ var hingeJoint : HingeJoint


描述:附加到這個GameObject的HingeJoint(沒有則爲null)。
hingeJoint.motor.targetVelocity = 5;


◆ var hingeJoint : HingeJoint
描述:附加到這個GameObject的HingeJoint(沒有則爲null)。


◆ var light : Light


描述:附加到這個GameObject的Light(沒有則爲null)。


◆ var networkView : NetworkView


描述:附加到這個GameObject的NetworkView(只讀)(沒有則爲null)。
networkView.RPC("MyFunction", RPCMode.All, "someValue");


◆ var particleEmitter : ParticleEmitter


描述:附加到這個GameObject的ParticleEmitter(沒有則爲null)。
particleEmitter.emit = true;


◆ var renderer : Renderer


描述:附加到這個GameObject的Renderer。(沒有則爲null)


◆ var rigidbodyr : Rigidbody


描述:附加到這個GameObject的rigidbody。(沒有則爲null)


◆ var tag : string
描述:標籤能夠用來標識一個遊戲物體。標籤在使用前必須在標籤管理器中定義。


◆ var transform : Transform
描述:附加到這個GameObject的Transform。(沒有則爲null)
transform.Translate(1, 1, 1);


函數


◆ function BroadcastMessage (methodName : string, parameter : object = null, options :SendMessageOptions = SendMessageOptions.RequireReceiver) : void


描述:在這個遊戲物體或其任何子物體上的每一個MonoBehaviour上調用methodName方法。經過使用零參數,結婚搜方法能夠選擇忽略parameter。若是options被設置爲SednMessageOptions.RequireReceiver,那麼若是這個消息沒有被任何組件接受時,將打印一個錯誤信息。


//使用值5調用ApplyDamage
BroadcastMessage ("ApplyDamage", 5.0);
//每一個附加到該遊戲物體及其全部子物體上含有ApplyDamage函數的腳本都會被調用
function ApplyDamage (damage : float)

{
    print (damage);
}


◆ function CompareTag (tag : string) : bool 


描述:這個遊戲物體有被標籤爲tag嗎?
//當即銷燬觸發器,銷燬任何進入到觸發器的碰撞器,這些碰撞器被標記爲Player


function OnTriggerEnter (other : Collider)

{
    if (other.CompareTag ("Player"))

     {
       Destroy (other.gameObject);
     }
}


◆ function GetComponent (type : Type) : Component


描述:若是遊戲物體上附加了這個組件,則返回一個Type類,若是沒有則返回null。


//等同於Transform curTransform = transform
var curTransform : Transform = GetComponent (Transform);
//你能夠像訪問其餘組件同樣的訪問腳本組件
function Start ()

{
    var someScript : ExampleScript = GetComponent (ExampleScript);
    someScript.DoSomething ();
}
for c#
public class Something : MonoBehaviour

{
    void Start()

    {
      ExampleScript someScript = GetComponent<ExampleScript>();
      someScript.DoSomething ();
     }
}


◆ function GetComponent (type : string) : Component


描述:若是遊戲物體上附加了這個組件,則返回一個Type類,若是沒有則返回null。處於性能緣由,最好用Type調用GetComponent而不是字符串。不過有時你可能沒法獲得Type。例如當是同從Javascript中訪問c#時。這時你能夠簡單的經過名稱而不是類型訪問該組件。
//爲了訪問附加在同一物體上的腳本中的公有變量與函數
script = GetComponent(ScriptName);
script.DoSomething ();


◆ function GetComponentInChildren (t : Type) : Component


描述:返回type類型組件,這個組件位於GameObject或任何它的子物體上,使用深度優先搜索。只有激活的最賤會被返回。
var script : ScriptName = GetComponentInChildren(ScriptName);
script.DoSomething ();
for c#
ScriptName script = GetComponentInChildren<ScriptName>();
script.DoSomething ();


◆ function GetComponents (type : type) : Component[]


描述:返回GameObject上全部type類型組件。
//關閉該遊戲物體鉸鏈上的全部彈簧
var hingeJoints = GetComponents (HingeJoint);
for (var joint : HingeJoint in hingeJoints)

{
   joint.useSpring = false;
}
for c#
HingeJoint[] hingeJoints = GetComponents<HingeJoint>();
for (HingeJoint joint in hingeJoints)

{
   joint.useSpring = false;
}


◆ function GetComponentsInChildren (t:Type,includeInactive:bool=false) : Component[]


描述:返回GameObject上或其子物體上全部type類型組件。
//關閉該遊戲物體極其子物體上的鉸鏈上的全部彈簧
var hingeJoints = GetComponentsInChildren (HingeJoint);
for (var joint : HingeJoint in hingeJoints)

{
    joint.useSpring = false;
}
for c#
HingeJoint[] hingeJoints = GetComponentsInChildren<HingeJoint>();
for (HingeJoint joint in hingeJoints)

{
    joint.useSpring = false;
}


繼承的成員
繼承的變量 
name 對象名稱
hideFlags 該物體是否被隱藏,保存在場景中或被用戶修改
繼承的函數 
GetInstanceID 返回該物體的實例id
繼承的類函數 
operator bool 這個物體存在嗎?
Instantiate 克隆original物體並返回這個克隆。
Destroy 移除一個遊戲物體、組件或資源。
DestroyImmediate 當即銷燬物體obj。強烈建議使用Destroy代理。
FindObjectsOfType 返回全部類型爲type的激活物體。
FindObjectsOfType 返回第一個類型爲type的激活物體。
operator== 比較兩個物體是否相同。
operator!= 比較兩個物體是否不一樣。
DontDestroyOnLoad 加載新場景時確保目標物體不被自動銷燬。
Behaviour
類,繼承自Component。Behaviours是能夠被啓用或禁用的組件。參見MonoBehaviour和Component。
變量


◆ var enabled : bool


描述:啓用Behaviours被更新,禁用Behaviours不被更新。這將在behaviour的堅實面板中顯示爲一個小的複選框GetComponent(PlayerScript)enabled = false;
繼承的成員
繼承的變量 
transform 附加到該GameObject的Transform(沒有返回null)
rigidbody 附加到該GameObject的Rigidbody(沒有返回null)
camera 附加到該GameObject的Camera(沒有返回null)
light 附加到該GameObject的Light(沒有返回null)
animation 附加到該GameObject的Animation(沒有返回null)
constantForce 附加到該GameObject的ConstantForce(沒有返回null)
renderer 附加到該GameObject的Renderer(沒有返回null)
audio 附加到該GameObject的Audio(沒有返回null)
guiText 附加到該GameObject的GuiText(沒有返回null)
networkView 附加到該GameObject的NetworkView(沒有返回null)
guiTexture 附加到該GameObject的GuiTexture(沒有返回null)
collider 附加到該GameObject的Collider(沒有返回null)
hingeJoint 附加到該GameObject的HingeJoint(沒有返回null)
particleEmitter 附加到該GameObject的ParticleEmitter(沒有返回null)
gameObject 該組件所附加的遊戲物體。組件老是會附加到遊戲物體上
tag 該遊戲物體的標籤。
name 對象的名稱
hideFlags 該物體是否被隱藏,保存在場景中或被用戶修改
繼承的函數 
GetComponent 若是遊戲附體上附加了一個,則返回type類組件,沒有則返回null
GetComponentInChildren 若是該組件位於GameObject或任何其子物體上,返回type類組件,使用深度優先搜索
GetComponentsInChildren 若是這些組件位於GameObject或任何它的子物體上,返回type類組件。
GetComponents 返回GameObject上全部type類的組件
CompareTag 該遊戲物體被是否被標籤爲tag?
SendMessageUpwards 在該遊戲物體的每一個MonoBehaviour和該行爲的父對象上調用名爲methodName的方法
SendMessage 在該遊戲物體的每一個MonoBehaviour上調用methodName方法
BroadcastMessage 在這個遊戲物體或其任何子物體上的每一個MonoBehaviour上調用methodName
GetInstanceID 返回該物體的實例id
繼承的類函數 
operator bool 這個物體存在嗎?
Instantiate 克隆original物體並返回這個克隆。
Destroy 移除一個遊戲物體、組件或資源。
DestroyImmediate 當即銷燬物體obj。強烈建議使用Destroy代理。
FindObjectsOfType 返回全部類型爲type的激活物體。
FindObjectOfType 返回第一個類型爲type的激活物體。
operator== 比較兩個物體是否相同。
operator!= 比較兩個物體是否不一樣。
DontDestroyOnLoad 加載新場景時確保目標物體不被自動銷燬。
Animation
類,繼承自Behaviour,可枚舉。動畫組件用來播放動畫。你能夠給動畫組件賦予一個動畫剪輯,並從腳本中控制它的播放。Unity中的動畫系統是基於權值的,而且支持動畫混合、附加動畫、動畫合成、層和全部動畫播放方面的徹底控制。
爲了播放動畫可以使用Animation.Play。
爲了在動畫間漸變可以使用Animation.CrossFade。
爲了改變更畫的層可以使用AnimationState.layer。
爲了改變更畫的包裹模式(循環、單次、往返)可以使用Animation.wrapMode或
AnimationState.wrapMode。
AnimationState能夠被用來調整播放速度和直接控制混合語合成。
Animation也支持枚舉,所以你能夠像這樣循環全部的AnimationStates。
//使該角色上全部動畫半速播放
for (var state : AnimationState in animation)

 {
    state.speed = 0.5;
 }


變量


◆ var animateOnlyIfVisible : bool


描述:啓用後,Unity會在認爲動畫不可見的時候中止播放。該選項能夠節省資源。


◆ var animatePhysics : bool


描述:啓用後,動畫獎在物理循環中執行。這隻在與運動學剛體結合時有用。一個動畫平臺能夠應用速度和摩擦到其頂部的剛體。爲了利用這個,animatePhysics必須被啓用,而且動畫物體必須爲一個運動學剛體。


◆ var clip : AnimationClip


描述:默認動畫。
animation.Play(animation.clip);
//等待動畫完成
yield WaitForSeconds (animation.clip.length);


◆ var isPlaying : bool


描述:是否正在播放動畫?
//在動畫沒有播放時播放這個動畫。
function OnMouseEnter()

{
     if (!animation.isPlaying)animation.Play();
}


◆ var playAutomatically : bool


描述:默認的動畫剪輯(Animation.clip)是否在開始時自動播放?
animation.playAutomatically = true;


◆ var this[name : string] : AnimationState


描述:返回名爲name的動畫狀態。
//獲取walk動畫狀態並設置它的速度
animation["walk"].speed = 2.0;
//獲取run動畫狀態並設置它的速度
animation["run"].weight = 0.5;


◆ var wrapMode : WrapMode


描述:超出剪輯播放時間以外時如何處理?
WrapMode.Default:從剪輯中獲取迴繞模式(默認爲Once)。
WrapMode.Once:當時間到達末尾時中止動畫。
WrapMode.Loop:當時間到達末尾時從頭開始播放。
WrapMode.PingPong:在開始和結束之間來回播放。
WrapMode.ClampForever:播放動畫。當它到達末端時,它將保持在最後一幀。
//讓動畫循環
animation.wrapMode = WrapMode.Loop;


函數


◆ function AddClip (clip : AnimationClip, newName : string) : void


描述:添加一個clip到Animation,它的名稱爲newName。
var walkClip : AnimationClip;
animation.AddClip(walkClip, "walk");


◆ function AddClip (clip : AnimationClip, newName : string, firstFrame : int, lastFrame : int, addLoopFrame : bool = false) : void


描述:添加clip只在firstFrame和lastFrame之間播放。這個新的剪輯也將被使用名稱newName並添加到Animation。addLoopFrame:是否要插入額外的幀一邊匹配第一幀?若是製做循環動畫就要打開這個。若是存在一個同名的剪輯,老的將被覆蓋。
//分割默認的剪輯爲shoot,walk和idle動畫
animation.AddClip(animation.clip, "shoot", 0, 10);
//walk和idle將在末尾添加額外的循環真
animation.AddClip(animation.clip, "walk", 11, 20, true);
animation.AddClip(animation.clip, "idle", 21, 30, true);


◆ function Blend (animation : string, targetWeight : float = 1.0F, fadeLength : float = 0.3F) : void


描述:在接下來的time內混合名爲animation的動畫獲得targetWeight。其餘動畫播放不會受影響。


◆ function CrossFade (animation : string, fadeLength : float = 0.3F, mode : PlayMode = PlayMode.StopSameLayer) : void


描述:淡入名爲animation的動畫,並在time內淡出其餘動畫。若是模式是PlayMode.StopSameLayer,在同一層上淡入的動畫將會被淡出。若是模式是PlayMode.StopAll,當動畫被淡入後,全部動畫都會被淡出。若是動畫被設置爲循環,在播放後將中止並回放。
//淡入walk循環並淡出同一層上全部其餘動畫。
//0.2秒內完成淡入
animation.CrossFade("Walk", 0.2);
//當玩家想要移動的時候,使角色動畫在Run和Idle動畫之間漸變。
function Update ()

{
    if (Mathf.Abs(Input.GetAxis("Vertical")) > 0.1)

      animation.CrossFade("Run");
    else
      animation.CrossFade("Idle");
}


◆ function CrossFadeQueued (animation : string, fadeLength : float = 0.3F, queue : QueueMode = QueueMode.CompleteOthers, mode : PlayMode = PlayMode.StopSameLayer) : AnimationState


描述:在前一動畫播放完後漸變到下一個動畫。例如你能夠播放一個特定的動畫序列。動畫在播放前複製自身,所以你能夠再相同的動畫間漸變,這可用來重疊兩個相
同的動畫。例如你可能有一個揮劍的動畫,玩家快速揮動了2次,你能夠回放這個動畫並從開始播放它,但會跳幀。
下面是可用的queue modes:
下面是可用的queue modes:
若是queue爲QueueMode.CompleteOthers這個動畫紙在全部其餘動畫都中止播放時纔開始。
若是queue爲QueueMode.PlayNow這個動畫將以一個複製的動畫狀態當即開始播放。
動畫播放完成後它將自動清除它本身。在它播放完成後使用賦值的動畫將致使一個異常。
function Update ()

{
   if (Input.GetButtonDown("Fire1"))
      animation.CrossFadeQueued("shoot", 0.3, QueueMode.PlayNow);
}


◆ function GetClipCount () : int


描述:獲取當前animation的剪輯數。


◆ function IsPlaying (name : string) : bool


描述:名爲name的動畫是否在播放?
function OnMouseEnter()

{
     if (!animation.IsPlaying("mouseOverEffect"))
        animation.Play("mouseOverEffect");
}


◆ function Play (mode : PlayMode = PlayMode.StopSameLayer) : bool


function Play (animation : string, mode : PlayMode = PlayMode.StopSameLayer) : bool
描述:當即播放該動畫,沒有任何混合。Play()將會開始播放名爲animation的動畫,或者播放默認動畫,且會在沒有混合的狀況下忽然播放。若是模式爲PlayMode.StopSameLayer全部在同一層上的動畫都將被中止。若是模式是PlayMode.StepAll全部當前播放的動畫都將被中止。若是動畫正在播放,其餘動畫將被中止,但該動畫會回到開始位置。若是動畫沒有被設置爲循環,播放完後將中止並回放。若是動畫沒法被播放(沒有該剪輯或沒有默認動畫),Play()會返回假。
//播放默認動畫
animation.Play ();
//播放walk動畫,中止該層內全部其餘動畫
animation.Play ("walk");
//播放walk動畫,中止其餘全部動畫
animation.Play ("walk", PlayMode.StopAll);


◆ function PlayQueued (animation : string, queue : QueueMode = QueueMode.CompleteOthers, mode : PlayMode = PlayMode.StopSameLayer) : AnimationState


描述:在前一動畫播放完後漸變一個動畫。例如你能夠播放一個特定的動畫序列。動畫狀態在播放前複製自身,所以你能夠再相同的動畫之間漸變。這可用來重疊兩個相同的動畫。例如你可能有一個揮劍的動畫。玩家快速的砍了兩次,你能夠回放這個動畫,而且從開始播放,只不過會跳幀。
下面是可用的queue modes:
若是queue爲QueueMode.CompleteOthers這個動畫紙在全部其餘動畫都中止播放時纔開始。
若是queue爲QueueMode.PlayNow這個動畫將以一個複製的動畫狀態當即開始播放。
動畫播放完成後它將自動清除它本身。在它播放完成後使用賦值的動畫將致使一個異常。
function Update ()

{
    if (Input.GetButtonDown("Fire1"))
       animation.PlayQueued("shoot", QueueMode.PlayNow);
}


◆ function RemoveClip (clip : AnimationClip) : void


描述:從動畫列表中移除剪輯。這將移除該剪輯及全部棘突它的動畫狀態。


◆ function RemoveClip (clipName : string) : void


描述:從動畫列表中移除剪輯。這將移除指定名稱的動畫狀態。


◆ function Rewind (name : string) : void


描述:回退名爲name的動畫。
//回退walk動畫到開始
animation.Rewind("walk");


◆ function Rewind () : void
描述:回退全部動畫。
//回退全部動畫到開始
animation.Rewind();


◆ function Sample () : void


描述:在當前狀態採樣動畫。若是想要設置一些動畫狀態,並採樣一次,能夠用這個。
//設置一些狀態
animation["MyClip"].time = 2.0;
animation["MyClip"].enabled = true;
//採樣動畫
animation.Sample();
animation["MyClip"].enabled = false;


◆ function Stop () : void


描述:中止全部由這個Animation開始的動畫。中止一個動畫並回退到開始。
//終止全部動畫
animation.Stop();


◆ function Stop (name : string) : void


描述:中止名爲name的動畫。中止一個動畫並回退到開始。
//中止walk動畫
animation.Stop ("walk");


◆ function SyncLayer (layer : int) : void


描述:同步全部在該層的動畫的播放速度。當混合兩個循環動畫時,它們一般有不一樣長度。例如一個walk循環要比run更長。當混合它們時,你須要確保行走於跑循環中腳的位置相同。也就是說,動畫的播放速度必須被調整一邊動畫同步。SyncLayer將給予它們的混合權值計算在該層上全部動畫播放的平均詭異化速度,而後對該層上的動畫使用播放速度。
//放置walk和run動畫在同一層,並同步它們的速度
animation["walk"].layer = 1;
animation["run"].layer = 1;
animation.SyncLayer(1);
繼承的成員
繼承的變量 
enable 啓用則Behaviour被更新,不啓用則不更新
transform 附加到該GameObject的Transform(沒有返回null)
rigidbody 附加到該GameObject的Rigidbody(沒有返回null)
camera 附加到該GameObject的Camera(沒有返回null)
light 附加到該GameObject的Light(沒有返回null)
animation 附加到該GameObject的Animation(沒有返回null)
constantForce 附加到該GameObject的ConstantForce(沒有返回null)
renderer 附加到該GameObject的Renderer(沒有返回null)
audio 附加到該GameObject的Audio(沒有返回null)
guiText 附加到該GameObject的GuiText(沒有返回null)
networkView 附加到該GameObject的NetworkView(沒有返回null)
guiTexture 附加到該GameObject的GuiTexture(沒有返回null)
collider 附加到該GameObject的Collider(沒有返回null)
hingeJoint 附加到該GameObject的HingeJoint(沒有返回null)
particleEmitter 附加到該GameObject的ParticleEmitter(沒有返回null)
gameObject 該組件所附加的遊戲物體。組件老是會附加到遊戲物體上
tag 該遊戲物體的標籤。
name 對象的名稱
hideFlags 該物體是否被隱藏,保存在場景中或被用戶修改
繼承的函數 
GetComponent 若是遊戲附體上附加了一個,則返回type類組件,沒有則返回null
GetComponentInChildren 若是該組件位於GameObject或任何其子物體上,返回type類組件,使用深度優先搜索
GetComponentsInChildren 若是這些組件位於GameObject或任何它的子物體上,返回type類組件。
GetComponents 返回GameObject上全部type類的組件
CompareTag 該遊戲物體被是否被標籤爲tag?
SendMessageUpwards 在該遊戲物體的每一個MonoBehaviour和該行爲的父對象上調用名爲methodName的方法
SendMessage 在該遊戲物體的每一個MonoBehaviour上調用methodName方法
BroadcastMessage 在這個遊戲物體或其任何子物體上的每一個MonoBehaviour上調用methodName
GetInstanceID 返回該物體的實例id
繼承的類函數 
operator bool 這個物體存在嗎?
Instantiate 克隆original物體並返回這個克隆。
Destroy 移除一個遊戲物體、組件或資源。
DestroyImmediate 當即銷燬物體obj。強烈建議使用Destroy代理。
FindObjectsOfType 返回全部類型爲type的激活物體。
FindObjectOfType 返回第一個類型爲type的激活物體。
operator== 比較兩個物體是否相同。
operator!= 比較兩個物體是否不一樣。
DontDestroyOnLoad 加載新場景時確保目標物體不被自動銷燬。
AudioListener
類,繼承自Behaviour。標示在三維空間中的偵聽器。這個類可實現麥克風同樣的設備。它記錄周圍的聲音,並經過玩家的揚聲器播放。在場景中只能有一個偵聽器。參見組件參考中AudioSource,AudioListener,component。


變量


◆ var velocityUpdateMode : AudioVelocityUpdateMode


描述:可以讓你設置Audio Listener是否應該用固定或動態方式更新。若是你遇到了多普勒效應問題,請確保設置這個更新於Audio Listener的移動在同一循環內。若是它被附加到一個剛體,默認設置將自動設置該偵聽器在固定的更新週期內更新,動態的以其餘方式。
listener.velocityUpdateMode = AudioVelocityUpdateMode.Fixed;


類變量


◆ static var pause : bool


描述:音頻的暫停狀態。若是設置爲真,該偵聽器將不會產生聲音。相似於設置音量爲0.0
AudioListener.pause = true;


◆ static var volume : float


描述:控制遊戲的音量。
AudioListener.volume = 0.5;
繼承的成員
繼承的變量 
enable 啓用則Behaviour被更新,不啓用則不更新
transform 附加到該GameObject的Transform(沒有返回null)
rigidbody 附加到該GameObject的Rigidbody(沒有返回null)
camera 附加到該GameObject的Camera(沒有返回null)
light 附加到該GameObject的Light(沒有返回null)
animation 附加到該GameObject的Animation(沒有返回null)
constantForce 附加到該GameObject的ConstantForce(沒有返回null)
renderer 附加到該GameObject的Renderer(沒有返回null)
audio 附加到該GameObject的Audio(沒有返回null)
guiText 附加到該GameObject的GuiText(沒有返回null)
networkView 附加到該GameObject的NetworkView(沒有返回null)
guiTexture 附加到該GameObject的GuiTexture(沒有返回null)
collider 附加到該GameObject的Collider(沒有返回null)
hingeJoint 附加到該GameObject的HingeJoint(沒有返回null)
particleEmitter 附加到該GameObject的ParticleEmitter(沒有返回null)
gameObject 該組件所附加的遊戲物體。組件老是會附加到遊戲物體上
tag 該遊戲物體的標籤。
name 對象的名稱
hideFlags 該物體是否被隱藏,保存在場景中或被用戶修改
繼承的函數 
GetComponent 若是遊戲附體上附加了一個,則返回type類組件,沒有則返回null
GetComponentInChildren 若是該組件位於GameObject或任何其子物體上,返回type類組件,使用深度優先搜索
GetComponentsInChildren 若是這些組件位於GameObject或任何它的子物體上,返回type類組件。
GetComponents 返回GameObject上全部type類的組件
CompareTag 該遊戲物體被是否被標籤爲tag?
SendMessageUpwards 在該遊戲物體的每一個MonoBehaviour和該行爲的父對象上調用名爲methodName的方法
SendMessage 在該遊戲物體的每一個MonoBehaviour上調用methodName方法
BroadcastMessage 在這個遊戲物體或其任何子物體上的每一個MonoBehaviour上調用methodName
GetInstanceID 返回該物體的實例id
繼承的類函數 
operator bool 這個物體存在嗎?
Instantiate 克隆original物體並返回這個克隆。
Destroy 移除一個遊戲物體、組件或資源。
DestroyImmediate 當即銷燬物體obj。強烈建議使用Destroy代理。
FindObjectsOfType 返回全部類型爲type的激活物體。
FindObjectOfType 返回第一個類型爲type的激活物體。
operator== 比較兩個物體是否相同。
operator!= 比較兩個物體是否不一樣。
DontDestroyOnLoad 加載新場景時確保目標物體不被自動銷燬。
AudioSource
類,繼承自Behaviour。標示三位空間中的音頻源。AudioSource被附加到GameObject以便在三位環境中播放聲音。單聲道聲音以3D播放。爲了播放三位聲音,也須要一個AudioListener。音頻偵聽器一般附加在使用的相機上。立體聲老是不以距離爲基礎衰減。你可使用Play,Pause,Stop來播放音頻剪輯。也能夠再播放時使用volume屬性調整音量,或者使用time來定位。多個聲音可使用PlayOneShot在一個AudioSource上播放。可使用PlayClipAtPoint在三位空間中的一個靜態位置播放剪輯。參見AudioListener,AudioClip,AudioSource component。


變量


◆ var clip : AudioClip
描述:默認播放的AudioClip。
var otherClip: AudioClip;
// 播放默認聲音
audio.Play();
// 等待音頻結束
yield WaitForSeconds (audio.clip.length);
// 指定其餘音頻並播放
audio.clip = otherClip;
audio.Play();


◆ var ignoreListenerVolume : bool


描述:這使音頻源不考慮音頻偵聽器的音量。播放背景音樂時可啓用這個。當播放背景音樂時,你但願音樂不受普通音量設置的影響,可使用該變量。
audio.ignoreListenerVolume = true;


◆ var isPlaying : bool


描述:clip如今生意否在播放?
//當音頻組件中止播放時,播放otherClip
var otherClip : AudioClip;

function Update ()

{
    if (!audio.isPlaying)

    {
        audio.clip = otherClip;
        audio.Play();
    }
}


◆ var loop : bool


描述:音頻剪輯是否循環?若是你在一個正在播放的AudioSource上禁用循環,聲音將在當前循環結束後中止。
// 中止聲音循環
audio.loop = false;


◆ var maxVolume : float


描述:音頻剪輯播放時的最大音量。不論你距離多近,聲音不會比這個值更大。
audio.maxVolume = 0.5;
參見:minVolume, rolloffFactor.


◆ var minVolume : float


描述:音頻剪輯播放時的最小音量。不論你距離多遠,聲音不會比這個還小。
audio.minVolume = 0.5;
參見:maxVolume, rolloffFactor.


◆ var pitch : float


描述:音頻源的音調。
audio.pitch = 1.0;


◆ var playOnAwake : bool


描述:若是設置爲真,音頻源江在awake時自動播放。
if(! audio.playOnAwake)

{
    audio.Play();// 若是沒有設置爲Awake時播放,那麼播放該剪輯
}


◆ var rolloffFactor : float


描述:設置聲音衰減的速度。該值越大,偵聽器必須更接近才能聽到聲音。
audio.rolloffFactor = 0.1;
參見:minVolume, maxVolume.


◆ var time : float


描述:以秒計算的播放位置。使用這個來讀當前播放時間或尋找新的播放時間。


◆ var velocityUpdateMode : AudioVelocityUpdateMode


描述:Audio Source是否應該以固定或動態的方式更新?若是你遇到了這個源的多普勒效應問題,請確保設置這個更新與Audio Source的移動
在同一循環內。若是它被附加到一個剛體,默認設置將自動設置該源在固定的更新週期內更新,以動態的以及其餘方式。


◆ var volume : float


描述:音頻源的音量。
audio.volume = 0.2;


函數


◆ function Pause () : void


描述:暫停播放clip。
audio.Pause();
參見:Play,Stop函數


◆ function Play () : void


描述:播放clip。
audio.Play();
參見:Pause,Stop函數


◆ function PlayOneShot (clip : AudioClip, volumeScale : float = 1.0F) : void


描述:播放一個AudioClip。
//與其餘物體碰撞時播放impact音頻剪輯
var impact : AudioClip;
function OnCollisionEnter ()

{
    audio.PlayOneShot(impact);
}


◆ function Stop () : void


描述:中止播放clip。
audio.Stop();
參見:Play,Pause函數


類方法


◆ static function PlayClipAtPoint (clip : AudioClip, position : Vector3, volume : float = 1.0F) : void


描述:在制定位置上播放剪輯。播放完成後自動消除音頻源。正在播放的聲音的音頻源被返回。
//在制定位置播放clip
var clip : AudioClip;
AudioSource.PlayClipAtPoint(clip, Vector3 (5, 1, 2));
若是想進一步控制播放,可使用下面代碼。


var theClip : AudioClip;
PlayAudioClip(theClip, transform.position, 1);
function PlayAudioClip (clip : AudioClip, position : Vector3, volume : float)
{
      var go = new GameObject ("One shot audio");
      go.transform.position = position;
      var source : AudioSource = go.AddComponent (AudioSource);
      source.clip = clip;
      source.volume = volume;
      source.Play ();
      Destroy (go, clip.length);
      return source;
}

 


繼承的成員
繼承的變量 


enable 啓用則Behaviour被更新,不啓用則不更新
transform 附加到該GameObject的Transform(沒有返回null)
rigidbody 附加到該GameObject的Rigidbody(沒有返回null)
camera 附加到該GameObject的Camera(沒有返回null)
light 附加到該GameObject的Light(沒有返回null)
animation 附加到該GameObject的Animation(沒有返回null)
constantForce 附加到該GameObject的ConstantForce(沒有返回null)
renderer 附加到該GameObject的Renderer(沒有返回null)
audio 附加到該GameObject的Audio(沒有返回null)
guiText 附加到該GameObject的GuiText(沒有返回null)
networkView 附加到該GameObject的NetworkView(沒有返回null)
guiTexture 附加到該GameObject的GuiTexture(沒有返回null)
collider 附加到該GameObject的Collider(沒有返回null)
hingeJoint 附加到該GameObject的HingeJoint(沒有返回null)
particleEmitter 附加到該GameObject的ParticleEmitter(沒有返回null)
gameObject 該組件所附加的遊戲物體。組件老是會附加到遊戲物體上
tag 該遊戲物體的標籤。
name 對象的名稱
hideFlags 該物體是否被隱藏,保存在場景中或被用戶修改
繼承的函數 
GetComponent 若是遊戲附體上附加了一個,則返回type類組件,沒有則返回null
GetComponentInChildren 若是該組件位於GameObject或任何其子物體上,返回type類組件,使用深度優先搜索
GetComponentsInChildren 若是這些組件位於GameObject或任何它的子物體上,返回type類組件。
GetComponents 返回GameObject上全部type類的組件
CompareTag 該遊戲物體被是否被標籤爲tag?
SendMessageUpwards 在該遊戲物體的每一個MonoBehaviour和該行爲的父對象上調用名爲methodName的方法
SendMessage 在該遊戲物體的每一個MonoBehaviour上調用methodName方法
BroadcastMessage 在這個遊戲物體或其任何子物體上的每一個MonoBehaviour上調用methodName
GetInstanceID 返回該物體的實例id
繼承的類函數 
operator bool 這個物體存在嗎?
Instantiate 克隆original物體並返回這個克隆。
Destroy 移除一個遊戲物體、組件或資源。
DestroyImmediate 當即銷燬物體obj。強烈建議使用Destroy代理。
FindObjectsOfType 返回全部類型爲type的激活物體。
FindObjectOfType 返回第一個類型爲type的激活物體。
operator== 比較兩個物體是否相同。
operator!= 比較兩個物體是否不一樣。
DontDestroyOnLoad 加載新場景時確保目標物體不被自動銷燬。


Camera


類,繼承自Behaviour。Camera是一個設備,玩家經過它來看世界。屏幕空間點用像素定義。屏幕左下爲(0,0);右上是(pixelWidth.pixelHeight)。z的位置是以世界單位衡量到相機的距離。視口空間點是歸一化的而且是相對於相機的。相機左下爲(0,0);右上是(1,1)。z的位置是以世界單位衡量到相機的距離。世界空間點是以全局座標定義的(例如Transform.position)。
參見:camera component


變量


◆ var aspect : float


描述:長寬比(寬度除以高度)。默認的長寬比是從屏幕的長寬比計算獲得的,即便相機沒有被渲染到全屏。若是修改了相機的aspect比,這個值將保持到你調用camera.ResetAspect();這將充值猖狂比爲屏幕的長寬比。
if(camera.aspect > 1.0)
print ("Screen is more wide than tall!");
else
print ("Screen is more tall than wide!");
參見:camera component,Screen類。


◆ var backgroundColor : Color


描述:屏幕將被清理未這個顏色。只能在clearFlags被設置爲CameraClearFlags.SolidColor(或設置爲CameraClearFlags.Skybox但沒有設置天空盒)時使用。
//來回變化背景色
var color1 = Color.red;
var color2 = Color.blue;
var duration = 3.0;
//設置清楚標記爲該顏色
camera.clearFlags = CameraClearFlags.SolidColor;
function Update ()

{
     var t = Mathf.PingPong (Time.time, duration) / duration;
     camera.backgroundColor = Color.Lerp (color1, color2, t);
}


參見:camera component,Camera.clearFlags屬性。


◆ var cameraToWorldMatrix : Matrix4x4


描述:從相機空間到世界空間的變換矩陣(只讀)。使用次變量計算相機空間中的一個點在世界座標中的什麼位置。注意相機空間與openGL的約定相同。相機前味z軸負方向。這不一樣於Unity的約定,向前微z軸爭相。
//以distance單位,沿着相機所看到的方向,在屏幕中繪製一個黃色的球,
var distance = -1.0;
function OnDrawGizmosSelected ()

{
    var m = camera.cameraToWorldMatrix;
    var p = m.MultiplyPoint (Vector3(0,0,distance));
    Gizmos.color = Color.yellow;
    Gizmos.DrawSphere (p, 0.2);
}


◆ var clearFlags : CameraClearFlags


描述:相機如何清楚背景。能夠是CameraClearFlags.Skybox,CameraClearFlags.SolidColor,CameraClearFlags.Depth,CameraClearFlags.Nothing。
//用背景色清除(忽略天空盒)
camera.clearFlags = CameraClearFlags.SolidColor;


◆ var cullingMask : int


描述:這個用來選擇性的渲染部分場景。若是GameObject的layerMask與相機的cullingMask進行AND操做後爲0,則這個遊戲物體對於該相機是不可見的。參考Layers獲取更多信息。
//只渲染在第一層中的物體(默認層)
camera.cullingMask = 1 << 0;
參見:camera component


◆ var depth : float


描述:相機在渲染順序上的深度。具備較低深度的相機將在較高深度的相機以前渲染。若是有多個相機並其中一些不須要覆蓋整個屏幕,可使用這個來控制相機的繪製次序。
//設置該相機在主相機以後渲染
camera.depth = Camera.main.depth + 1;
參見:camera component,Camera.rect屬性


◆ var farClipPlane : float


描述:遠裁剪面的距離。
camera.farClipPlane = 100.0;
參見:camera component


◆ var fieldOfView : float


描述:相機的視野,以度爲黨委。這是垂直視野。水平FOV取決於視口的寬高比。當相機是正交時,fieldOfView被忽略。(參考orthographic)。
//設置附加到同一個遊戲物體上的相機的FOV位60
camera.fieldOfView = 60;
//設置主相機的視野爲80
Camera.main.fieldOfView = 80;
參見:camera component


◆ var nearClipPlane : float


描述:近才見面的距離。
camera.nearClipPlane = 0.1;
參見:camera component


◆ var orthographic : bool


描述:相機是正交的(true)仍是透視的(false)?若是orthographic爲true,相機的視野由orthographicSize定義。若是orthographic爲false,相機的視野由fieldOfView定義。
//設置相機爲正交
camera.orthographic = true;
//設置主相機爲正交
Camera.main.orthographic = true;
參見:camera component


◆ var orthographicSize : float


描述:在正交模式下相機的一半尺寸。這個爲視體垂直大小的一半。相機不是正交時,水平視大小拒絕於視口的長寬比。
//設置相機的正交尺寸爲5
camera.orthographic = true;
camera.orthographicSize = 5;
//設置主相機的正交尺寸爲5
Camera.main.orthographic = true;
Camera.main.orthographicSize = 5;
參見:camera component


◆ var pixelHeight : float


描述:相機的像素高度(只讀)。
print ("Camera is " + camera.pixelHeight + " pixels high");


◆ var pixelRect : Rect


描述:相機被渲染到屏幕像素座標中的位置。
function Update ()

{
    var r = camera.pixelRect;
    print ("Camera displays from " + r.xMin + " to " + r.xMax + " pixel");
}


◆ var pixelWidth : float


描述。相機的像素寬度(只讀)。
print ("Camera is " + camera.pixelWidth + " pixels wide");


◆ var projectionMatrix : Matrix4x4


描述:設置自動以的投影矩陣。若是你改變該矩陣,相機的渲染將再也不給予它的fieldOfView更新,直到調用到ResetProjectionMatrix。只有當真正須要一個非標準的投影時,才使用自定義投影。該屬性被Unity的水渲染使用來設置一個oblique.projection矩陣。使用自定義投影須要瞭解變換和投影矩陣。
//讓相機以有節奏的方式晃動
var originalProjection : Matrix4x4;
originalProjection = camera.projectionMatrix;
function Update ()

{
    var p = originalProjection;
    //改變原始矩陣的某些值
    p.m01 += Mathf.Sin (Time.time * 1.2) * 0.1;
    p.m10 += Mathf.Sin (Time.time * 1.5) * 0.1;
    camera.projectionMatrix = p;
}


//設置一個變異中心的投影,這裏透視的消失點沒有必要在屏幕的中心。left/right/top/bottom定義近裁剪面大小。例如相機的近裁剪面偏移中心的距離,改變該值就能夠看到相機視圖的變化。
@script ExecuteInEditMode
var left = -0.2;
var right = 0.2;
var top = 0.2;
var bottom = -0.2;
function LateUpdate ()

{
    var cam = camera;
    var m = PerspectiveOffCenter(left, right, bottom, top,cam.nearClipPlane, cam.farClipPlane );
    cam.projectionMatrix = m;
}
static function PerspectiveOffCenter(left : float, right : float,bottom : float, top : float,near : float, far : float ) : Matrix4x4{
var x = (2.0 * near) / (right - left);
var y = (2.0 * near) / (top - bottom);
var a = (right + left) / (right - left);
var b = (top + bottom) / (top - bottom);
var c = -(far + near) / (far - near);
var d = -(2.0 * far * near) / (far - near);
var e = -1.0;
var m : Matrix4x4;
m[0,0] = x; m[0,1] = 0; m[0,2] = a;
m[0,3] = 0;
m[1,0] = 0; m[1,1] = y; m[1,2] = b; m[1,3] = 0;
m[2,0] = 0;
m[2,1] = 0; m[2,2] = c; m[2,3] = d;
m[3,0] = 0; m[3,1] = 0; m[3,2] = e;
m[3,3] = 0;
return m;
}

 


◆ var rect : Rect


描述:相機被渲染到屏幕歸一化座標中的位置。rect的範圍從0(左/下)到1(右/上)。
//每次按下空格鍵時改變視口寬度
function Update ()

{
     if (Input.GetButtonDown ("Jump"))

     {
         //隨機選擇邊緣
          var margin = Random.Range (0.0, 0.3);
         //設置矩形
         camera.rect = Rect (margin, 0, 1 - margin * 2, 1);
      }
}


◆ var targetTexture : RenderTexture


描述:目標渲染紋理(只限UnityPro)。


◆ var velocity : Vector3


描述:獲取世界空間中相機的速度(只讀)這是相機在上一幀以秒爲單位的運動。
function Update ()

{
     print ("Camera moving at " + camera.velocity.magnitude + " m/s");
}


◆ var worldToCameraMatrix : Matrix4x4


描述:從世界到相機空間的變換矩陣。用這個計算物體的相機空間位置或提供自定義相機的位置。這個位置不是基於變化的。注意相機空間與openGL的約定相同:相機的前面爲Z軸負方向。這不一樣於Unity的約定,向前微Z軸爭相。若是你改變該矩陣,相機的渲染將再也不基於它的Transform更新。知道調用ResetWorldToCameraMatrix。
//從offset位置偏移相機的渲染
var offset = Vector3 (0,1,0);
function LateUpdate ()

{
     //構建一個沿着Z軸偏移與鏡像的矩陣。由於相機已經爲Z軸鏡像,並用於其他部分
     var camoffset = Vector3 (-offset.x, -offset.y, offset.z);
     var m = Matrix4x4.TRS (camoffset, Quaternion.identity, Vector3 (1,1,-1));
     //重載worldToCameraMatrix爲偏移鏡像變換矩陣
     camera.worldToCameraMatrix = m * transform.worldToLocalMatrix;
}


函數


◆ function CopyFrom (other : Camera) : void


描述:使該相機的設置於其餘相機相同。這將從er相機拷貝到全部相機變量(視野,清楚標記,裁剪蒙版)。這也將使相機的變換與other相機相同,相機的層也與other相機相同。在作自定義渲染效果的時候,這能夠用來設置一臺具備與其餘相機設置徹底相同的相機。例如在使用RenderWithShader時。


◆ function Render : void


描述:手動渲染相機。這個將使用相機的清除標記,目標紋理和全部其餘設置。相機將發送OnPreCull,OnPreRender和OnPostRender到任何附加的腳本上,並渲染任何最後的圖像濾鏡。這個用來精確的控制渲染次序,爲了使用這個特性,建立一個相機並禁用它。而後在它上面調用Render。參見:RenderWithShader。


◆ function RenderToCubemap (cubemap : Cubemap, faceMask : int = 63) : bool


描述:從這個相機渲染到一個立方貼圖。這個是很是有用的。能夠再編輯器中烘焙場景的靜態立方貼圖。參考下面的想到實例。相機的位置,清除標誌和裁剪面距離將被使用來渲染到立方貼圖表面。faceMask是一個比特域,標示哪一個立方貼圖面應該被渲染。每一個位對應於一個面。比特數是CubemapFace枚舉的整型值。默認的全部六個立方貼圖面都將被渲染(默認值63最低的6位是打開的)。若是渲染失敗,這個函數將返回false。某些顯卡不支持這個函數。參見:Cubemap assets,Reflective shaders。
//從給定的點渲染場景到以靜態立方貼圖放置這個腳本到工程的Editor文件夾中,而後用一個Reflectiveshader來使用立方貼圖
class RenderCubemapWizard extends ScriptableWizard

{
     var renderFromPosition : Transform;
     var cubemap : Cubemap;
     function OnWizardUpdate ()

     {
          helpString = "Select transform to render from and cubemap to render into";
          isValid = (renderFromPosition != null) && (cubemap != null);
     }
     function OnWizardCreate ()

     {
          //爲渲染建立臨時相機
          var go = new GameObject( "CubemapCamera", Camera );//放置到物體上
          go.transform.position = renderFromPosition.position;
          go.transform.rotation = Quaternion.identity;
          //渲染到立方貼圖
          go.camera.RenderToCubemap( cubemap );
         //銷燬臨時相機
         DestroyImmediate( go );
      }
     @MenuItem("GameObject/Render into Cubemap")
     static function RenderCubemap ()

    {
        ScriptableWizard.DisplayWizard(
        "Render cubemap", RenderCubemapWizard, "Render!");
     }
}


◆ function RenderToCubemap (cubemap : RenderTexture, faceMask : int = 63) : bool


描述:從這個相機渲染到一個立方貼圖。用於實時反射到立方貼圖渲染紋理,也是很是耗時的,尤爲是全部六個立方貼圖面在每一幀中都被渲染。相機的位置,清楚標誌和裁剪面距離將被使用來渲染到立方貼圖表面。faceMask是一
個比特域,標示哪一個立方貼圖面應該被渲染。每一個位對應於一個面。比特數是CubemapFace枚舉的整型值。默認的全部六個正方貼圖面都將被渲染(默認值63的最低6位是打開的)。若是渲染失敗該函數會返回false。某些顯卡不支持該函數。參加:RenderTexture.isCubemap, Reflective shaders。
//將該腳本附加到使用了Reflective shader的物體上實時反射立方貼圖
script ExecuteInEditMode
var cubemapSize = 128;
var oneFacePerFrame = false;
private var cam : Camera;
private var rtex : RenderTexture;
function Start ()

{
     //啓動時渲染全部6個面
     UpdateCubemap( 63 );
}
function LateUpdate ()

 {
     if (oneFacePerFrame)

     {
          var faceToRender = Time.frameCount % 6;
          var faceMask = 1 << faceToRender;
          UpdateCubemap (faceMask);
      }
     else 

     {
         UpdateCubemap (63); //全部6個面
      }
}


function UpdateCubemap (faceMask : int)

{
     if (!cam)

     {
        var go = new GameObject ("CubemapCamera", Camera);
        go.hideFlags = HideFlags.HideAndDontSave;
        go.transform.position = transform.position;
        go.transform.rotation = Quaternion.identity;
        cam = go.camera;
        cam.farClipPlane = 100; //不渲染較遠的部分
        cam.enabled = false;
      }
     if (!rtex)

     {
        rtex = new RenderTexture (cubemapSize, cubemapSize, 16);
        rtex.isPowerOfTwo = true;
        rtex.isCubemap = true;
        rtex.hideFlags = HideFlags.HideAndDontSave;
        renderer.sharedMaterial.SetTexture ("_Cube", rtex);
      }
      cam.transform.position = transform.position;
      cam.RenderToCubemap (rtex, faceMask);
}
function OnDisable ()

{
    DestroyImmediate (cam);
    DestroyImmediate (rtex);
}


◆ function RenderWithShader (shader : Shader, replacementTag : string) : void


描述:用shader替換渲染相機。參考Rendering with Replaced Shaders獲取細節。此函數將渲染相機。這將使相機的的清除標記、目標紋理和全部其餘設置。這個相機不會發送OnPreCull, OnPreRender 或者 OnPostRender到已附加的腳本上。
圖像濾鏡
也不會被渲染。該函數能夠用於特效,例如渲染整個場景屏幕空間緩衝,熱效果等。爲了使用該特性,建立一個相機並禁用它。而後在它上面調用RenderWithShader。參見:Rendering with Replaced Shaders, SetReplacementShader, Render。


◆ function ResetAspect () : void


描述:返回猖狂比爲屏幕的長寬比。調用這個結束aspect的效果。
camera.ResetAspect();


◆ function ResetProjectionMatrix () : void


描述:讓投影反映正常的相機參數。調用這個結束projectionMatrix的效果。
camera.ResetProjectionMatrix();


◆ function ResetReplacementShader () : void


描述:從相機上移除shader替換。調用這個結束SetReplacementShader效果。


◆ function ResetWorldToCameraMatrix () : void


描述:在場景中讓渲染位置反映相機位置。調用這個結束worldToCameraMatrix的效果。
camera.ResetWorldToCameraMatrix();


◆ function ScreenPointToRay (position : Vector3) : Ray


描述:返回從相機出發,穿過屏幕點的一個射線。產生的射線是在世界空間中,從相機的近裁剪面開始並穿過屏幕position(x,y)像素座標(position.z被忽略)。屏幕空間以像素定義。屏幕的左下爲(0,0);右上是(pixelWidth,pixelHeight)。
//在屏幕視圖中繪製一條線,穿過一個到屏幕左下角200像素的點
function Update ()

{
      var ray = camera.ScreenPointToRay (Vector3(200,200,0));
      Debug.DrawRay (ray.origin, ray.direction * 10, Color.yellow);
}


◆ function ScreenToViewportPoint (position : Vector3) : Vector3


描述:從屏幕空間到視口空間變換position。屏幕空間以像素定義。屏幕的左下爲(0,0);右上是(pixelWidth,pixelHeight)。z的位置是以世界單位衡量的刀相機的距離。視口空間是歸一化的並相對於相機的。相機的左下爲(0,0);右上是(1,1)。z的位置是以世界單位衡量的刀相機的距離。


◆ function ScreenToWorldPoint (position : Vector3) : Vector3


描述:從屏幕空間到世界空間變換position。屏幕空間以像素定義。屏幕的左下爲(0,0);右上是(pixelWidth,pixelHeight)。z的位置是以世界單位衡量的到相機的距離。
//在所選相機的近裁剪面上繪製一個黃色的球,在離左下100像素的位置
function OnDrawGizmosSelected ()

{
     var p = camera.ScreenToWorldPoint (Vector3 (100,100,camera.nearClipPlane));
     Gizmos.color = Color.yellow;
     Gizmos.DrawSphere (p, 0.1);
}


◆ function SetReplacementShader (shader : Shader, replacementTag : string) : void


描述:使相機用shader替換來渲染。參考Rendering with Replaced Shaders。調用該函數後,相機將使用替換的shader來渲染它的視圖。調用ResetReplacementShader來重置爲普通渲染。參見:Rendering with Replaced Shaders, ResetReplacementShader, RenderWithShader。


◆ function ViewportPointToRay (position : Vector3) : Ray


描述:返回從相機出發穿過視點的一個射線。產生的射線是在世界空間中,從相機的近裁剪面開始並穿過視口position(x,y)座標(position.z被忽略)。視口座標是歸一化的並相對於相機的。相機的左下爲(0,0);右上爲(1,1)。
//打印相機直接看到的物體名稱
function Update ()

{
     //獲取穿過屏幕中心的射線
     var ray = camera.ViewportPointToRay (Vector3(0.5,0.5,0));
     //投射
     var hit : RaycastHit;
     if (Physics.Raycast (ray, hit))

     {
          print ("I'm looking at " + hit.transform.name);
      }
      else

      {
           print ("I'm looking at nothing!");
      }
}


◆ function ViewportToScreenPoint (position : Vector3) : Vector3


描述:從視口空間到屏幕空間變換position。視口空間是歸一化的並相對於相機的。相機的左下爲(0,0);右上爲(1,1)。z的位置是以世界單位衡量的刀相機的距離。屏幕空間以像素定義。屏幕左下爲(0,0;右上爲(pixelWidth,pixelHeight)。z的位置是以世界單位衡量的到相機的距離。


◆ function ViewportToWorldPoint (position : Vector3) : Vector3


描述:從視口空間到屏幕空間變換position。視口空間是歸一化的並相對於相機的。相機的左下爲(0,0);右上爲(1,1)。z的位置是以世界單位衡量的刀相機的距離。屏幕空間以像素定義。屏幕左下爲(0,0;右上爲(pixelWidth,pixelHeight)。z的位置是以世界單位衡量的到相機的距離。
//在進裁剪面的右上角,針對在場景視圖中選中的相機繪製一個黃色的球
function OnDrawGizmosSelected ()

{
     var p = camera.ViewportToWorldPoint (Vector3 (1,1, camera.nearClipPlane));
     Gizmos.color = Color.yellow;
     Gizmos.DrawSphere (p, 0.1);
}


◆ function WorldToScreenPoint (position : Vector3) : Vector3


描述:從世界空間到屏幕空間變換position。屏幕空間以像素定義。屏幕的左下爲(0,0;右上爲(pixelWidth,pixelHeight)。z的位置是
以世界單位衡量的刀相機的距離。
var target : Transform;
function Update ()

{
    var screenPos = camera.WorldToScreenPoint (target.position);
    print ("target is " + screenPos.x + " pixels from the left");
}


◆ function WorldToViewportPoint (position : Vector3) : Vector3


描述:從世界空間到視口空間變換position。視口空間是歸一化的並相對於相機的。相機的左下爲(0,0);右上爲(1,1)。z的位置是以世界單位衡量的到相機的距離。
//找出target在屏幕的左邊仍是右邊
var target : Transform;
function Update ()

{
      var viewPos = camera.WorldToViewportPoint (target.position);
      //視口座標範圍從0到1
      if( viewPos.x > 0.5 )
          print ("target is on the right side!");
      else
          print ("target is on the left side!");
}


消息傳遞


◆ function OnPostRender () : void


描述:OnPostRender在相機渲染場景以後調用。這個消息被髮送到全部附加在相機上的腳本。


◆ function OnPreCull () : void


描述:OnPreCull在相機開始裁剪場景以前調用。OnPreCull僅僅在這個過程之間被調用。這個消息被髮送到全部附加在相機上的腳本。若是你想改變相機的視覺參數(例如,fieldOfView或者僅僅是變換),就在這裏作這個。場景物體的可見性將給予相機的參數在OnPreCull以後肯定。


◆ function OnPreRender () : void


描述:OnPreCull在相機開始渲染場景以前調用。這個消息被髮送到全部附加在相機上的腳本。注意若是你在這裏改變了相機的視野參數(例如fieldOfView),它們將隻影響下一幀。用OnPreCull代替。


◆ function OnRenderImage (source : RenderTexture, destination : RenderTexture) : void


描述:OnRenderImage在全部渲染完成後被調用,來渲染圖片的後記處理效果(僅限UnityPro)。該函數容許使用給予shader的過濾器來處理最後的圖片。進入的圖片是source渲染紋理。結果是destination渲染紋理。當多個圖片過濾器附加在相機上時,它們序列化的處理圖片,將第一個過濾器的目標做爲下一個過濾器的源。
該消息被髮送到全部附加在相機上的腳本。參見:UnityPro中的image effects。


◆ function OnRenderObject (queueIndex : int) : void


描述:該函數被用來渲染你本身的物體,使用Graphics.DrawMeshNow或者其餘函數。queueIndex指定用來渲染物體的render queue。可使用RenderBeforeQueues屬性來指定你想繪製這個物體到哪一個渲染隊列。


◆ function OnWillRenderObject () : void


描述:若是物體可見,每一個相機都會調用OnWillRenderObject。該函數在裁剪過程當中被調用。可用該函數建立具備依賴性的渲染紋理。只有在被渲染的物體可見時,才更新該渲染紋理。例如,水組件就使用了這個。Camera.current將被設置爲要渲染這個物體的相機。


類變量


◆ static var allCameras : Camera[]


描述:返回場景中全部啓用的相機。
var count = Camera.allCameras.length;
print ("We've got " + count + " cameras");


◆ static var current : Camera


描述:當前用於渲染的相機,只用於低級的渲染控制(只讀)。多數時候你會使用Camera.main。只有在執行下面時間的時候使用該函數:MonoBehaviour.OnRenderImage, MonoBehaviour.OnPreRender, MonoBehaviour.OnPostRender。


◆ static var main : Camera


描述:第一個啓用的被標記爲「MainCamera」的相機(只讀)。若是場景中沒有這個相機返回null。
繼承的成員
繼承的變量 
enable 啓用則Behaviour被更新,不啓用則不更新
transform 附加到該GameObject的Transform(沒有返回null)
rigidbody 附加到該GameObject的Rigidbody(沒有返回null)
camera 附加到該GameObject的Camera(沒有返回null)
light 附加到該GameObject的Light(沒有返回null)
animation 附加到該GameObject的Animation(沒有返回null)
constantForce 附加到該GameObject的ConstantForce(沒有返回null)
renderer 附加到該GameObject的Renderer(沒有返回null)
audio 附加到該GameObject的Audio(沒有返回null)
guiText 附加到該GameObject的GuiText(沒有返回null)
networkView 附加到該GameObject的NetworkView(沒有返回null)
guiTexture 附加到該GameObject的GuiTexture(沒有返回null)
collider 附加到該GameObject的Collider(沒有返回null)
hingeJoint 附加到該GameObject的HingeJoint(沒有返回null)
particleEmitter 附加到該GameObject的ParticleEmitter(沒有返回null)
gameObject 該組件所附加的遊戲物體。組件老是會附加到遊戲物體上
tag 該遊戲物體的標籤。
name 對象的名稱
hideFlags 該物體是否被隱藏,保存在場景中或被用戶修改
繼承的函數 
GetComponent 若是遊戲附體上附加了一個,則返回type類組件,沒有則返回null
GetComponentInChildren 若是該組件位於GameObject或任何其子物體上,返回type類組件,使用深度優先搜索
GetComponentsInChildren 若是這些組件位於GameObject或任何它的子物體上,返回type類組件。
GetComponents 返回GameObject上全部type類的組件
CompareTag 該遊戲物體被是否被標籤爲tag?
SendMessageUpwards 在該遊戲物體的每一個MonoBehaviour和該行爲的父對象上調用名爲methodName的方法
SendMessage 在該遊戲物體的每一個MonoBehaviour上調用methodName方法
BroadcastMessage 在這個遊戲物體或其任何子物體上的每一個MonoBehaviour上調用methodName
GetInstanceID 返回該物體的實例id
繼承的類函數 
operator bool 這個物體存在嗎?
Instantiate 克隆original物體並返回這個克隆。
Destroy 移除一個遊戲物體、組件或資源。
DestroyImmediate 當即銷燬物體obj。強烈建議使用Destroy代理。
FindObjectsOfType 返回全部類型爲type的激活物體。
FindObjectOfType 返回第一個類型爲type的激活物體。
operator== 比較兩個物體是否相同。
operator!= 比較兩個物體是否不一樣。
DontDestroyOnLoad 加載新場景時確保目標物體不被自動銷燬。
ConstantForce
類,繼承自Behaviour。一個不間斷的力。這是一個小的物理工具類,用來將一個連續的力應用到一個物體上。Rigidbody.AddForce只在一幀中應用力道Rigidbody,所以你不得不持續調用這個函數。
領以方面ConstantForce將在每一幀中應用這個力,知道改變這個力或例舉爲一個新的值。參見Rigidbody。


變量


◆ var force : Vector3
描述:這個力在每幀中應用到剛體。
//在世界座標系中向上移動剛體。
constantForce.force = Vector3.up * 10;


◆ var relativeForce : Vector3


描述:力-相對於剛體座標系統-在每幀中應用。
//向前移動剛體。
constantForce.relativeForce = Vector3.forward * 10;


◆ var relativeTorque : Vector3


描述:力矩-相對於剛體座標系統-在每幀中應用。
//繞着其X軸旋轉該物體。
constantForce.relativeTorque = Vector3.right * 2;


◆ var torque : Vector3


描述:這個力矩在每幀中應用到剛體。
//繞着世界的Y軸旋轉該物體。
constantForce.torque = Vector3.up * 2;


繼承的成員
繼承的變量 


enable 啓用則Behaviour被更新,不啓用則不更新
transform 附加到該GameObject的Transform(沒有返回null)
rigidbody 附加到該GameObject的Rigidbody(沒有返回null)
camera 附加到該GameObject的Camera(沒有返回null)
light 附加到該GameObject的Light(沒有返回null)
animation 附加到該GameObject的Animation(沒有返回null)
constantForce 附加到該GameObject的ConstantForce(沒有返回null)
renderer 附加到該GameObject的Renderer(沒有返回null)
audio 附加到該GameObject的Audio(沒有返回null)
guiText 附加到該GameObject的GuiText(沒有返回null)
networkView 附加到該GameObject的NetworkView(沒有返回null)
guiTexture 附加到該GameObject的GuiTexture(沒有返回null)
collider 附加到該GameObject的Collider(沒有返回null)
hingeJoint 附加到該GameObject的HingeJoint(沒有返回null)
particleEmitter 附加到該GameObject的ParticleEmitter(沒有返回null)
gameObject 該組件所附加的遊戲物體。組件老是會附加到遊戲物體上
tag 該遊戲物體的標籤。
name 對象的名稱
hideFlags 該物體是否被隱藏,保存在場景中或被用戶修改
繼承的函數 
GetComponent 若是遊戲附體上附加了一個,則返回type類組件,沒有則返回null
GetComponentInChildren 若是該組件位於GameObject或任何其子物體上,返回type類組件,使用深度優先搜索
GetComponentsInChildren 若是這些組件位於GameObject或任何它的子物體上,返回type類組件。
GetComponents 返回GameObject上全部type類的組件
CompareTag 該遊戲物體被是否被標籤爲tag?
SendMessageUpwards 在該遊戲物體的每一個MonoBehaviour和該行爲的父對象上調用名爲methodName的方法
SendMessage 在該遊戲物體的每一個MonoBehaviour上調用methodName方法
BroadcastMessage 在這個遊戲物體或其任何子物體上的每一個MonoBehaviour上調用methodName
GetInstanceID 返回該物體的實例id
繼承的類函數 
operator bool 這個物體存在嗎?
Instantiate 克隆original物體並返回這個克隆。
Destroy 移除一個遊戲物體、組件或資源。
DestroyImmediate 當即銷燬物體obj。強烈建議使用Destroy代理。
FindObjectsOfType 返回全部類型爲type的激活物體。
FindObjectOfType 返回第一個類型爲type的激活物體。
operator== 比較兩個物體是否相同。
operator!= 比較兩個物體是否不一樣。
DontDestroyOnLoad 加載新場景時確保目標物體不被自動銷燬。
GUIElement
類,繼承自Behaviour。用於顯示在GUI上的圖片和文本字符串的基類。這個類處理全部GUI元素的基本功能。


函數


◆ function GetScreenRect (camera : Camera = null) : Rect


描述:在屏幕座標返回GUIElement的包圍矩陣。若是沒有camera被指定,一個填充整個遊戲窗口的相機將被使用。
function Start ()

{
     var r = guiTexture.GetScreenRect ();
     print ("This gui element is %d pixel wide.",r.width);
     var r = guiText.GetScreenRect();
     print ("This gui element is %d pixel wide.",r.width);
}


◆ function HitTest (screenPosition : Vector3, camera : Camera = null) : bool


描述:屏幕上的點在是否在元素內部?若是screenPositon包含在這個GUIElement內部時返回真,screenPosition以屏幕座標指定,例如由Input.mousePosition屬性返回的值。若是沒有camera被指定,一個填充整個遊戲窗口的相機將被使用。注意,若是位置在元素內部,true將被返回。即便遊戲物體屬於Ignore Raycast層(一般鼠標事件不會發送到Ignore Raycast物體)。參見GUILayer.HitTest。


if (guiTexture.HitTest (Vector3 (360, 450, 0.)))
    print ("This gui texture covers pixel 360, 450");
if (guiText.HitTest (Vector3(360, 450, 0.)))
    print ("This gui texture covers pixel 360, 450");


繼承的成員
繼承的變量 


enable 啓用則Behaviour被更新,不啓用則不更新
transform 附加到該GameObject的Transform(沒有返回null)
rigidbody 附加到該GameObject的Rigidbody(沒有返回null)
camera 附加到該GameObject的Camera(沒有返回null)
light 附加到該GameObject的Light(沒有返回null)
animation 附加到該GameObject的Animation(沒有返回null)
constantForce 附加到該GameObject的ConstantForce(沒有返回null)
renderer 附加到該GameObject的Renderer(沒有返回null)
audio 附加到該GameObject的Audio(沒有返回null)
guiText 附加到該GameObject的GuiText(沒有返回null)
networkView 附加到該GameObject的NetworkView(沒有返回null)
guiTexture 附加到該GameObject的GuiTexture(沒有返回null)
collider 附加到該GameObject的Collider(沒有返回null)
hingeJoint 附加到該GameObject的HingeJoint(沒有返回null)
particleEmitter 附加到該GameObject的ParticleEmitter(沒有返回null)
gameObject 該組件所附加的遊戲物體。組件老是會附加到遊戲物體上
tag 該遊戲物體的標籤。
name 對象的名稱
hideFlags 該物體是否被隱藏,保存在場景中或被用戶修改


繼承的函數 


GetComponent 若是遊戲附體上附加了一個,則返回type類組件,沒有則返回null
GetComponentInChildren 若是該組件位於GameObject或任何其子物體上,返回type類組件,使用深度優先搜索
GetComponentsInChildren 若是這些組件位於GameObject或任何它的子物體上,返回type類組件。
GetComponents 返回GameObject上全部type類的組件
CompareTag 該遊戲物體被是否被標籤爲tag?
SendMessageUpwards 在該遊戲物體的每一個MonoBehaviour和該行爲的父對象上調用名爲methodName的方法
SendMessage 在該遊戲物體的每一個MonoBehaviour上調用methodName方法
BroadcastMessage 在這個遊戲物體或其任何子物體上的每一個MonoBehaviour上調用methodName
GetInstanceID 返回該物體的實例id
繼承的類函數 
operator bool 這個物體存在嗎?
Instantiate 克隆original物體並返回這個克隆。
Destroy 移除一個遊戲物體、組件或資源。
DestroyImmediate 當即銷燬物體obj。強烈建議使用Destroy代理。
FindObjectsOfType 返回全部類型爲type的激活物體。
FindObjectOfType 返回第一個類型爲type的激活物體。
operator== 比較兩個物體是否相同。
operator!= 比較兩個物體是否不一樣。
DontDestroyOnLoad 加載新場景時確保目標物體不被自動銷燬。


GUIText類,繼承自GUIElement。顯示在一個GUI中的文本字符。


變量


◆ var alignment : TextAlignment


描述:文本的對齊。
guiText.alignment = TextAlignment.Left;


◆ var anchor : TextAnchor


描述:文本的錨點。
guiText.anchor = TextAnchor.MiddleCenter;


◆ var font : Font


描述:用於文本的字體。
var font : Font;
guiText.font = font;


◆ var lineSpaceing : float


描述:行間距倍數。這個可使被定義在字體中行間距增長。
//雙倍行間距
guiText.lineSpacing = 2.0;


◆ var material : Material


描述:用於渲染的Material。賦予一個新的材質來改變渲染處理。改變這個材質來改變渲染的字體。若是賦值null到material,將使用內置基本字體。
//改變這個材質顯示綠色文本。
guiText.material.color = Color.green;
參見:font variable


◆ var pixelOffset : Vector2


描述:文本的像素偏移。文本從它的原始位置偏移的量。
guiText.pixelOffset = Vector2 (10, 10);


◆ var tabSize : float


描述:這個標籤增長的寬度。
guiText.tabSize = 4.0;

 

◆ var text : string


描述:須要顯示的文本。


GUITexture類,繼承自GUIElement。用於2D GUI的紋理圖片。


變量


◆ var color : Color


描述:GUI紋理的顏色。
//改變紋理的顏色爲綠色
guiTexture.color = Color.green;


◆ var pixelInset : Rect


描述:pixellnset用來調整尺寸和位置。爲了使GUI紋理老是原始大小,設置transform.localScale爲Vector3.zero。
transform.position = Vector3.zero;
transform.localScale = Vector3.zero;
guiTexture.pixelInset = Rect (50, 50, 100, 100);


◆ var texture : Texture


描述:用於繪製的紋理。
//將someTexture賦值給guiTexture。
var someTexture : Texture2D;
guiTexture.texture = someTexture;


繼承的成員
繼承的變量 
enable 啓用則Behaviour被更新,不啓用則不更新
transform 附加到該GameObject的Transform(沒有返回null)
rigidbody 附加到該GameObject的Rigidbody(沒有返回null)
camera 附加到該GameObject的Camera(沒有返回null)
light 附加到該GameObject的Light(沒有返回null)
animation 附加到該GameObject的Animation(沒有返回null)
constantForce 附加到該GameObject的ConstantForce(沒有返回null)
renderer 附加到該GameObject的Renderer(沒有返回null)
audio 附加到該GameObject的Audio(沒有返回null)
guiText 附加到該GameObject的GuiText(沒有返回null)
networkView 附加到該GameObject的NetworkView(沒有返回null)
guiTexture 附加到該GameObject的GuiTexture(沒有返回null)
collider 附加到該GameObject的Collider(沒有返回null)
hingeJoint 附加到該GameObject的HingeJoint(沒有返回null)
particleEmitter 附加到該GameObject的ParticleEmitter(沒有返回null)
gameObject 該組件所附加的遊戲物體。組件老是會附加到遊戲物體上
tag 該遊戲物體的標籤。
name 對象的名稱
hideFlags 該物體是否被隱藏,保存在場景中或被用戶修改
繼承的函數 
GetComponent 若是遊戲附體上附加了一個,則返回type類組件,沒有則返回null
GetComponentInChildren 若是該組件位於GameObject或任何其子物體上,返回type類組件,使用深度優先搜索
GetComponentsInChildren 若是這些組件位於GameObject或任何它的子物體上,返回type類組件。
GetComponents 返回GameObject上全部type類的組件
CompareTag 該遊戲物體被是否被標籤爲tag?
SendMessageUpwards 在該遊戲物體的每一個MonoBehaviour和該行爲的父對象上調用名爲methodName的方法
SendMessage 在該遊戲物體的每一個MonoBehaviour上調用methodName方法
BroadcastMessage 在這個遊戲物體或其任何子物體上的每一個MonoBehaviour上調用methodName
GetInstanceID 返回該物體的實例id
繼承的類函數 
operator bool 這個物體存在嗎?
Instantiate 克隆original物體並返回這個克隆。
Destroy 移除一個遊戲物體、組件或資源。
DestroyImmediate 當即銷燬物體obj。強烈建議使用Destroy代理。
FindObjectsOfType 返回全部類型爲type的激活物體。
FindObjectOfType 返回第一個類型爲type的激活物體。
operator== 比較兩個物體是否相同。
operator!= 比較兩個物體是否不一樣。
DontDestroyOnLoad 加載新場景時確保目標物體不被自動銷燬。


GUILayer類,繼承自Behaviour。


函數


◆ function HitTest (screenPosition : Vector3) : GUIElement


描述:在屏幕的制定位置獲取GUI元素。返回屏幕上指定點的GUIElement。若是screenPosition在某個GUIElement內部,那個元素將被返回。若是這個位置沒有在任何GUI元素內部,返回null。輸入Ignore Raycast層的GUI元素將被忽略,就像它們不存在。screenPosition在屏幕座標系下,就像由Input.mousePosition屬性返回的值。參見:GUIElement.HitTest,Input.mousePositon。


繼承的成員
繼承的變量 


enable 啓用則Behaviour被更新,不啓用則不更新
transform 附加到該GameObject的Transform(沒有返回null)
rigidbody 附加到該GameObject的Rigidbody(沒有返回null)
camera 附加到該GameObject的Camera(沒有返回null)
light 附加到該GameObject的Light(沒有返回null)
animation 附加到該GameObject的Animation(沒有返回null)
constantForce 附加到該GameObject的ConstantForce(沒有返回null)
renderer 附加到該GameObject的Renderer(沒有返回null)
audio 附加到該GameObject的Audio(沒有返回null)
guiText 附加到該GameObject的GuiText(沒有返回null)
networkView 附加到該GameObject的NetworkView(沒有返回null)
guiTexture 附加到該GameObject的GuiTexture(沒有返回null)
collider 附加到該GameObject的Collider(沒有返回null)
hingeJoint 附加到該GameObject的HingeJoint(沒有返回null)
particleEmitter 附加到該GameObject的ParticleEmitter(沒有返回null)
gameObject 該組件所附加的遊戲物體。組件老是會附加到遊戲物體上
tag 該遊戲物體的標籤。
name 對象的名稱
hideFlags 該物體是否被隱藏,保存在場景中或被用戶修改


繼承的函數 
GetComponent 若是遊戲附體上附加了一個,則返回type類組件,沒有則返回null
GetComponentInChildren 若是該組件位於GameObject或任何其子物體上,返回type類組件,使用深度優先搜索
GetComponentsInChildren 若是這些組件位於GameObject或任何它的子物體上,返回type類組件。
GetComponents 返回GameObject上全部type類的組件
CompareTag 該遊戲物體被是否被標籤爲tag?
SendMessageUpwards 在該遊戲物體的每一個MonoBehaviour和該行爲的父對象上調用名爲methodName的方法
SendMessage 在該遊戲物體的每一個MonoBehaviour上調用methodName方法
BroadcastMessage 在這個遊戲物體或其任何子物體上的每一個MonoBehaviour上調用methodName
GetInstanceID 返回該物體的實例id


繼承的類函數 
operator bool 這個物體存在嗎?
Instantiate 克隆original物體並返回這個克隆。
Destroy 移除一個遊戲物體、組件或資源。
DestroyImmediate 當即銷燬物體obj。強烈建議使用Destroy代理。
FindObjectsOfType 返回全部類型爲type的激活物體。
FindObjectOfType 返回第一個類型爲type的激活物體。
operator== 比較兩個物體是否相同。
operator!= 比較兩個物體是否不一樣。
DontDestroyOnLoad 加載新場景時確保目標物體不被自動銷燬。


LensFlare
類,繼承自Behaviour。用於Lensflare組件的藉口。這容許你在運行時改變鏡頭閃光的亮度和顏色。


變量


◆ var brightness : float


描述:閃光的強度。這個控制發光元素的尺寸和亮度。
參見:Lens flare component, flare assets。


◆ var color : Color


描述:閃光的顏色。這控制閃光元素的顏色(那些啓用了use light color的)。
參見:Lens flare component, flare assets。


◆ var flare : Flare


描述:使用的flare asset。
參見:Lens flare component, flare assets。


繼承的成員
繼承的變量 
enable 啓用則Behaviour被更新,不啓用則不更新
transform 附加到該GameObject的Transform(沒有返回null)
rigidbody 附加到該GameObject的Rigidbody(沒有返回null)
camera 附加到該GameObject的Camera(沒有返回null)
light 附加到該GameObject的Light(沒有返回null)
animation 附加到該GameObject的Animation(沒有返回null)
constantForce 附加到該GameObject的ConstantForce(沒有返回null)
renderer 附加到該GameObject的Renderer(沒有返回null)
audio 附加到該GameObject的Audio(沒有返回null)
guiText 附加到該GameObject的GuiText(沒有返回null)
networkView 附加到該GameObject的NetworkView(沒有返回null)
guiTexture 附加到該GameObject的GuiTexture(沒有返回null)
collider 附加到該GameObject的Collider(沒有返回null)
hingeJoint 附加到該GameObject的HingeJoint(沒有返回null)
particleEmitter 附加到該GameObject的ParticleEmitter(沒有返回null)
gameObject 該組件所附加的遊戲物體。組件老是會附加到遊戲物體上
tag 該遊戲物體的標籤。
name 對象的名稱
hideFlags 該物體是否被隱藏,保存在場景中或被用戶修改


繼承的函數 
GetComponent 若是遊戲附體上附加了一個,則返回type類組件,沒有則返回null
GetComponentInChildren 若是該組件位於GameObject或任何其子物體上,返回type類組件,使用深度優先搜索
GetComponentsInChildren 若是這些組件位於GameObject或任何它的子物體上,返回type類組件。
GetComponents 返回GameObject上全部type類的組件
CompareTag 該遊戲物體被是否被標籤爲tag?
SendMessageUpwards 在該遊戲物體的每一個MonoBehaviour和該行爲的父對象上調用名爲methodName的方法
SendMessage 在該遊戲物體的每一個MonoBehaviour上調用methodName方法
BroadcastMessage 在這個遊戲物體或其任何子物體上的每一個MonoBehaviour上調用methodName
GetInstanceID 返回該物體的實例id

繼承的類函數 operator bool 這個物體存在嗎?Instantiate 克隆original物體並返回這個克隆。Destroy 移除一個遊戲物體、組件或資源。DestroyImmediate 當即銷燬物體obj。強烈建議使用Destroy代理。FindObjectsOfType 返回全部類型爲type的激活物體。FindObjectOfType 返回第一個類型爲type的激活物體。operator== 比較兩個物體是否相同。operator!= 比較兩個物體是否不一樣。DontDestroyOnLoad 加載新場景時確保目標物體不被自動銷燬。

相關文章
相關標籤/搜索