• Unity3D Keynote


    Unity3D Keynote

     1、场景文件扩展名为.unity。

     2、up为Y正方向,down为Y负方向,right为X正方向,left为X负方向,forward为Z正方向,back为z负方向。基础物体本身坐标系。

     3、在Scene工具条中可以设置Scene视图绘制模式:

      

     4、给一个GameObject添加RigidBody,即可实现碰撞效果。

     5、按以下代码添加GUI:

     1 //模型移动速度
     2 var TranslateSpeed = 20;
     3 //模型旋转速度
     4 var RotateSpeed = 1000;
     5 //游戏绘制UI
     6 function OnGUI() 
     7 {
     8     //设置GUI背景颜色
     9     GUI.backgroundColor = Color.red;
    10     
    11     //按钮点击旋转、平移事件
    12     if(GUI.Button(Rect(10,10,70,30), "向左旋转")){
    13         transform.Rotate(Vector3.up *Time.deltaTime * -RotateSpeed);
    14     }
    15     
    16     if(GUI.Button(Rect(90,10,70,30), "向前移动")){
    17         transform.Translate(Vector3.forward * Time.deltaTime *TranslateSpeed);  
    18         
    19     }
    20     
    21     if(GUI.Button(Rect(170,10,70,30), "向右旋转")){
    22         transform.Rotate(Vector3.up *Time.deltaTime * RotateSpeed);
    23     }
    24     
    25     if(GUI.Button(Rect(90,50,70,30), "向后移动")){
    26          transform.Translate(Vector3.forward * Time.deltaTime * -TranslateSpeed);  
    27     }
    28     
    29     if(GUI.Button(Rect(10,50,70,30), "向左移动")){
    30         transform.Translate(Vector3.right * Time.deltaTime *-TranslateSpeed);  
    31     }
    32     
    33     if(GUI.Button(Rect(170,50,70,30), "向右移动")){
    34          transform.Translate(Vector3.right * Time.deltaTime * TranslateSpeed); 
    35     }
    36     
    37     //将旋转平移的系数显示在屏幕中
    38     GUI.Label(Rect(250, 10,200,30),"模型的位置" +transform.position);  
    39      
    40     GUI.Label(Rect(250, 50,200,30),"模型的旋转" +transform.rotation);   
    41 }
    View Code

       6、所有GameObject都可以添加GUI,均显示在屏幕上。不同GameObject添加的GUI如果位置重叠可能会相互覆盖。

     7、Control appearances are dictated with GUIStylesWhen you have a large number of different GUIStyles to work with, you can define them all within a single GUISkin. A GUISkin is no more than a collection of GUIStyles.  

     8、使用GUISkin

     1 // JavaScript
     2 var mySkin : GUISkin;
     3 
     4 function OnGUI () {
     5     // Assign the skin to be the one currently used.
     6     GUI.skin = mySkin;
     7 
     8     // Make a button. This will get the default "button" style from the skin assigned to mySkin.
     9     GUI.Button (Rect (10,10,150,20), "Skinned Button");
    10 }
    View Code

       9、In Fixed Layout, you can put different Controls into Groups. In Automatic Layout, you can put different Controls into AreasHorizontal Groups, and Vertical GroupsNotice that inside an Area, Controls with visible elements like Buttons and Boxes will stretch their width to the full length of the Area.

     10、Unity 2.0 introduced UnityGUI, a GUI Scripting system. You may prefer creating user interface elements with UnityGUI instead of GUI Texts

      GUI Text是老技术,Unity官方建议优先使用UnityGUI。

     11、GUI Layer Component is attached to a Camera to enable rendering of 2D GUIs.

      When a GUI Layer is attached to a Camera it will render all GUI Textures and GUI Texts in the scene. GUI Layers do not affect UnityGUI in any way.

      GUI Layer跟GUI Textures, GUI Texts有关,跟UnityGUI的显示无关,是一项老技术,官方建议淘汰。

       12、Text Meshes can be used for rendering road signs, graffiti etc. The Text Mesh places text in the 3D scene. To make generic 2D text for GUIs, use a GUI Textcomponent instead.

     13、通过对象的 .renderer.material.mainTexture 可以修改GameObject的对象的贴图,以此可以实现动画。

      14、Unity脚本生命周期:

     15、prefab就是一个存储在磁盘上的GameObject。

  • 相关阅读:
    Oracle实用SQL语句
    关键字过滤(转载)
    最简单的Cache
    .net中下载文件的方法(转载)
    为SharePoint 2013配置Office Web Apps
    使用Visual Studio 部署SharePoint时提示“路径中具有非法字符”
    TFS 2012 在IE 10(Windows 8)显示英文的解决方案
    为什么使用TFS 2012进行源代码管理——TFS 2012使用简介(一)
    SharePoint 2010 在WebPart页面上调用扩展方法报方法未定义的解决方案
    TreeView结合UpdatePanel使用时,SelectedNodeStyle不生效的解决方案
  • 原文地址:https://www.cnblogs.com/tekkaman/p/3536995.html
Copyright © 2020-2023  润新知