2015-11-24 00:14:38 zszeng 阅读数 1683
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4711 人正在学习 去看看 张刚

Unity3d 授权版一年的费用是150075每月
怎么想都是贵啊

免费版都包括什么呢?

  1. 打开游戏首先强制显示“Powered by Unity”的画面
  2. 所有平台(有限制)
  3. 免费版不支持折射、实时反射、动态阴影,只支持静态反射、静态阴影
  4. 无法在游戏里播放视频
  5. 不支持任何图像特效脚本
  6. 不支持性能优化

总之, 免费的unity3d游戏做出来, 性能差谁还玩, 现在Unity3d都成了渣游戏的代名词….

2016-02-18 10:17:09 wuyt2008 阅读数 11851
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4711 人正在学习 去看看 张刚

先上代码

using UnityEngine;
using System.Collections;

public class WebCamManager : MonoBehaviour {

	// Use this for initialization
	void Start () {

		WebCamTexture webcamTexture = new WebCamTexture ();

		//如果有后置摄像头,调用后置摄像头
		for (int i = 0; i < WebCamTexture.devices.Length; i++) {
			if (!WebCamTexture.devices [i].isFrontFacing) {
				webcamTexture.deviceName = WebCamTexture.devices [i].name;
				break;
			}
		}

		Renderer renderer = GetComponent<Renderer>();
		renderer.material.mainTexture = webcamTexture;
		webcamTexture.Play();
	}

}


在场景里面添加一个plane


调整plane的位置,并把脚本拖上去,运行就可以了。



如果是要在GUITexture上显示,则代码如下:

using UnityEngine;
using System.Collections;

public class WebCamManager : MonoBehaviour {

	// Use this for initialization
	void Start () {

		WebCamTexture webcamTexture = new WebCamTexture ();

		//如果有后置摄像头,调用后置摄像头
		for (int i = 0; i < WebCamTexture.devices.Length; i++) {
			if (!WebCamTexture.devices [i].isFrontFacing) {
				webcamTexture.deviceName = WebCamTexture.devices [i].name;
				break;
			}
		}

		GUITexture guiTexture = GetComponent<GUITexture> ();
		guiTexture.texture = webcamTexture;
		webcamTexture.Play ();
	}
}


如果在本机调试的时候出现以下错误提示

Cannot use web cam, since the user has not authorized this!

这是没有使用摄像头的权限,build一次安卓应用再试就好了,或者使用以下代码,先判断权限

using UnityEngine;
using System.Collections;

public class WebcamManager : MonoBehaviour {

	// Use this for initialization
	void Start () {
		StartCoroutine ("CallWebCam");
	}

	IEnumerator CallWebCam(){
		yield return Application.RequestUserAuthorization (UserAuthorization.WebCam);

		if (Application.HasUserAuthorization (UserAuthorization.WebCam)) {
			WebCamTexture webcamTexture = new WebCamTexture ();  

			//如果有后置摄像头,调用后置摄像头  
			for (int i = 0; i < WebCamTexture.devices.Length; i++) {  
				if (!WebCamTexture.devices [i].isFrontFacing) {  
					webcamTexture.deviceName = WebCamTexture.devices [i].name;  
					break;  
				}  
			}  

			GUITexture guiTexture = GetComponent<GUITexture> ();  
			guiTexture.texture = webcamTexture;  
			webcamTexture.Play ();  
		} else {
			Debug.Log ("has not authorization");
		}
	}
	

}



2014-07-04 11:12:17 hackdjh 阅读数 1027
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4711 人正在学习 去看看 张刚

1:天空盒有接缝怎么解决?

答:在贴图导入设置里设置Wrap Mode为"Clamp".

 

2:DDS格式怎么不显示?

答:Unity不支持DDS格式,Unity会将除DDS外的其他格式图片具有为DDS同样的优化.

 

3:Unity如何动态载入外部模型等文件?

答:可以使用AssetBundle:http://unity3d.com/support/documentation/ScriptReference/AssetBundle.html

 

4:脚本编辑器有语法提示吗?

答:有的,Win版使用Ctrl+I,Mac版使用Ctrl+>.

 

5:如何使用烘焙贴图(多重纹理)?

答:不要使用Shell贴图,直接将烘焙图赋予贴图的"自发光"通道之上.

 

6:怎么屏蔽Webplayer右键菜单?

答:<param name="disableContextMenu" value="true" />

 

7:为什么水面没有实时反射效果?

答:只有专业版才支持这种反射效果.

 

8:怎么做摄像机漫游动画?

答:Max正常制作摄像机漫游动画,倒到Unity中后,将Unity的Camea拖拽到Max导出的摄像机Gameobject物体之上,作为其子物体即可.

 

9:如何自定义Webplayer载入Logo及进度条?

答:<param name="logoimage" value="Logo文件名" />,<param name="progressbarimage" value="进度条名" />,<param name="progressframeimage" value="进度条外框名" />.

 

10:GUI上怎么使用中文字?

答:导入任意中文字体,然后定义GUISkin字体为该字体即可.

 

11:购买一个授权可以安装几台电脑?

答:可以安装于2个系统之上比如一个Win版一个Mac版.

 

12:Max文件扔到Unity中怎么说导入失败?

答:下载最新版Fbx插件,用Max导出Fbx文件然后扔Unity中.

 

13:如何不让摄像头穿透模型,离模型近了就像模型露面了?

答:设置相机的Near clip plane,调小一点,但是不要给负数.

 

14:怎么用双面贴图?

答:Unity中可设置双面Shader,最简单有效的办法是直接做成双面的实体模型.

 

15:导入的Fbx模型尺寸小于Max中的尺寸?

答:在Unity中该文件的导入设置中设置缩放因子为1.

 

16:如何给相机添加Glow效果?

答:选中相机对象,在菜单中选中Component-Image Effects-Glow赋予该组件即可(专业版才支持此特效)

 

17:怎么设置Webplayer默认尺寸?

答:到菜单Edit-Project Settings-Player中设置Default Web Screen尺寸即可.

 

18:怎么设置可执行文件的启动Banner?

答:到菜单Edit-Project Settings-Player中设置Resolution Dialog Banner.

 

19:如何设置雾效?

答:到菜单Edit-Render Settings中开启Fog及设置Fog Color等即可.

 

20:如何设定默认Skybox天空盒?

答:到菜单Edit-Render Settings中设置Skybox Material即可.

2019-07-21 14:08:53 qq_39588003 阅读数 34
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4711 人正在学习 去看看 张刚

Unity3D Label 控件用于在屏幕上显示文本内容或图片。

GUI.Lable(位置, 标签显示内容);

例如:

GUI.Lable(new Rect(10,20,100,40), "我是标签");

将添加一个显示“我是标签”的标签,位置在界面的Rect(10,20,100,40)位置。

    Rect()位置图解:

    Rect(x, y, width, height)

标签示例:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Lable : MonoBehaviour {

    public string str;

    public Texture imageTexture = null;

    private int imageWidth;

    private int imageHeight; 
 
    private int screenWidth;
 
    private int screenHeight;

	// Use this for initialization
	void Start () {
        str = "HelloWorld!";

 
        //得到屏幕宽高
        screenWidth = Screen.width;
        screenHeight = Screen.height;
 
        //得到图片宽高
        imageWidth = imageTexture.width;
        imageHeight = imageTexture.height;
	}
	
	// Update is called once per frame
	void Update () {
		
	}

    void OnGUI() { 
     GUI.Label(new Rect(100, 10, 100, 30), str);
     GUI.Label(new Rect(100, 40, 100, 30), "当前屏幕宽:" + screenWidth);
     GUI.Label(new Rect(100, 80, 100, 30), "当前屏幕高:" + screenHeight);
     GUI.Label(new Rect(250, 40, 100, 30), "当前图片宽:" + imageWidth);
     GUI.Label(new Rect(250, 80, 100, 30), "当前图片高:" + imageHeight);

     GUI.Label(new Rect(100, 120, imageWidth, imageHeight), imageTexture);
    }
}

运行结果:

函数原型(JavaScript)如下:

public static function Label(position:Rect, text:string):void;
public static function Label(position:Rect, image:Texture):void;
public static function Label(position:Rect, content:GUIContent):void;
public static function Label(position:Rect, text:string, style:GUIStyle):void;
public static function Label(position:Rect, image:Texture, style:GUIStyle):void;
public static function Label(position:Rect, content:GUIContent, style:GUIStyle):void;

 

Label控件的具体参数如下表所示。
 

参 数 功 能 参 数 功 能
position 设置控件在屏幕上的位置及大小 text 设置控件上显示的文本
image 设置控件上显示的纹理图片 content 设置控件的文本、图片和提示
style 设置控件使用的样式    
2019-02-05 14:27:28 Jaihk662 阅读数 621
  • Unity3D入门到精通-(3)Unity资源管理精讲

    本次系列课程的目标是让Unity3D初学者掌握Unity3d的资源管理技术进行了全面介绍,特别对AssetBundle资源如何进行更新,以及加载(依赖资源加载)进行了系统的介绍。 适合对象:Unity初学开发者,Unity中级开发者,网络程序开发者,所有对游戏开发有兴趣的人员。 学习条件:有一定的Unity3D基础,了解C#的基本开发知识。

    4711 人正在学习 去看看 张刚

 

前文:https://blog.csdn.net/Jaihk662/article/details/86764583(UI简介)

一、GUI Texture组件

第一步:通过菜单→Component→Rendering→GUILayer添加GUILayer层,这个时候会多出一个摄像头组件,这个组件不能移除,因为这个图片是通过摄像机显示的,这也是为什么Sence场景中看不到图片

第二步:调整一些组件属性

  1. Texture:显示的图片
  2. Color:图片色调
  3. Pixel Offset:位置偏移,通过x轴和y轴两个值,设置文本组件在场景中显示的位置,W和H为图片高度和宽度

到这里就可以预览到效果了:

 

二、在Sence中显示图片

其实很好办,新建空物体,之后如下:

就可以在Sence中显示图片了,效果如下:不过这个图片永远会朝向你的视角

 

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