暑假开发过程及开发收获

开发过程:

       7月20日、7月21日 讨论大作业的项目类型及确定项目类型(unity3d-游戏)和项目以及组长分配各组员的任务。
       7月22日  下载相关软件(unity3d、visual studio)及了解学习自己的任务及为明确接下一个月的学习及开发计划。
       7月23日、7月24日、 7月25日   在siki学院网站通过学习打砖块( http://www.sikiedu.com/course/77)一个简单的小游戏及进入unity开发的奇幻世界(https://pan.baidu.com/s/1R9ay7ERAAq-DXf5r1L_krQ 密码:78c4)来学习unity3d的基础知识。

       7月26日、7月27日  学习c#的入门知识(http://www.sikiedu.com/course/83/tasks

       7月28日 导入项目相关素材及搭建项目环境——家及创建修炼场。

       7月29日、7月30号 学习Unity3d四种光的使用并将其运用给环境添加灯光效果。

       7月31日、8月1日 根据MonoBehaviour解析器的OntriggerEnter、OnTriggerStay、OnTriggerExit函数及Time类来进行修炼场的计时代码编写。

       8月2日、8月3日、8月4日、8月5日 学习GameObject、Component的常用操作以及GUITexture和GUIText,对游戏添加技能图片显示及文字显示。

       8月6日、8月7日 搭建水资源及小桥场景。

       8月8日、8月9日 优化游戏场景。

       8月10日   总结开发过程及开发收获。

开发收获:

       1.unity四种灯光                  

              (1)Directional light(平行光{模拟太阳光})
                                color  光的颜色
                                Intensity  光照强度
                                shadow type  影子类型(None无  Hard硬  soft软-性能耗费比较大一点,看着柔和一些)

              (2) point light (点光源 {模拟灯泡})
                                 range   光照范围(球半径)

              (3) spot light
                                 range  光照长短
                                 spot angle:光照半径,范围   

             (4)Area Light (区域光源)

       2.C#脚本入门学习总结

                脚本运行(脚本必须挂载在Companent上)

               共同变量(会显示在Inspector面板上,我们可以在Inspector面板上修改它的属性,以Inspector面板上的值优先)

               私有变量

               静态变量(在环境中只有一份)

               脚本访问 (可以访问到这个脚本所在的GameObject上的Camera,GUILayer,transform)

               组件之间访问

                       (1)//this.transform//可以访问到这个脚本所在的GameObject上的transform组件

                          使用这个this对象可以访问到父类(MonBehavirou)里面的一些默认的系统组件(这个组件不存在的话,)

                       (2)第二种访问其他组件的方式是通过定义一个public变量,然后在inspector面板中选择或者手动拖放指定

                    (3)第三种访问其他组件的方式

                             Transform t = cube1.GetComponent<Trasnsform>();

                             print(t.position);

                         首先得到组件所在的GameObject,然后通过GetGomponent方法获得这个GameObect上的组件

         3.MonoBehavlour解析

              GameObject Component

                    (1)  事件方法: Awake     Start    Update    FlxedUpdate    OnGUI

                    (2)方法执行顺序:Awake>Start>Update>FixedUpdate>LateUpdate;

                    (3)void Awake()  //苏醒方法,调用脚本的时候执行。

                    (4)  void Start()  //比Awake 晚一点  开始执行,和Awake一样 执行一次

                    (5)void Update()  // 更新   每间隔一段时间调用一次 执行时间不固定,每一次执行的时间不一样。所以每一帧执行的时  间不一样,如果这针时间长,下一针执行的时间就会晚一点

                    (6)void FixedUpdte()  // 固定执行,没针执行。不会延迟下一针的执行时间。

                    (7)void LateUpdate() // 最后运行的。执行时间不固定

         4.Unity中的GameObject和常见操作

                     (1)GameObject

                               属性 (a)tag

                                               if (other.gameObject.tag == "Player")

                                        (b)name

                               方法 

                                         SetActive设置GameObject是否是活跃(它的父节点不是活跃的子节点都是不活跃的)

                      (2)如何查找GameObject

                            (a)直接拖拽赋值(在类中声明public变量,拖拽)

                            (b)查找

                                   例: GameObject.Find(find by name)

                                            GameObject.FindGameObjectsWithTag(find by tag)

                                            GameObject.FindWithTag(find by tag)

        5.Unity中Componet和常用操作

                  (1)//得到游戏物体

                                 GameObject go ;

                          //得到Transform组件

                                Transform tran = gc.transform;

                         //进行物体的移动

                                GetComponet如果不为空返回一个组件类型的GameObject//可以在一个GameObject上调用go.GetComponet  也可以在一个脚本对象(组件对象)上调用 transform.GetComponent,查找的范围都是这个GameObject上挂在的所有脚本(组件)。

         6.OnGUI
                (1)unity中的gui也是按照帧绘制的,OnGUI方法就是按照帧来绘制,按照帧来执行输入检测和按键检测 
                (2)OnGUI在运行的时候才可以看到效果,OnGUI是直接绘制到屏幕上的ui元素,跟3d环境是分离的 
                (3)可以绘制文字,图片, 按钮,单选按钮,滑动条 
                        a)static void Label(Rect position, string text); 绘制文字 
                        b)static bool Button(Rect position, string text); 绘制按钮 
                        c)按钮的按键检测 
                        d)使用Screen.width Screen.height获取屏幕的高度和宽度 

         但GUI并不显示在3D环境中而是时刻显示在屏幕上比如头像显示状态显示,状态栏像是,小地图显示 (GUITexture;GUIText),而坐标的值是按照屏幕的比例来进行计算,坐标原点位于屏幕的左下角向右为x轴,想上为y轴,z轴越大显示在最上方。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值