ar c# unity3d

2016-11-14 11:21:15 qq_36703442 阅读数 304
  • Unity 值得看的500+ 技术内容列表

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

unity3D-游戏/AR/VR在线就业班 C#入门 变量和数据类型

C#的变量和常量


常量:字面值常量+const常量

 
            //声明并初始化整型常量a
            const int a = 9;
            Console.WriteLine (a); 


 

            //圆周率用常量表示
            const float pi=3.1415926f;
            Console.WriteLine (pi); 



int :整数类型

using System;

namespace Lesson04
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            //声明变量
            int level;
            //对变量进行初始化
            level=6;
            //使用变量
            Console.WriteLine (level);
        }
    }
}


float :使用小数类型 不要忘记加f

using System;

namespace Lesson04
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            //声明变量 类型+变量名;
            int level;
            //对变量进行初始化
            level=6;
            //使用变量
            Console.WriteLine (level);

            //声明一个float类型的变量exp
            float exp;
            //初始化变量
            exp=0.6f;
            Console.WriteLine (exp);

        }
    }
}


string :字符串类型,使用双引号,专门表示文本方面。

using System;

namespace Lesson04
{
    class MainClass
    {
        public static void Main (string[] args)
        {
            //声明变量 类型+变量名;
            int level;
            //对变量进行初始化
            level=6;
            //使用变量
            Console.WriteLine (level);

            //声明一个float类型的变量exp
            float exp;
            //初始化变量
            exp=0.6f;
            Console.WriteLine (exp);

            //声明一个string类型的变量str
            string str;
            //初始化变量
            str = "你好老王";
            Console.WriteLine (str);
        }
    }
} 



2016-11-17 16:11:45 sinat_35761779 阅读数 502
  • Unity 值得看的500+ 技术内容列表

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

unity3D-游戏/AR/VR在线就业班 
C#入门一:http://edu.csdn.net/course/detail/1982
C#入门二:http://edu.csdn.net/course/detail/2050


【课程介绍】 
本课程为 C# 语言的入门课程,主要学习 C# 语言的基本语法,是程序开发中最最基础的知识。在真正的开发过程中,我们所写代码几乎一半都与本课程中所学知识相关。本课程也是《C# 语言基础》的前置课程。

【课程目标】 
对编程语言有初步的理解,掌握控制台输入输出、常用的数据类型; 掌握变量的使用,理解常量和变量的概念; 掌握常用的运算符,理解表达式的概念; 掌握 For、While 和 DoWhile 循环语句,理解循环的概念; 掌握 If、SwitchCase 分支语句; 掌握数组的基本使用方法。

【课程计划】 
希望掌握 C# 语言特性或者进行 Unity 3D 开发,但是没有 C# 语言基础的初学者。

【课程内容】 
unity3D-游戏/AR/VR在线就业班 C#入门(一)
1 unity3D-游戏/AR/VR在线公开课(一) 
2 unity3D-游戏/AR/VR在线公开课(二)  
3 下载并安装MonoDevelop  13:39  
4 c#编译过程  20:04  
5 二进制  20:44  
6 变量和数据类型  22:02  
7 基本数据类型  16:15  
8 运算符和表达式  24:11  
9 类型转换  21:22  
10 使用字符串  16:23  
11 控制台输入输出  19:14  
12 关系运算和逻辑运算  21:12  
13 If语句  21:15  
14 Switch语句  16:09  
15 While和DoWhile语句  17:58  
16 For语句  20:50  
17 一维数组  19:32  
18 二维数组  16:11  
19 实践课程  19:27  
20 实践课程  20:26  
21 实践课程  23:13


unity3D-游戏/AR/VR在线就业班 C#入门(二)
1 unity3D-游戏/AR/VR在线公开课(一) 
2 unity3D-游戏/AR/VR在线公开课(二)   
3 枚举类型  14:46  
4 结构体  10:30  
5 访问修饰符  11:29  
6 类和对象  13:22  
7 字段  9:05  
8 方法  21:23  
9 属性  18:48  
10 值类型和引用类型  11:45  
11 方法参数  22:54  
12 字符串  19:34  
13 方法重载  12:33  
14 递归  15:05  
15 构造和析构  20:41  
16 面向对象  14:32  
17 封装和继承  18:00  
18 抽象类  14:55  
19 静态类  22:02  
20 单例  17:57  
21 虚方法  15:42  
22 接口  14:17  
23 泛型  26:29  
24 ArrayList  20:00  
25 List  17:53  
26 字典  13:25  
27 栈和队列  13:03  
28 委托  12:54  
29 事件  9:50


接下来:【移步】unity3D-游戏/AR/VR在线就业班Unity引擎

unity3D-游戏/AR/VR在线就业班学习路线图

2018-06-02 09:40:55 qq_38643064 阅读数 682
  • Unity 值得看的500+ 技术内容列表

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

Unity3D是一个跨平台的游戏引擎,它提供了3d游戏的大部分基础功能实现,比如物理碰撞、3d模型显示、光照等功能,简化了使用者开发游戏的过程,更能够节省非常多的成本,unity3d与别的游戏引擎最大的不同是,它的代码是跨平台的,也就是说,别的引擎一款游戏要写好几份代码,它上面只需写一份就能在所有系统上运行。

unity是使用javascript 与c#进行游戏开发的,javascript 和c#都可以作为实现unity3d的脚本语言,但是关于那个脚本语言更适合来开发unity3d呢,js适合个人开发,C#适用于公司开发。U3D官方团队基于数据分析做出结论,U3D团队会把支持的重心转移到C#,也就是说文档和示例以及社区支持的重心都在C#,C#的文档会是最完善的,C#的代码实例会是最详细的,社区内用C#讨论的人数会是最多的。所以,选择C#开发是最适合的。

对于学习unity3d,首先要掌握c#语言,然后才能按照路线开始正式学习

1、Unity3D程序开发基础
1)C#语法基础
2)OOP(面向对象)
3)网络通信
4)内存管理
从基础讲解C#语言,熟悉字段、属性、接口、委托、事件,掌握C#面向对象编程的核心思想。让学员掌握Unity3d各个方面的知识和基本使用方法,为后面深入的学习打下良好基础。
2、Unity3D高级阶段
1)Unity3D物体系统高级部分
2)Untiy3D动画系统高级部分
3)常规设计模式
4)动画,跟随等相关插件学习
5)第1,3人称项目讲解
在原来的学习基础上,深入学习Unity3D物体系统、动画系统的高级部分,例如骨骼的绑定,动画角色的创建等。配合游戏案例进行深度讲解,让学生充分了解动画的制作过程。
3、游戏跨平台发布
1)IOS版发布
2)安卓版发布
3)网页版发布
4)PC版发布

2019-01-07 13:23:59 weixin_41814169 阅读数 365
  • Unity 值得看的500+ 技术内容列表

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

EasyAR引擎简介

EasyAR是做好用的且免费的增强现实(Augmented Reality)引擎,EasyAR为Unity开发和本地开发提供了大量的可直接运行的样例。

这些样例演示了各种target的创建方式和包含流媒体和透视在视频内的视频播放,以及更加高级的实时target创建和AR涂涂乐。

 

EasyAR自问世以来从未停止向前演进,自首个公开发布版本以来的主要更新内容如下,

  • 增加更多完整实例
  • 增加多目标跟踪支持
  • 优化降低功耗
  • 移除Unity对Visual C++运行时库的依赖
  • 提升跟踪稳定性和准确性
  • 改善首次使用体验
  • 改善视频播放支持,增加透明视频支持
  • 改善前置摄像头和动态摄像头切换
  • 改善Unity支持和兼容性
  • 改善Unity接口

EasyAR的优势

EasyAR 支持使用平面目标的AR,支持1000个以上本地目标的流畅加载和识别,支持基于硬件解码的视频(包括透明视频和流媒体)的播放,支持二维码识别,支持多目标同时跟踪。

EasyAR支持PC和移动设备等多个平台,EasyAR不会显示水印,也没有识别次数限制。

EasyAR下载

官网:http://www.easyar.cn/

 

EasyAR插件的使用

1、在EasyAR官网注册账号

2、申请应用Key

进入开发中心

点击添加SDK license key

1、

2.

 添加完后,点击以添加的Key

 

 

 

将key复制下来

3、新建项目,导入EasyAR插件

4、将EasyAR/Prefabs下的EasyAR_Startup添加到场景中,将刚刚复制的key粘贴到对应位置

说明:
EasyAR_Startup,这个prefab作为一个简单的组合提供,对于通常的AR场景来说也是足够的。你可以使用EasyAR提供的其它小型prefab构建一个更加复杂的AR场景。

 

 

5、将将EasyAR/Prefabs/Primitives下的ImageTarget添加到场景中

删除Image TargetBehavior脚本,重新新建一个脚本,并继承ImageTargetBehaviour。重写代码如下:

注意:需要引用命名空间 using EasyAR;

 

 

说明:
* Path为需要识别的图片路径
* Name为需要识别的图片文件名称
* ActiveTargetOnStart: 是否在MonoBehaviour.Start被调用时加载target
* Storage: target存储位置的类型
* size:改变可视物体的大小

6、识别目标

在Assets目录下新建文件夹,StreamingAssets,将需要扫描的图片手动到此目录中

 

 

在在MyEasyARImageTarget组件上,设置相关参数,如下图:

 

 

7、将扫面图片需要显示的3D物体添加到ImageTarget下并进行调整

8、发布APK

注意,这里的Package Name 必须和EasyAR网站申请Key时所填的PackageName(Android)相同(Android平台)

 

原文地址:https://www.cnblogs.com/Mr-Miracle/p/9274882.html

 

 

 

2017-01-20 20:16:59 zzlyw 阅读数 5371
  • Unity 值得看的500+ 技术内容列表

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

前言

Unity3D是一款非常优秀的游戏引擎,可以使用C#作为脚本语言进行编程。但是有的时候我们需要运行一些第三方的程序,例如C++实现的一些算法。我们需要将C++的代码以DLL的形式嵌入到Unity3D的程序中。这时候就要用到C#调用C++ DLL的方法。本文给出一个最简单的调用方式,实现了一些简单数据类型的传递。

 

1  C++中DLL的生成

在Windows平台上,首先使用VisualStudio2013来创建一个C++的Win32控制台应用程序。工程名设置为TestDLL。


在应用程序设置向导中,选择应用程序类型为DLL。


由于我们使用的Unity3D分32位和64位,所以我们需要在配置管理器中设置与Unity一致的位数。我的Unity3D是64位的,所以我做了如下设置。


然后将下面的代码粘贴到TestDll.cpp中。

#include "stdafx.h"

extern "C"_declspec(dllexport) void  fun0(int &a)
{
	a = 111;
}
extern "C"_declspec(dllexport) void  fun1(int *b)
{
	*b = 222;
}

extern "C"_declspec(dllexport) void  fun2(int c[])
{
	c[0] = 333;
}

extern "C"_declspec(dllexport) void  fun3(char *d)
{
	*d = 'B';
}


然后点击生成解决方案,就可以在“工程根目录\x64\Release”路径下看到生成的TestDll.dll。


2  在Unity3D中调用C++的DLL

创建一个新工程和一个新场景,并创建一个脚本UseDll.cs。脚本的内容如下:

using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;

public class UseDll : MonoBehaviour {

    [DllImport("TestDll")]
    private static extern void fun0(ref int a);
    [DllImport("TestDll")]
    private static extern void fun1(ref int b);
    [DllImport("TestDll")]
    private static extern void fun2(int[] c);
    [DllImport("TestDll")]
    private static extern void fun3(ref char d);

	void Start () {

        //初始化a、b、c、d 几个数据
        int a = 0;
        int b = 0;
        int[] c=new int[5];
        for(int i=0;i<5;i++)
        {
            c[i] = -1;
        }
        char d = 'A';
        

        //调用dll中的函数,对数据进行修改
        fun0(ref a);
        Debug.Log(a);
        fun1(ref b);
        Debug.Log(b);
        fun2(c);
        Debug.Log(c[0]);
        fun3( ref d);
        Debug.Log(d);
	
	}

	void Update () {
	
	}
}


将这个脚本绑定到摄像机上,并且要把上一步中生成的TestDll.dll拷贝一份放到“Unity工程根目录\Assets\Plugins”目录下。默认的时候Assets下是没有Plugins文件夹的,需要自己创建。一切就绪后,可以运行程序,在控制台显示如下信息,表示C#中初始化的数据已经在C++的DLL中被修改,即C#成功调用了C++的DLL。