http://dong2008hong.blog.163.com/blog/static/469688272014031943118/
变量
◆var collider : Collider
描述:被控制器碰到的碰撞器。
◆var controller : CharacterController
描述:碰到该碰撞器的控制器。
◆var gameObject : GameObject
描述:被控制器碰到的游戏物体。
◆var moveDirection : Vector3
描述:从胶囊的中心到接触点的大致方向。
这可以用来找到一个合理的方向将力应用到接触的刚体。
◆var moveLength : float
描述:角色碰到这个碰撞器时已经行走了多远。
注意这可能不同于你传递到CharacterController . Move的。因为所有的移动都是被碰撞器制约的。
◆var normal : Vector3
描述:在世界空间中碰撞表面的法线。
◆var point : Vector3
描述:世界空间中的碰撞点。
◆var rigidbody : Rigidbody
描述:被控制器碰到的刚体。
如果没有接触一个刚体而是一个静态碰撞器时为null。
◆var transform : Transform
描述:被控制器碰到的变换。
Debug
类
一个类,包含用于开发游戏时的调试方法。
类变量
◆static var isDebugBuild : bool
描述:在Build Settings....对话框中,有一个被称为"strip debug symbols"的复选框。
如果它被选择isDebugBuild将为关。在编辑器中isDebugBuild总是返回真,建议在发布游戏的时候移除所有对Debug .Log的调用,这样你就能够容易的发布带有调试输出的测试版,而最终版没有调试输出。
//只有这是调试版时,记录调试信息
if ( Debug .isDebugBuild )
{
Debug . Log ( " Something bad happened ! " ) ;
}
类方法
◆static function Break ( ) : void
描述:暂停编辑器
Debug . Break ( ) ;
◆static function DrawLine ( start:Vector3, end: Vector3, color : Color = Color . white ) : void
描述:从point开始到end用颜色绘制一条线。
这个线将被绘制在编辑器的场景视图中。如果在游戏视图中启用了gizmo绘制,这个线也将被绘制在这里。
//从世界坐标的原点到点( 1 , 0 , 0 )绘制一条红色的线
function Update ( )
{
Debug . DrawLine ( Vector3 . Zero , new Vector3 ( 1 , 0 , 0 ), Color . red ) ;
}
◆static function DrawRay ( start:Vector3, dir : Vector3, color : Color = Color . white ) : void
描述:从start 到start+dir 用颜色绘制一条线。
//绘制一条10米长的线从position,沿着变换的z轴向前。
function Update ( )
{
var forward = transform . TransformDirection ( Vector3 . forward ) * 10 ;
Debug . DrawRay ( transform . position .Vector3 . forward * 10 , Color . green );
}
◆static function Log ( message : object ) : void
描述:记录message到Unity控制台。
Debug . Log ( "Hello");
◆static function Log ( message : object . context : Object ) : void
描述:记录message到Unity控制台。
当你在控制台中选择消息的时候一个到上下文物体的链接将被绘制。这是非常有用的。如果你想知道那个物体发生了错误。
Debug . Log ( "Hello" , gameObject ) ;
◆static function LogError ( message : object ) : void
描述:Debug . Log 的一个变体,用来记录错误信息到控制台。
var memberVariable : Transform ;
if ( memberVariable == null )
Debug . LogError ( " memberVariable must be set to point to a Transform. ") ;
◆static function LogError ( message : object , context : Object ) : void
描述:Debug . Log的一个变体,用来记录错误信息到控制台。
等你在控制台中选择消息的时候一个到上下文物体的链接将被绘制。这是非常有用的, 如果你想知道那个发生了错误。
var memberVariable : Transform ;
if ( memberVariable == null )
Debug . LogError ( "memberVariable must be set to point to a Transform " , this ) ;
◆static function LogWarning ( message : object ) : void
描述:Debug . Log 的一个变体,用来记录警告信息到控制台。
◆static function LogWarning ( message : object , context : Object ) : void
描述:Debug . Log的一个变体,用来记录警告信息到控制台。
当你选择控制台中的一个消息时,一个到上下文物体的连接将被绘制。这是非常有用的, 如果你想知道那个物体发生了错误
Event 类
一个UnityGUI事件。
对应于用户的输入事件(按键,鼠标事件),或者是UnityGUI布局或渲染事件。 对于每个事件OnGUI在脚本中被调用;因此OnGUI在每帧中被潜在调用多次。
Event . current对应于OnGUI调用“当前”事件。
参见:GUIScripting Guide
变量
◆var alt : bool
描述:Alt/Option键被按住?(只读)
在windows下,如果Alt键被按下返回真。在Mac下,如果Option键被按下返回真。
◆var button : int
描述:哪个鼠标键被按下
0表示左键,1表示右键。2表示中键。在EventType . MouseDown ,EventType .MouseUp
事件中使用。
◆var capsLock : bool
描述:Caps Lock 处于打开状态?(只读)
如果Caps Lock为打开返回真
◆var character : char
描述:输入的字符
在EventType . KeyDown 事件中使用,注意EventType . KeyUp事件不包含字符,只包含Event . keyCode .
参见:Event . keyCode.
◆var command : bool
描述:Command/Windows键被按住?(只读)
在Windows下,如果Windows键被按下返回真。在Mac下,如果Command键被按下返回真。
◆var control : bool
描述:Control被按下?(只读)
如果Control被按下返回真。
◆var delta : Vector2
描述:与上次事件相比,鼠标的相对移动。
在EventType .MouseMove,EventType .MouseDrag,,EventType .ScrollWheel时间中使用。
参见:Event . mousePosition
◆var functionKey : bool
描述:当前按下的键是功能键?(只读)
如果当前按下的键是方向键,翻页键,退格键等等时返回真,如果这个键需要特殊处理才能用与文本编辑时,functionKey为打开。
◆var isKey : bool
描述:这个事件是键盘事件?(只读)
◆var isMouse : bool
描述:这个事件是鼠标事件?(只读)
◆var keyCode : KeyCode
描述:用于键盘事件的原始键代码
在EventType . KeyDown 和 EventType . KeyUp事件中使用;返回匹配物理键盘的KeyCode值,使用这个来处理光标,功能键等等。
参见:Event . character 。
◆var mousePosition : Vector2
描述:鼠标位置
在EventType . MouseMove 和EventType . MouseDrag事件中使用。
参见:Event . delta
◆var numeric : bool
描述:当前按下的数字的键?(只读)
使用这个表示区分主&数字键。
◆var shift : bool
描述:Shift被按下?(只读)
如果Shift被按下返回真。
函数
◆function GetTypeForControl ( controlID : int ) : EventType
参数
controlID 查询的控件ID。从GUIUtilty . GetControlID ( ) 获取。参考 EventType获取可能值的列表。
描述:为给定的控件ID获取一个过滤的事件类型。
这个函数可以用来实现鼠标锁和键盘焦点。
◆function Use ( ) : void
描述:使用这个事件。
当已经使用了一个事件时调用这个方法。事件类型将被设置为EventType . Used。使其 他GUI元素忽略它。
类变量
◆static var current : Event
描述:现在被处理的当前事件。
类方法
◆static function KeyboardEvent ( key : string ) : Event
描述:创建一个键盘事件。
这可用于检查某个键是否被按下。可能带有调整器。key字符串是键的名称(与输入管理器中的相同),可以使用任意数量的调整器前缀:& = Alternate , ^ = Controler, % = Command , # = Shift 例如:&f12 = Alternate +F12., " ^[ 0 ] " = Control +keypad0
function OnGUI ( )
{
GUILayout . Lable ( " Press Enter To Start Game ") ;
if ( Event . current . Equals ( Event . KeyboardEvent ("[enter]")))
Application . LoadLevel ( 1 )
if(Event current Equals(Event KeybordEvent("return") ))
Print( "I said enter ,not return – try the keypad" );
}
GL 类
底层图像库。
使用这个类操作激活的变换矩阵,发送与OpengGL立即模式相同的渲染命令并做一些其他的底层图像操作。注意,在所有情况下使用Graphics.DrawMesh比任何使用立即模式绘制更有效。
这个类只限于Unity Pro.
类变量
◆ static var LINES: int
描述:用于Begin的模式:绘制直线。
参见:GL . Begin, GL . End.
◆ static var modelview:Matrix4x4
描述:当前模型视矩阵。
给这个变量赋值等同于OpenGL中的glLoadMatrix(mat);在其他图形API中对应的功能被模拟。
改变模型视矩阵覆盖当前相机的视参数,因此最常用的是使用GL.PushMatrix和GL.PopMatrix来保存和恢复矩阵。
读取这个变量返回当前模型视矩阵。
◆ static var QUADS:int
描述:用于Begin的模式:绘制四边形
参见:GL.Begin,GL.End.
◆ static var TRIANGLE_STRIP:int
描述:用于Begin的模式:绘制三角面
参见:GL.Begin,GL.End.
◆ static var TRIANGLES:int
描述:用于Begin的模式:绘制三角形
参见:GL.Begin,GL.End.
类方法
◆ static function Begin(mode:int) : void
参数
mode 绘制的几何体:可以是TRIANGLES,TRIANGLE_STRIP,QUADS或
LINES.
描述:开始绘制3D几何体
这个对应OpenGL中的glBegin,在其他图形API中相同的功能被模拟 ,在GL.Begin 和 GL.End之间,可以调用GL .Veriex,GL.Color,GL.TexCoord和其他立即模式绘制函数。
在绘制你自己的几何体时,你应该注意它们的裁剪。裁剪规则可能会因为不同的图形 API而不同。在大多数情况下在shader中使用Cull Off命令是安全的。
参见:GL.End.
◆ static function Clear(clearDepth:bool,clearColor:bool,backgroudColor):void
参数
clearDepth 应该清除深度缓存?
clearColor 应该清除颜色缓存?
backgroudColor 颜色被清理为什么,只有当clearColor为true时使用.
描述:清除当前渲染缓存
这将清除屏幕或激活的RenderTexture.
◆ static function Color(c : Color) : void
描述:设置当前顶点颜色
这个对应OpenGL中的glColor4f(c. r,c.g,c.b,c.a):在其他图形中API中相同的功能被模拟,
为了使逐顶点颜色可以在不同的硬件上工作,你需要使用绑定了颜色通道的shader。参考BindChannels文档.
这个函数只在GL.Begin和GL.End函数之间调用.
◆ static function End( ) : void
描述:结束绘制3D几何体
这个对应OpenGL中的glEnd;在其他图形API中相同的功能被模拟.
参见:GL.Begin.
◆ static function LoadIdentity( ) : void
描述:加载单位矩阵到当前模型视矩阵。
这个函数覆盖当前相机的视参数,因此最常用的是使用GL.PushMatrix和GL.PopMatrix
来保存和恢复矩阵。
◆ static function LoadOrtho( ) : void
描述:辅助函数用来设置一个正交透视变换
调用LoadOrtho知道,视锥从 (0,0,-1) 变化到(1,1,100).
◆ static function LoadPixelMatrix( ) : void
描述:设置一个用于像素修正渲染的矩阵。
这个设置模型视和投影矩阵,因此X,Y坐标直接映射到像素。(0,0)位于当前相机
视口的左下角。Z坐标从-1到+100
这个函数覆盖当前相机的参数,因此最常用的是使用GL.PushMatrix和GL.PopMatrix
来保存和恢复矩阵。
◆ static function LoadPixelMatrix(left:float,right:float,bottom:float,top:float):void
描述:设置一个矩阵的像素正确渲染。
这样设置投影矩阵点以便X、Y坐标图直接像素化。(0,0)在底部左侧当前摄像机的视角。Z坐标是从-1到+100。
这个函数覆盖了相机的参数,所以通常你要保存和恢复矩阵就使用GLPushMatrix和GL.PopMatrix。
◆ static function LoadProjectionMatrix (mat : Matrix4x4) : void
描述:加载到当前任意矩阵投影矩阵。
这个函数重写当前摄像机的投影参数,所以通常你要保存和恢复投影矩阵就使用GLPushMatrix和GL.PopMatrix。
◆ static function MultiTexCoord (unit : int, v : Vector3) : void
描述:设置当前纹理坐标(v.x,v.y,v.z)实际的纹理单元。
在OpenGL中glMultiTexCoord为特定的纹理单元如果多纹理是可用的。在其他图形的API中相同的功能进行了仿真。
这个函数只能被称为介于GL.Begin和GL.End功能之间。
◆ static function MultiTexCoord2 (unit : int, x : float, y : float) : void
描述:设置当前纹理坐标(x,y)的为实际纹理单元。
在OpenGL中glMultiTexCoord为特定的纹理单元如果多纹理是可用的。在其他图形的API中相同的功能进行了仿真。
这个函数只能被称为介于GL.Begin和GL.End功能之间。
◆ static function MultiTexCoord3(unit : int, x : float, y : float, z : float) :void
描述:设置当前纹理坐标(x,y,z)的为实际纹理单元。
在OpenGL中glMultiTexCoord为特定的纹理单元如果多纹理是可用的。在其他图形的API中相同的功能进行了仿真。
这个函数只能被称为介于GL.Begin和GL.End功能之间。
◆ static function MultMatrix (mat : Matrix4x4) : void
描述:复制当前的点矩阵和其中的一个说明。
相当于glMultMatrix(垫在)OpenGL; 在其他图形API的相应功能是相仿的。
换点矩阵覆盖当前相机视图的参数,所以通常你要保存和恢复投影矩阵就使用GLPushMatrix和GL.PopMatrix。
◆ static function PopMatrix () : void
描述:恢复了投影和点矩阵的矩阵堆栈的顶部。
换投影矩阵点覆盖当前相机视图的参数。这些矩阵可以用GLPushMatrix和GL.PopMatrix来保存和恢复。
参见:PushMatrix函数。
◆ static function PushMatrix () : void
描述:节约双方投影矩阵对点和矩阵堆栈。
换投影矩阵点覆盖当前相机视图的参数。这些矩阵可以用GLPushMatrix和
GL.PopMatrix来保存和恢复。
参见:PopMatrix函数
◆ static function SetRevertBackfacing(revertBackFaces : bool) : void
描述:选择是否翻转隐面剔除,是(真)或者不是(假)
◆ static function TextCoord (v : Vector3) : void
描述:为所有纹理单元设置当前纹理坐标(v.x, v.y, v.z)
这个对应于OpengGL中用于所有纹理单元的glMultiTexCoord或者多纹理不可用时的glTexCoord,在其他的图形API中仿真了相同的功能。
这个函数只在GL.Begin和GL.End函数之间调用。
◆ static function TexCoord2(x : float, y : float) : void
描述:为所有纹理单元设置当前纹理坐标(x, y)
这个对应于OpengGL中用于所有纹理单元的glMultiTexCoord或者多纹理不可用时的glTexCoord,在其他的图形API中仿真了相同的功能。
这个函数只在GL.Begin和GL.End函数之间调用。
◆ static function TexCoord3(x : float, y : float, z : float) : void
描述:为所有纹理单元设置当前纹理坐标(x, y, z)
这个对应于OpengGL中用于所有纹理单元的glMultiTexCoord或者多纹理不可用时的glTexCoord,在其他的图形API中仿真了相同的功能。
这个函数只在GL.Begin和GL.End函数之间调用。
◆ static function Vertex(v : Vector3) : void
描述:提交顶点
这个对应OpenGL中的glVertex3f(v.x, v.y.v.z); 在其他图形API中相同的功能被模拟。
这个函数只在GL.Begin和GL.End函数之间调用。
◆ static function Vertex3(x : float, y : float, z : float) : void
描述:提交顶点
这个对应OpenGL中的glVertex3f(x, y, z); 在其他图形API中相同的功能被模拟。
这个函数只在GL.Begin和GL.End函数之间调用。
◆ static function Viewport(pixelRect : Rect) : void
描述:设置渲染视口
所有的渲染都被限制在pixelRect之内。
GUIContent
类
GUI元素的内容
这个与GUIStyle紧密相关,GUIContent定义渲染什么而GUIStyle定义如何渲染。
参见:GUIStyle
变量
◆ var image : Texture
描述:包含图标的图像
◆ var text : string
描述:包含的文本
◆ var tooltip : string
描述:这个元素的提示
与这个内容相关的提示。读取GUItooltip来获取当前用户指向的GUI元素的提示。
构造函数
◆ static function GUIContent() : GUIContent
描述:用于所有形状和尺寸的GUIContent的构造函数
构建一个空的GUIContent。
◆ static function GUIContent(text : string) : GUIContent
描述:构建一个只包含文本的GUIContent物体。
使用GUI是,你不需要为一个简单的文本字符创建GUIContents – 这两行代码功能等效:
function OnGUI()
{
GUI.Button(Rect(0, 0, 100, 20), “Click Me”);
GUI.Button(Rect(0, 30, 100, 20), GUIContent(“Click Me”));
}
◆ static function GUIContent(image : Texture) : GUIContent
描述:构建一个只包含图片的GUIContent对象。
var icon : Texture;
function OnGUI()
{
GUI.Button(Rect(0, 0, 100, 20), GUIContent(icon));
}
◆ static function GUIContent(text : string, image : Texture) : GUIContent
描述:构建一个包含text和图片的GUIContent对象
var icon : Texture;
function OnGUI()
{
GUI.Button(Rect(0, 0, 100, 20), GUIContent(“Click me”, icon));
}
◆ static function GUIContent(text : string, tooltip : string) : GUIContent
描述:构建一个包含text的GUIContent,当用户鼠标悬停在它上面的时候,全局GUI.tooltip被设置为tooltip。
function OnGUI()
{
GUI.Button(Rect(0, 0, 100, 20), GUIContent(“Click me”, “This is a tooltip.”));
//如果用户指向这个按钮,全局提示被设置
GUI.Label(Rect(0, 40, 100, 40), GUI.tooltip);
}
◆ static function GUIContent(image : Texture, tooltip : string) : GUIContent
描述:构建一个包含图片的GUIContent,当用户鼠标悬停在它上面的时候,全局GUItooltip被设置为tooltip。
◆ static function GUIContent(text : string, image : Texture, tooltip : string) : GUIContent
描述:构建一个包含text和image的GUIContent,,当用户鼠标悬停在它上面的时候,全局GUItooltip被设置为tooltip。
◆ static function GUIContent(src : GUIContent) : GUIContent
描述:从另一个GUIContent构建一个GUIContent。
GUILayoutOption 类
内部类用来传递布局选项给GUILayout函数,不要直接使用这些,而是在GUILayout类的布局函数中构造它们。
参见:
GUILayout.Width, GUILayout.Height, GUILayout.MinWidth, GUILayout.MaxWidth, GUILayout.MinHeight, GUILayout.MaxHeight, GUILayout.ExpandWidth, GUILayout.ExpandHeight
GUILayoutUtility 类
用于实现并扩展GUILayout类的工具函数。
使用这个类制作你自己的GUI布局代码