2018-08-18 23:43:49 weixin_42915787 阅读数 13000
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。


今天来分享一个Unity3D的简单的点击按钮跳转界面的实现

  1. 第一步,新建两个场景,名字随意。这里就叫one和two。
    我们是要实现在one场景之中点击一个按钮来跳转到two场景当中
    自然要在one场景之中添加一个Button。同时我们在Assets之中新建一个脚本C# Script
    (这些unity的基本操作不细讲)
    这里写图片描述
  2. 第二步,File–Build setting…
    这里写图片描述
  3. 第三步,编写如下代码(代码还是自己敲好一些)
    这里写图片描述
  4. 第四步,将脚本拖到Canvas之中(也可拖到Main Cameron)
    这样Canvas的Inspector中就有了sss(script)
    这里写图片描述

  5. 关键步骤,先点击Button,然后再Button的Inspector下的Button(script)进行如下操作。第3这里,先选择sss,再选择OnLoginButtonClick就可以啦。
    这里写图片描述

  6. 到此就可以实现在one场景之中点击Button切换到two场景之中了。

2016-11-23 20:11:13 wzjssssssssss 阅读数 437
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

using UnityEngine;
using System.Collections;

public class reflect : MonoBehaviour {

    // 引入一个游戏场景中的对象(包括抽象对象,如Transform.,最后要在图形界面拖入对象)
    public GameObject muban;
    // Use this for initialization
    // 初始化调用
    void Start () {
        Debug.Log(muban.name);
    }

    //float ver = Input.GetAxis("Vertical");
    //transform.position += transform.forward * ver * 300;


    // Update is called once per frame
    // Vector3 三维向量类
    // 固定每一帧都会调用一次.
    void Update () {

        if (Input.GetKey(KeyCode.A)) // Input为一个类,GetKey() 为一个方法,如果用户输出为A ,则执行下列语句。
            transform.position += new Vector3(-1, 0, 0) * Time.deltaTime;  //Time.deltaTime:  假如FPS为60,Time.deltaTime = 1/60;
         // 与学过的东西好像不太一样,对象累加,x+(-1)*Time.deltaTime, y,z不变. 
    }



    // 当进入触发器的范围时触发调用此函数 与之还有 OnTriggerExit,OnTriggerStay 顾名思义  
    void OnTriggerEnter(Collider other)  // other: 触发器所挂载的对象。
    {
        Debug.Log(other.name);
        transform.position = new Vector3(0, 4, 0);
    }
}

触发器和碰撞机:

同属于Collider, 当不勾中 Is Trigger 时为碰撞机, 当触碰到碰撞机时会触发: OnCollisionEnter(Collision other)。
都属于区域触发,不同点就是一个不能穿过会发生碰撞 ,一个能够穿过。

关于 Rigidbody 的 velocity : 意为 速度, 属于Vector3类, Vector3 为一个空间坐标向量类。

Vector3 v3 = new Vector3(1,0,0); 实例化 一个空间向量,它可以进行四则运算。
如: Rigidbody.velocity +=v3; 表示在x轴上的值加上1. v3 * 15 则 为(15,0,0);
它只是表示了一个速度向量,但是实际速度应该为 velocity.magnitude吧? , 15*15+15*15的平方?
在Unity3D 中,距离单位都用米来表示, 这里用秒来表示 那么速度就为 21米/秒?

速度向量和距离向量,正负都表示世界方向, 速度向量中的值代表速度,距离向量中的值代表速度?

如 transform.position += new Vector(1,0,0); 即代表 将游戏对象当前x上的位置加上一个单位;

using UnityEngine;
using System.Collections;

public class ballScript : MonoBehaviour {

    Rigidbody rb;
    // Use this for initialization
    void Start () {
        // 一开始给ball某个方向上的速度
        rb = GetComponent<Rigidbody>();
        rb.velocity = new Vector3(0, 1, -1) * 15 ;
    }

    // Update is called once per frame
    void Update () {
        Vector3 v = rb.velocity;
        if (v.z == 0)
            v.z = 1;
        rb.velocity = v;
    }
    void OnTriggerEnter(Collider other) {
        Vector3 v = rb.velocity;
        if (other.name == "player") {
            if(v.z <= 0) {
                rb.velocity = new Vector3(0, 1, -1) * 15;
                Debug.Log(rb.velocity.x);
                Debug.Log(rb.velocity.y);
                Debug.Log(rb.velocity.z);
                Debug.Log(rb.velocity.magnitude);
            }
            else
            {
                rb.velocity = new Vector3(0, 1, 1) * 15;
            }

        }
    }

    void OnCollisionEnter(Collision other) {
        if (other.collider.tag == "Finish") {
            Destroy(other.gameObject);
        }
    }
}

第一天的学习心得:
一个游戏对象拥有许多的组件,我将其理解为一个特性, 比如新创建一个cube对象,开发者为其初始化了几个特性分别是:Mesh Filter(网格过滤器:即改变形状,正方形,圆形等,在引擎中形状都用网格表示),Collider (这个东西叫做碰撞机,如果没有它,则这个物体不能触碰到任何物体,那么它就可以引申出很多的属性,比如材质:木板?弹床?冰块等,材质又可以引申出许多属性 比如:摩擦力?弹性?) 与现实世界不同的就是碰撞机的大小可以改变,大于或者小于物体本身。,Mesh Renderer(网格渲染器:具体属性还不是很清楚待查看)。
以上为初始化属性。
当我们运行一个物体时,会发现它不会因为重力而往下坠落。 这是因为它没有这个属性。就像一个人它本身是有重力的,因为它有质量。但是开发者并没有为其初始化该特性(组件),这能够让我们够好得去开发。
为其添加一个刚体(Rigidbody: 它有 mass(质量),drag(我猜应该是物体的拉力)等)再运行这个物体就会掉落。我们想要发生碰撞的话就需要碰撞的两个物体都要 Collider 而且 一个物体要有刚体这个特性。

一个物体的具体行为则需要在脚本中实现然后将脚本拖给这个物体。 有趣的事情发生了, 当我们在脚本中编写一条属性时(public Rigidbody rb;),在Unity3D的图形界面的inspector中会出现这个属性,然后我们可以将场景中所有?相应类型的对象拖入到属性中,然后在脚本中就可以使用它了。

using UnityEngine;
using System.Collections;

public class player : MonoBehaviour {
    // -11.27
    // 
    // Use this for initialization
    // 砖块预设体
    public GameObject bricks;
    void Start () {
        // 循环创建brick
        //Instantiate(bricks, new Vector3(-0.5f, 0, 0),Quaternion.identity);
        float width = 1;
        float widthSpace = 0.5f;
        for (int i = 0; i < 13; i++) {
            for(int j = 0;j<4;j++)
                Instantiate(bricks, new Vector3(-0.5f, 6-j*2, 11.27f - i*2  ),Quaternion.identity);
        }
    }

    // Update is called once per frame
    void Update () {



                // 获取水平轴上的值 [-1,1]
                float hor = Input.GetAxis("Horizontal");
                // 移动player
                transform.position += new Vector3(0, 0, -1) * hor * 20 * Time.deltaTime;

        if (transform.position.z >= 11.27)
            transform.position = new Vector3(transform.position.x, transform.position.y, 11.27F);
        else if (transform.position.z <= -11.27)
            transform.position = new Vector3(transform.position.x, transform.position.y, -11.27F);

    }
}

打砖块脚本………………………

2016-09-27 09:26:00 baijing1143 阅读数 7
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

以VS2012为例:
找到Unity的安装路径,比如我是安装在D:\Program Files(x86)下面,那路径就是D:\Program Files (x86)\Unity\Editor\Data\Resources\ScriptTemplates
在这个文件夹下面有四个文件(默认),如果是修改C#的默认编码界面,及打开81-C# Script-NewBehaviourScript.cs.txt文件,比如我把格式改成
using UnityEngine;
using System.Collections;

//*****************************************
//创建人:  XXX
//创建时间:yyyy-MM-dd
//功能说明:
//*****************************************
public class Script_08_01 : MonoBehaviour
{
    /// <summary>
    /// 初始化参数
    /// </summary>
    void Start()
    {
    }

    /// <summary>
    /// 绘制界面
    /// 每一帧都会调用
    /// </summary>
    void OnGUI()
    {
    }

    /// <summary>
    /// 跟新界面信息
    /// </summary>
    void Update()
    {
    }
}
当我们在Unity3d中新建一个C#脚本文件,打开以后就是下面这样:

001

posted on 2016-09-27 09:26 SauronKing 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/sauronKing/p/5911567.html

2019-04-12 13:13:35 yubingxing11 阅读数 604
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

课程目录

       1. Unity3D 的最新资讯与下载安装 
               走进 Unity3D 工程师的世界 
               GDC 2015 游戏开发者大会 与 Unity 5.0 介绍 

       2. Unity3D 基础操作 
               Unity3D 窗口界面介绍 
               Unity3D 菜单界面介绍
               Scene与场景漫游 
               Hierarchy与场景搭建 
               Project与资源管理 
               Inspector 与游戏组件 

       3. C# 语言基础 
               C#的值类型 
               C#的引用类型 
               C#的类型转换
               C#的逻辑语句 
               C#的集合类型 
               C# 的面向对象特性之封装
               C# 的面向对象特性之继承 
               C#的面向对象特性之多态 

       4. Unity3D 脚本开发基础
               课程准备与脚本介绍
               脚本生命周期与脚本变量
               脚本的响应事件与组件访问
               Transform 场景物体的变换
               脚本开发中的基础数学
               脚本开发中的 3D 数学
               脚本开发的输入与控制
               常用的方法函数
               GUI 组件的应用
               代码调试与 MonoDevelop 的使用

       5. Unity3D 界面系统 
               uGUI 系统的介绍与创建 Canvas 画布 
               Native2D 系统的介绍与使用
               Rect Transform 界面系统的布局 
               UI Event 界面系统的事件机制 
               UI Element 界面系统的可视组件(上)
               Auto Layout 界面系统的自动布局
               UI Element 界面系统的可视组件(下)

       6. Unity3D 动画系统 
               课程准备与动画系统介绍
               资源准备与模型导入
               Animation View 动画的编辑 
               Animator Transitions 动画的设置与状态的过渡 
               Animator Controller 动画控制器的介绍 
               Animator Scripting 动画控制键的脚本控制 

       7. Unity3D 图形处理系统 
               Unity5.0 着色器系统介绍
               Unity5.0 渲染系统介绍 

       8. Unity3D 粒子系统 
               Unity3D 粒子界面及创建
               粒子形状模块及生命周期速度类模块
               Unity3D 粒子的颜色及速度控制方法
               Unity3D 粒子的旋转、外部作用力与碰撞 
               FX Maker 效果(特效)插件 
               Xffect 粒子系统 

 

下载地址:百度网盘

2014-01-29 20:37:28 paopaohuiiz 阅读数 3083
  • Unity 值得看的500+ 技术内容列表

    Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。

Unity3D内置的MonoDevelop的调试速度和调试稳定性比visual studio强,操作简单、高效。但时常对MonoDevelop的调试和代码提示感到无语。熟悉了visual studio,对其操作界面感觉十分亲切。

步骤一、先打开Unity3D,选择菜单栏的Editpreferences...(如下图)


步骤二、然后我们看到Unity Preferences对话框,选择左边的External Tools,在External Script Editor可以选择我们的脚本编辑器,点击Browse...,在对话框中选择visualstudio的应用路径就ok了(visual studio在安装目录\Common7\IDE,VS2010devenv.exe)。



选择Microsoft Visual Studio 2010,出现【未安装项目的目标框架】提示框,直接选择【确定】。这时出现亲切的Microsoft Visual Studio 2010操作界面(如图)。


Unity3d的UI控制脚本

阅读数 1609

没有更多推荐了,返回首页