2010-09-06 10:31:00 evil_darker 阅读数 6071
  • Unity3D入门到精通-(3)Unity资源管理精讲

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

    4712 人正在学习 去看看 张刚

用文本编辑器打开对应导出的 html 文件,找到如下代码段:

<script language="javascript1.1" type="text/javaScript">
    var hasUnity = DetectUnityWebPlayer();
    var brokenUnity = false;
    if (hasUnity) {
    
     document.write('<object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394" width="800" height="600"> /n');

 

将其中的 width, height 改为:

width="100%" height="100%"

 

以上代码段的作用是:

当前控件相对它的上一层完全自动缩放

 

仍然存在的问题:

(1)拉伸浏览器的过程中视口没有自动调节,拉伸完后,鼠标点击下视口,会调整到当前浏览器的“全屏”。

如何:在浏览器拉伸的过程中,能看到视口在自动调整,好比,按着左键不放,在慢慢的拉伸浏览器,能看到视口也在调整的过程?
(2)FireFox 没有达到以上的效果。

 

改正问题(2)的方法:

找到以下代码段:

if (hasUnity) {
     
     document.write('<object id="UnityObject" classid="clsid:444785F1-DE89-4295-863A-D46C3A781394" width="100%" height="100%"> /n');
     document.write('  <param name="src" value="webplayer version.unity3d" /> /n');
     document.write('  <embed id="UnityEmbed" src="webplayer version.unity3d" width="800" height="600" type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x" /> /n');
     document.write('</object>');

 

将这一行:

 

document.write('  <embed id="UnityEmbed" src="webplayer version.unity3d" width="800" height="600" type="application/vnd.unity" pluginspage="http://www.unity3d.com/unity-web-player-2.x" /> /n');

 

中的 width, height 改为:

width="100%" height="100%

 

这一行的作用是:embed 是设置音频,视频或者其他控件的,详细的参数从这里设置。。
另外 IE内核和FF浏览器解析是不一样的

 

这样,问题(2)解决,firefox 可以看到视口是“全屏”模式,而且能够随窗口的拉伸动态自动调整。

2016-05-04 16:55:33 wangxiong_zh 阅读数 1730
  • Unity3D入门到精通-(3)Unity资源管理精讲

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

    4712 人正在学习 去看看 张刚
Unity3d Webplayer 屏蔽缓存机制

  前言:   

  在最近的项目中,出现了一个问题就是:使用unity3d webplayer的时候,当用户首次进入游戏的时候,

  如果下载AssetBundle文件失败的话,就会出现后续无法登陆的情况。这个时候客户端需要的操作就

  是删除本地的缓存文件,或者是登陆Unity3d提供的缓存服务器进行删除。这些操作对开发者来说是很

  简单的事情,但是对没有多少计算机操作知识的用户来说就显得很心烦了。

  原因如下:

  1.对于webplayer本地的缓存文件是被隐藏 了,需要进过一系列的操作去找到。这样用户基本是不愿意

  做的事,这样我们的用户就少了很多了。

  2.对于登陆缓存服务器去进行删除的操作,也是同样的道理。同时还是E文的,用户可能看都不看了。

  现在都是流行一条龙的服务,你的服务不好,那就只好下一位了。

  虽然我们现在还没有找到很好的实现方式,但是我们只要屏蔽有关数据的缓存了。缓存这个东西好处是多

  但是坏处也是不少的!

  好了。我们现在谈谈今天的主题:屏蔽缓存机制。

  方式很是简单的:

  在我们发布的html代码中加入一个<meta >标签就可以了。

  我们先看看效果:

    添加标签前的效果:

  979x486

  我们添加标签:

  853x409

  添加标签:

  855x427

  最后的效果:

  997x475

  这样webplayer缓存机制就失去效果了。很简单的操作 呵呵

  结束语:

  对于这样的方式是不好的,正在寻找有关的实现方式。看了看完美世界的页游,在处理这一块的时候做的挺不错的。希望各位大神提供和交流相应的解决方案,在此先谢谢啦!

2017-01-17 00:16:38 qq_26651375 阅读数 3397
  • Unity3D入门到精通-(3)Unity资源管理精讲

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

    4712 人正在学习 去看看 张刚

导入模型、贴图和材质

导入资源包文件

1.新建Unity3d项目SpaceShoot。

2.从Asset Store下载SpaceShoot资源包。https://www.assetstore.unity3d.com/cn/#!/content/13866


3.在浏览器中点击【在Unity中打开】按钮,会跳转到Unity3d软件界面。


4.点击下载,同意协议,当下载完毕后,弹出导入资源包界面。选择【Import】。


5.导入完成,在Project栏出现多个目录,_Completed-Assets目录下为已经完成的Demo,其他文件夹为资源文件夹,双击Scenes文件夹下的Done_Main场景,即可打开该场景,点击运行,游戏Demo运行。


6.依次点击File->New Scene,创建一个新场景,然后再次点击File->Save Scene或者【Ctrl+S】保存场景。在弹出的对话窗中新建文件夹“_Scene_Self”,打开文件夹,文件名Main,单击【保存】按钮。


7.此时可看到Project视图中文件夹”_Scene_Self”和空场景文件“Main”。


9.依次单击菜单项File->Build Setting->PlayerSetting。取消Default Is Full Screen的勾选,然后依次设置Width为400,Height为600。


10.这时在Game窗口中,可以看到Standalone模式下运行窗口的尺寸为400 x 600。


创建飞船对象

1.从Project视图下Asset/Models拖动模型文件vehicle_playerShip到Hierarchy视图,重命名为Player,按图重置Transform组件。

2.添加Rigidbody(刚体)组件:在Hierarchy视图中选择Player,在右侧的Inspector视图中点击Add Component->Physics->Rigidbody。刚体的作用是提供作用力,受到力的作用。另外取消Use Gravity的勾选,否则开始游戏,飞船将受到重力的作用而下坠。


3.添加Mesh Collider组件:选择Player,在Inspector视图中点击Add Component->Physics->Mesh Collider(碰撞体)。作用是让飞船可以玉其他物体产生碰撞,并触发碰撞后的事件(比如销毁等)。还需勾选Convex和Is Trigger,从而将Mesh Collider设置为触发器。

4.添加飞船尾部的粒子效果:在Project/Prefads/VFX/Engine下的预制体engine_player拖动到Hierarchy视图下的Player上,使其成为Player的子对象,并重置Transform组件,其Position的Z为-0.8。


设置摄像机参数

1.在Hierarchy视图中选中Main Camera,将其Transform组件的Rotation设置为(90,0,0),使摄像机处于俯视视角。调整Position(0,10,5),此时飞船处于Game窗口下方。

2.设置投影方式(Projection)为正交投影(Orthographic),并设置size为10,Clear Flags改为SolidColor,Background设为黑色,此时飞船处于合适的位置。



添加背景图片

1.单击GameObject->3DObject->Quad,创建一个平面,重命名Background,重置Transform,移出Mesh Collider,背景不需要碰撞体。此时平面垂直飞船,看不到,须设置其Transform组件的Rotation为(90,0,0),绕X轴逆时针旋转90度。

2.为Background添加纹理图片。将Assets/Textures目录下的tile_nebla_green_dff拖动到Background上。注意图片宽高比是1:2,放大平面时须遵守该比例,不然会失真。

3.选中Background,将Shader改为Unlit/Texture。

4.改变Background大小,Transform组件的Scale为(15,30,0)时,基本充满窗口。此时,飞船与Background重叠,将Background的Transform组件的Position的Y设为-10,使飞船处于Background上方。

添加粒子效果

从Project视图中Assets/VFX/Starfield目录下,拖动预制体Starfield到Hierarchy视图中,Transform组件默认不便,运行游戏,繁星点点。

2015-05-10 22:31:08 wangyao1052 阅读数 7328
  • Unity3D入门到精通-(3)Unity资源管理精讲

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

    4712 人正在学习 去看看 张刚

要想启用,需要手动在Chrome浏览器中输入以下命令开启
chrome://flags/#enable-npapi

援引Chrome官方博客的一片文章来解释下Chrome与unity3d webplayer插件默认不兼容的原因:

The Final Countdown for NPAPI

Posted: Monday, November 24, 2014

Last September we announced our plan to remove NPAPI support from Chrome, a change that will improve Chrome’s security, speed, and stability as well as reduce complexity in the code base. Since our last update, NPAPI usage has continued its decline. Given this usage data, we will continue with our deprecation plan.

Monthly Plug-in Launch Percentage
这里写图片描述

Currently Chrome supports NPAPI plugins, but they are blocked by default unless the user chooses to allow them for specific sites (via the page action UI). A small number of the most popular plugins are whitelisted and allowed by default. In January 2015 we will remove the whitelist, meaning all plugins will be blocked by default.

In April 2015 NPAPI support will be disabled by default in Chrome and we will unpublish extensions requiring NPAPI plugins from the Chrome Web Store. Although plugin vendors are working hard to move to alternate technologies, a small number of users still rely on plugins that haven’t completed the transition yet. We will provide an override for advanced users (via chrome://flags/#enable-npapi) and enterprises (via Enterprise Policy) to temporarily re-enable NPAPI while they wait for mission-critical plugins to make the transition.

In September 2015 we will remove the override and NPAPI support will be permanently removed from Chrome. Installed extensions that require NPAPI plugins will no longer be able to load those plugins.

For more details on the timeline, including guidance for NPAPI plugin developers, see the NPAPI deprecation guide. With each step in this transition, we get closer to a safer, more mobile-friendly web.

2018-12-05 17:21:00 qq_32416529 阅读数 694
  • Unity3D入门到精通-(3)Unity资源管理精讲

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

    4712 人正在学习 去看看 张刚

解决Unity3D发布后软件界面右下角出现Trial Version

1.选择Help->Manage License
在这里插入图片描述

2.点击Manual Activation在这里插入图片描述

3.选择Save License Request
在这里插入图片描述

4.将.alf文件保存到本地

5.在浏览器打开 https://license.unity3d.com/manual

6.将.alf文件上传,生成一个新的许可证,并下载.ulf文件

7.在步骤三的界面点击Load License,再将下载的.ulf文件导入

8.重新启动Unity,再重新打包,水印已经不存在了。

Unity3d内置浏览器

阅读数 32

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