Unity3D游戏开发
Unity是一款跨平台的专业游戏引擎,用它创建的游戏可以在浏览器、移动设备乃至游戏机等几乎所有常见平台上运行。Houzi主要分享Unity开发心得和游戏实战开发。
-
原
摄像机与主角之间遮挡显示处理(Unity3D开发之二十八)
今天处理遮挡的时候,本来是想摄像机射线检测,设置建筑半透明效果用来显示被遮挡的角色(有很多游戏也是这样处理的),实现后发现效果实际上不太好。如果被遮挡角色还是敌人或者多个角色时候,不是特别好,比如敌人被遮挡我希望单独区分下。所以改成了现在的直接绘制2D填充色(也就是忽略自身的深度值)来显示。 主要代码 Properties { _NotVisibleColor ("2018-01-09 18:52:07 阅读数:1486 评论数:3 -
原
使用Multiplayer Networking做一个简单的多人游戏例子-3/3(Unity3D开发之二十七)
上一篇中血条还没有同步到所有客户端,下面添加血条同步。主要用到[SyncVar]同步变量。13. 网络同步血条 打开Health脚本 添加命名空间UnityEngine.Networking using UnityEngine.Networking; 添加继承关系为NetworkBehaviour public class Health : NetworkBehaviour 为currentHeal2016-03-29 18:01:47 阅读数:12338 评论数:3 -
原
使用Multiplayer Networking做一个简单的多人游戏例子-2/3(Unity3D开发之二十六)
使用Multiplayer Networking做一个简单的多人游戏例子-1/3 7. 在网络中控制Player移动上一篇中,玩家操作移动会同时控制同屏内的所有Player,且只有自己的屏幕生效。因为咱们还没有同步Transform信息。 下面我们通过UnityEngine.Networking组件来实现玩家控制各自Player 打开PlayerController脚本 添加命名空间UnityEn2016-03-29 17:08:52 阅读数:14128 评论数:8 -
原
使用Multiplayer Networking做一个简单的多人游戏例子-1/3(Unity3D开发之二十五)
本文主要讲述了如何使用Multiplayer Networking开发多人游戏,文中实例、代码来源于Unity官方教程。 原文:INTRODUCTION TO A SIMPLE MULTIPLAYER EXAMPLE Networking Overview The High Level API Network System Concepts OK,现在可以开始了!1. 开始创建2016-03-29 15:40:28 阅读数:15345 评论数:1 -
原
UnityEditor下文件操作方法汇总(Unity3D开发之二十四)
最近经常需要些一个编译工作脚本,经常操作一个文件。下面是一个汇总了的文件操作方法。using UnityEngine;#if UNITY_EDITOR using UnityEditor; using System; using System.IO; using System.Threading;public static class FileStaticAPI { /// 检测文件是否存在2016-01-27 17:15:45 阅读数:6100 评论数:2 -
原
Unity修改Particles Render Material(Unity3D开发之二十三)
美术在制作粒子特效的时候需要能修改让粒子在某些时刻闪烁,看了下发现没有设置能实现,所以加个脚本给美术使用。原理就是让美术能控制Render修改Image的Colorusing UnityEngine; using System.Collections;public class ParticleBlink : MonoBehaviour { public float startBlinkTim2015-09-11 15:00:13 阅读数:4369 评论数:0 -
原
Auto Create Editable Copy Font(Unity3D开发之二十二)
Unity中咱们经常对字体做Create Editable Copy,虽然已经非常方便了,但是实际使用场景中,有时候会有不方便的地方。 我们经常对同一个字体做不同字体大小的Copy,这个时候,每次都去修改font的属性,非常之蛋疼。 本地化翻译文件导出的文字需要手工加到字体属性中,如果同一个字体还有不同大小,更蛋疼了。 以上你都可以忍了,但是你再次Create Editable Copy之后,你发现2015-09-09 17:14:19 阅读数:2431 评论数: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 阅读数:2959 评论数:2 -
原
Unity Singleton 单例类(Unity3D开发之二十)
今天看到群里有朋友问unity单例的最佳实现方式,下面我我经常用的。贴出来供大家参考。一、添加单例模板类using UnityEngine;public class Singleton<T> : MonoBehaviour where T : MonoBehaviour { private static T _instance; private static object _lock2015-08-07 10:19:56 阅读数:5330 评论数:4 -
原
自动生成材质Material(Unity3D开发之十九)
项目中,有时候导入一些资源时候,需要对应创建材质球,如果每次自己动手创建,还是挺麻烦的,下面是如何导入资源时候自动创建材质球。using UnityEngine; using System.Collections; using System.Collections.Generic; using UnityEditor; using System.IO;public class BuildMateri2015-07-12 22:47:37 阅读数:8537 评论数:2 -
原
分别修改Cube每个面的贴图UV(Unity3D开发之十八)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/46539433今天项目中需要修改一个Cube中每个面的贴图UV,也就是贴图中有多个矩形贴图,需要程序从贴图中读取一部分赋值给Cube每个面。这里已经有人实现了。CustomUVS.csusing UnityEng2015-06-23 22:31:19 阅读数:9913 评论数:3 -
原
事件/委托机制(event/delegate)(Unity3D开发之十七)
Delegate作用我就不多说了,Unity中可以直接使用EventHandler实现事件委托,咱们直接事例吧。一、场景物体移动结束后事件监听假如PlayerControl,移动结束后触发MoveComplete事件。using UnityEngine; using System.Collections; using System;public class PlayerControl : MonoB2015-06-17 22:46:38 阅读数:5509 评论数:0 -
原
2DSprite添加Light照射(Unity3D开发之十六)
今天项目中需要用到黑夜灯光照射,由于普通的2DSprite使用的材质是不接收光反射的。所以我们必须修改Sprite Renderer的材质。第一步,建立工程下面是我建立的工程,你会发现Point l2015-05-06 12:11:13 阅读数:7237 评论数:0 -
原
如何修改新建脚本模板-ScriptTemplates(Unity3D开发之十五)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2Der-CSDN,谢谢! 原文地址: http://blog.csdn.net/cocos2der/article/details/44133127unity添加新脚本的时候,没有版权文件头信息,主要是没有脚本创建人的姓名,在项目开发中,如果想知道这个脚本是谁写的,呼来唤去搞半天才发现是自己写的!!!用习惯了xcode,所以准备给unity的新建2015-04-09 11:35:39 阅读数:5203 评论数:0 -
原
Orientation Auto Rotation旋转屏幕crash问题(Unity3D开发之十四)
今天运行一个场景时候,welcome场景可以旋转,进入主场景后发现只要旋转手机屏幕就会crash。*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'UnityDefaultViewController should be used only if unity is se2015-03-08 15:05:36 阅读数:4813 评论数:0 -
原
添加启动游戏过渡场景Default Splash Scene(Unity3D开发之十三)
添加启动游戏过渡场景Default Splash Scene(Unity3D开发之十三)Unity5个人版会添加Unity Logo作为启动画面,咱们既然没花钱,打个广告也应该。但Unity Logo结束后可以再添加一个自己的启动画面。下面是添加一个简单的FadeIn->FadeOut过渡场景。先看下效果图: 代码如下 LHSplashScreens.cs:using UnityEngine; u2015-03-06 14:18:23 阅读数:6088 评论数:0 -
原
uGUI使用代码动态添加Button.OnClick()事件(Unity3D开发之十二)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2Der-CSDN,谢谢!原文地址: http://blog.csdn.net/cocos2der/article/details/42705885 uGUI出来这么久了,也一直没好好用用,主要是公司项目不用U3D。昨晚用了下Button,还是比较爽的。 主要说下用代码添加button.OnClick()事件的方法(使用属性面板添加的方法就不说了) 一、创建2D UI Panel,添加你需要的Button。 我添加了3个Button:BtnStart,2015-01-14 11:24:23 阅读数:54646 评论数:5 -
原
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 阅读数:3877 评论数:0 -
原
SendMessageUpwards定义简单按钮(Unity3D开发之十)
猴子原创,欢迎转载。转载请注明: 转载自Cocos2D开发网–Cocos2Dev.com,谢谢!原文地址: http://www.cocos2dev.com/?p=582SendMessageUpwards是朝物体和上级父物体发送信息。也可以用来制作按钮。下面就是一个简单的GUI交互模式。一、GUI的接口事件处理类GUIInterface.csusing UnityEngine; using Sy2014-09-09 23:45:28 阅读数:2657 评论数: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 阅读数:3025 评论数:0