Unity3D游戏开发
文章平均质量分 68
Unity是一款跨平台的专业游戏引擎,用它创建的游戏可以在浏览器、移动设备乃至游戏机等几乎所有常见平台上运行。Houzi主要分享Unity开发心得和游戏实战开发。
Cocos2der
游戏开发者
展开
-
摄像机与主角之间遮挡显示处理(Unity3D开发之二十八)
今天处理遮挡的时候,本来是想摄像机射线检测,设置建筑半透明效果用来显示被遮挡的角色(有很多游戏也是这样处理的),实现后发现效果实际上不太好。如果被遮挡角色还是敌人或者多个角色时候,不是特别好,比如敌人被遮挡我希望单独区分下。所以改成了现在的直接绘制2D填充色(也就是忽略自身的深度值)来显示。主要代码Properties { _NotVisibleColor ("原创 2018-01-09 18:52:07 · 3723 阅读 · 3 评论 -
使用Multiplayer Networking做一个简单的多人游戏例子-3/3(Unity3D开发之二十七)
上一篇中血条还没有同步到所有客户端,下面添加血条同步。主要用到[SyncVar]同步变量。13. 网络同步血条打开Health脚本添加命名空间UnityEngine.Networkingusing UnityEngine.Networking;添加继承关系为NetworkBehaviourpublic class Health : NetworkBehaviour为currentHeal原创 2016-03-29 18:01:47 · 15392 阅读 · 3 评论 -
使用Multiplayer Networking做一个简单的多人游戏例子-2/3(Unity3D开发之二十六)
使用Multiplayer Networking做一个简单的多人游戏例子-1/37. 在网络中控制Player移动上一篇中,玩家操作移动会同时控制同屏内的所有Player,且只有自己的屏幕生效。因为咱们还没有同步Transform信息。 下面我们通过UnityEngine.Networking组件来实现玩家控制各自Player打开PlayerController脚本添加命名空间UnityEn原创 2016-03-29 17:08:52 · 19805 阅读 · 10 评论 -
使用Multiplayer Networking做一个简单的多人游戏例子-1/3(Unity3D开发之二十五)
本文主要讲述了如何使用Multiplayer Networking开发多人游戏,文中实例、代码来源于Unity官方教程。 原文:INTRODUCTION TO A SIMPLE MULTIPLAYER EXAMPLE Networking Overview The High Level API Network System ConceptsOK,现在可以开始了!1. 开始创建原创 2016-03-29 15:40:28 · 21236 阅读 · 3 评论 -
UnityEditor下文件操作方法汇总(Unity3D开发之二十四)
最近经常需要些一个编译工作脚本,经常操作一个文件。下面是一个汇总了的文件操作方法。using UnityEngine;#if UNITY_EDITORusing UnityEditor;using System;using System.IO;using System.Threading;public static class FileStaticAPI{ /// 检测文件是否存在原创 2016-01-27 17:15:45 · 7646 阅读 · 2 评论 -
Unity修改Particles Render Material(Unity3D开发之二十三)
美术在制作粒子特效的时候需要能修改让粒子在某些时刻闪烁,看了下发现没有设置能实现,所以加个脚本给美术使用。原理就是让美术能控制Render修改Image的Colorusing UnityEngine;using System.Collections;public class ParticleBlink : MonoBehaviour { public float startBlinkTim原创 2015-09-11 15:00:13 · 9899 阅读 · 0 评论 -
Auto Create Editable Copy Font(Unity3D开发之二十二)
Unity中咱们经常对字体做Create Editable Copy,虽然已经非常方便了,但是实际使用场景中,有时候会有不方便的地方。我们经常对同一个字体做不同字体大小的Copy,这个时候,每次都去修改font的属性,非常之蛋疼。本地化翻译文件导出的文字需要手工加到字体属性中,如果同一个字体还有不同大小,更蛋疼了。以上你都可以忍了,但是你再次Create Editable Copy之后,你发现原创 2015-09-09 17:14:19 · 2836 阅读 · 1 评论 -
Remove Google Play Games libraries on iOS (Unity3D开发之二十一)
最近游戏刚接完Google Play Game,结果发现加入Google Play Game Unity Plugins 之后,导出Xcode工程之后,会默认加入Google Play的iOS版。然而,我们并不希望iOS版加入Google Play的模块。咱们来看看如何移除Google Play Game iOS。翻了下Google Play Game Plugins的代码,发现其实别人已经增加了宏原创 2015-09-09 11:37:54 · 3586 阅读 · 1 评论 -
Unity Singleton 单例类(Unity3D开发之二十)
今天看到群里有朋友问unity单例的最佳实现方式,下面我我经常用的。贴出来供大家参考。一、添加单例模板类using UnityEngine;public class Singleton<T> : MonoBehaviour where T : MonoBehaviour{ private static T _instance; private static object _lock原创 2015-08-07 10:19:56 · 7944 阅读 · 5 评论 -
自动生成材质Material(Unity3D开发之十九)
项目中,有时候导入一些资源时候,需要对应创建材质球,如果每次自己动手创建,还是挺麻烦的,下面是如何导入资源时候自动创建材质球。using UnityEngine;using System.Collections;using System.Collections.Generic;using UnityEditor;using System.IO;public class BuildMateri原创 2015-07-12 22:47:37 · 12169 阅读 · 2 评论 -
分别修改Cube每个面的贴图UV(Unity3D开发之十八)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/46539433今天项目中需要修改一个Cube中每个面的贴图UV,也就是贴图中有多个矩形贴图,需要程序从贴图中读取一部分赋值给Cube每个面。这里已经有人实现了。CustomUVS.csusing UnityEng原创 2015-06-23 22:31:19 · 14460 阅读 · 4 评论 -
事件/委托机制(event/delegate)(Unity3D开发之十七)
Delegate作用我就不多说了,Unity中可以直接使用EventHandler实现事件委托,咱们直接事例吧。一、场景物体移动结束后事件监听假如PlayerControl,移动结束后触发MoveComplete事件。using UnityEngine;using System.Collections;using System;public class PlayerControl : MonoB原创 2015-06-17 22:46:38 · 7970 阅读 · 0 评论 -
2DSprite添加Light照射(Unity3D开发之十六)
今天项目中需要用到黑夜灯光照射,由于普通的2DSprite使用的材质是不接收光反射的。所以我们必须修改Sprite Renderer的材质。第一步,建立工程下面是我建立的工程,你会发现Point l原创 2015-05-06 12:11:13 · 14819 阅读 · 0 评论 -
如何修改新建脚本模板-ScriptTemplates(Unity3D开发之十五)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/44133127unity添加新脚本的时候,没有版权文件头信息,主要是没有脚本创建人的姓名,在项目开发中,如果想知道这个脚本是谁写的,呼来唤去搞半天才发现是自己写的!!!用习惯了xcode,所以准备给unity的新建原创 2015-04-09 11:35:39 · 6795 阅读 · 0 评论 -
Orientation Auto Rotation旋转屏幕crash问题(Unity3D开发之十四)
今天运行一个场景时候,welcome场景可以旋转,进入主场景后发现只要旋转手机屏幕就会crash。*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UnityDefaultViewController should be used only if unity is se原创 2015-03-08 15:05:36 · 7158 阅读 · 0 评论 -
添加启动游戏过渡场景Default Splash Scene(Unity3D开发之十三)
添加启动游戏过渡场景Default Splash Scene(Unity3D开发之十三)Unity5个人版会添加Unity Logo作为启动画面,咱们既然没花钱,打个广告也应该。但Unity Logo结束后可以再添加一个自己的启动画面。下面是添加一个简单的FadeIn->FadeOut过渡场景。先看下效果图: 代码如下 LHSplashScreens.cs:using UnityEngine;u原创 2015-03-06 14:18:23 · 7306 阅读 · 0 评论 -
uGUI使用代码动态添加Button.OnClick()事件(Unity3D开发之十二)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2Der-CSDN,谢谢!原文地址: http://blog.csdn.net/cocos2der/article/details/42705885uGUI出来这么久了,也一直没好好用用,主要是公司项目不用U3D。昨晚用了下Button,还是比较爽的。主要说下用代码添加button.OnClick()事件的方法(使用属性面板添加的方法就不说了)一、创建2D UI Panel,添加你需要的Button。我添加了3个Button:BtnStart,原创 2015-01-14 11:24:23 · 73899 阅读 · 6 评论 -
Unity2D Sprite灰白图(Unity3D开发之十一)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=596昨晚看到群里问到2DSprite怎么变成灰白图,晚上看了下,修改shader是最方便的。下面是Sprites-Gray.shader的实现,请放入自己工程:Shader "Sprites/Gray"{Properties{原创 2014-11-10 14:28:50 · 4853 阅读 · 0 评论 -
SendMessageUpwards定义简单按钮(Unity3D开发之十)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=582SendMessageUpwards是朝物体和上级父物体发送信息。也可以用来制作按钮。下面就是一个简单的GUI交互模式。一、GUI的接口事件处理类GUIInterface.csusing UnityEngine;using Sy原创 2014-09-09 23:45:28 · 3640 阅读 · 0 评论 -
Sprite添加阴影摇摆动画(Unity3D开发之九)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=575今天看到一个很简单的摇摆动画,感觉不错的。记录下,以后需要的可以用下,主要是计算position的方式。DropShadowAnim.csusing UnityEngine;using System.Collections;原创 2014-09-09 21:39:05 · 3998 阅读 · 0 评论 -
iOS平台添加Google Admob -2/2(Unity3D开发之八)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=572在上一篇文章中主要是编写了iOS Admob的接口实现。那么现在我们要做的事就是在unity中调用iOS Admob并展示。一、实现Unity中对外接口,内部负责调用iOS Admob接口。LHiOSAdmob.csusing U原创 2014-08-07 14:12:01 · 3338 阅读 · 0 评论 -
iOS平台添加Google Admob -1/2(Unity3D开发之七)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=567Unity调用iOS还是非常简单的,晚上空闲时间写了unity在IOS平台加载Google Admob。需要的朋友可以看下。一、首先编写Admob的iOS的代码。请去https://apps.admob.com下载iOS Admo原创 2014-08-07 12:02:11 · 2869 阅读 · 0 评论 -
Get and Post(Unity3D开发之六)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=565unity3d中的www直接提供了web请求服务。使用也非常简单。using UnityEngine;using System.Collections.Generic;using System.Collections;pu原创 2014-08-04 09:56:46 · 2736 阅读 · 0 评论 -
DontDestroyOnLoad(Unity3D开发之五)
Unity中我们从A场景切换到B场景的时候,A场景所有对象都会销毁,但有时候我不需要销毁某些东西。比如一个简单的游戏的背景音乐,我不需要多次重复创建,多个场景播放这一个就行了。这个时候就需要用到DontDestroyOnLoad。using UnityEngine;using System.Collections;public class MusicManager : MonoBehavio原创 2014-07-31 17:24:42 · 5327 阅读 · 1 评论 -
游戏开场镜头拉近(Unity3D开发之四)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=553今天看了个Demo,发现它的游戏开场会先有个白色遮罩层的渐变消失,然后镜头拉进到目标场景。镜头拉进主要用Vector3.MoveTowards()1、添加一个GUITexture,用作白色遮罩层。设置Active false,事先原创 2014-06-01 23:45:15 · 5726 阅读 · 1 评论 -
Coroutine协同程序介绍(Unity3D开发之三)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=496Coroutine在Unity3D中叫做协程或协同程序,和多线程类似,也就是说开启协同程序就是开启一个线程。但是在任意指定时刻只有一个协程执行,其他协程挂起。 Coroutine的相关函数:StartCoroutine:启动一个协原创 2013-12-23 13:27:21 · 6950 阅读 · 2 评论 -
Transform介绍(Unity3D开发之二)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=491可能unity中接触较早的就是这个组件了,控制着位置、缩放、方向。下面简单介绍下:一、成员变量position:在世界空间坐标transform的位置。localPosition:相对于父级的变换的位置。如果该变换没有父级,那么等原创 2013-12-17 15:59:39 · 4782 阅读 · 0 评论 -
MonoBehaviour介绍(Unity3D开发之一)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=486猴子自学Unity已经一段时间了,不过还一直没有真正用于商业游戏。这段时间不是很忙,所以想系统的整理下unity技术。都是自己学习中的一些东西,所以深度不是深。Unity中的脚本都是继承自MonoBehaviour。一、基础函数:原创 2013-12-16 14:07:44 · 5397 阅读 · 0 评论 -
【Unity3D实战项目:疯狂杀戮】角色模型的行走控制(一)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=342今天正式开始了第一个实战项目【疯狂杀戮】的开发教程,在教程中我会讲解整个游戏的开发过程,整个开发过程是建立在你已经基本明白了最基本的地形操作和一些基本API的使用。 我选的项目第一篇教学是控制角色的移动,这是最基本的游戏控制。原创 2012-11-30 20:25:06 · 22057 阅读 · 3 评论 -
Unity3D导入的FBX场景模型设置物体之间的碰撞
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=339导入的场景文件,发现人物会穿墙,也就是场景没有碰撞。那么如何添加mesh之间的碰撞呢?最后发现挺简单的。 1、在Project中选中你的场景模型2、在Inspector中勾选 Generate Colliders3、Apply即原创 2012-11-29 18:03:20 · 19011 阅读 · 2 评论 -
Mac下MonoDevelop中文乱码解决方法
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=312今天在家里的电脑,MonoDevelop编辑器中文乱码,本想着应该是偏好设置的字体没有设置成中文字体。修改Preferences的font之后,发现还是有乱码问题。找了下原因,最终解决方法是:1、在应用程序下找到Unity/Mo原创 2012-10-18 20:31:32 · 10616 阅读 · 4 评论 -
Unity3D Update() 和 FixedUpdate()区别
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=307今天有人问我问什么我在处理物理逻辑的时候把代码放在了FixedUpdate里,而不用Update? 我说下他们的区别吧,知道了各自的特点,就知道原因了。 Update() 和 FixedUpdate()在游戏中都会在更新的时候自原创 2012-10-18 13:07:54 · 25255 阅读 · 1 评论 -
Unity3D在移动端的优化处理
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网--Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=285今天去CGDC听了刘钢先生的Unity在移动端的优化处理,记录刘钢先生的优化建议。 一、关于性能优化的几大误区 误区1:性能优化只是程序员的责任,与美术和策划无关。-技原创 2012-07-25 21:10:16 · 5505 阅读 · 0 评论