有时候,Unity中的场景里面,物体突然看不见了,可以这样做:     首先,在 Hierarchy 面板选择看不见的物体,按下快捷键 f.如果物体还是看不见,见下图: 看看图中圈红的地方.如果,如果物体要看得见,需要图标是 “眼睛” 的图案.鼠标点击一下,如果图标已经是 “眼睛” 的图案,场景中还是看不见物体,那就要看看是不是 layer 设置的问题了.   OnDrawGizmos() 画的线看不到,可能也是 右上角的 Layer 设置问题: 让 Layer 设置为 Default 就可以了…
unity平行光太亮?物体发白?可能你使用了2个或多个平行光 今天做项目时就遇到了这个问题,光亮得让物体发白 发现加载的场景 里面有个 平行光,删了就好了 要是感觉还是太亮,就把主平行光的Intensity调成0.5…
Unity正交相机智能包围物体(组)方案 目录 Unity正交相机智能包围物体(组)方案 一.技术背景 二.相关概念 2.1 正交摄像机 2.2 正交相机的Size 2.3 相机的Aspect 2.4 包围盒 三.解决方案 3.1 求物体的包围盒 3.2 正交相机参数设置--位置.Size 3.2.1 正交相机位置计算 3.2.2 正交相机Size计算 四.总结 一.技术背景 今晚是双十一,祝大家剁手愉快啊明天还得做个快乐的打工人,哈哈_~ 进入正题,最近要做个小地图显示,网上也有许多相关文章或…
一.介绍 目的:在Unity场景中制作一个天空盒. 软件环境:Unity 2017.3.0f3,VS2013. 参考 skybox 二.自制一个天空盒 1,创建一个材质material 2,更改属性为Skybox/6 Sided,并且把六个面的图片都选好 三.修改天空盒 在菜单栏Window属性下,选中Lighting -> settings,会出现下面对话框 修改后效果如下…
一.介绍 目的:通过在Unity场景中添加C#脚本完成日夜轮转的效果. 软件环境:Unity 2017.3.0f3,VS2013 二.操作过程 通过拖拽场景中的Directional Light我们知道,只要控制好平行光的旋转就可以模拟出轮转的更替,所以我们要在Directional Light中添加相应的脚本文件. (如何添加脚本文件,可参考 Unity入门教程(上)) C#代码如下: using System.Collections; using System.Collections.Gen…
(一)适用情况 当游戏主角进入特定的场景或者关卡,每个关卡需要加载不同位置的模型,道具等.这些信息需要先在unity编辑器里面配置好,一般由策划干这事,然后把这些位置道具信息保存在文件,当游戏主角进入后根据保存的文件信息加载模型道具.如 跑酷场景的金币 赛车赛道的道具 (二)实例文件格式 Json 需要导入SimpleJson 具体使用方法可以看我另外一篇<Unity游戏数据用Json保存>,有详细介绍 http://www.cnblogs.com/July7th/p/4808095.html…
在处理很多人参与的项目时,很多时候在操作场景时,可能会牵扯到场景修改的冲突问题,这种时候,我们可以将场景以配置文件的形式存储下来(cocos的场景.android的view保存思想),可以采用json/XML/二进制等多种方式进行存储,这时,需要我们将Scenes中的所有GameObject以Prefab的形式存储,并且考虑到Prefab上的组件引用问题,就需要将原来直接拖入持有的方式获取的游戏对象,以Find/FindTag这类方法来初始化(可能面临的一个问题是:原来持有的是List等类型?这…
如下,很简单的一个场景,一个Panel,二个Cube,一个camera,一个方向光,其中为了避免灯光阴影的影响,关掉阴影,而Panel和二个Cube都是默认的材质,没做修改,我原猜,这三个模型应该都动态合并成一个,但是根据Unity的Frame Debug的显示,我们可以看下,只有同模型的地合并了.然后把模型A向前移动到Z小于0,神奇的看到,同模型的二个cube也不能动态合并了. 好吧,在这有点小失望,后面查到在网上有个说法,Unity会根据摄像机的深度排序,所以在排序后,如果上个模型和下个模型…
在游戏开发中,会常用到场景间传递数据的方法(比如关卡选择,过关后自动回到关卡选择界面,以动画方式解锁下一关),目前研究了三种: 1. 使用DontDestroyOnLoad方法: (1)在场景A中做个GameObject,身上挂个脚本,在Start方法中写明 DontDestroyOnLoad(gameObject); 这个表示在场景跳转后,不需要Destory这个物体,在下个场景中这个物体依然保留,运行后,在Hierarchy视窗中也会自动生成这样的游戏物体 跳转到场景B中,再从这个游戏物体身…
直接帮到物体的身上就可以了 using UnityEngine; using System.Collections;using System.IO;public class hehe : MonoBehaviour{    private Touch oldTouch1;  //上次触摸点1(手指1)      private Touch oldTouch2;  //上次触摸点2(手指2)      void Start()    {     }    void Update()    {   …
最新心血来潮,然后开始学习Unity3D游戏开发引擎,对于一个主流的跨平台3D游戏开发引擎,我已经深深的为他着迷了,于是果断的开始学习这个引擎,而且刚刚预装的游戏引擎最新版中4.3版本已经开始原生支持2D游戏开发,希望能快点学会uniy这个引擎,以后开发游戏就方便很多了. 这是今天的成果,循序渐进,,希望unity4.3快点正式发布,然后大神赶紧出教程,哈哈,以后就不用学Cocos2d-x了,C++果断头疼 #pragma strict //  控制物体方向 var direction:Tran…
对于以下几种选择: (1)点云: (2)线框: (3)网格: 针对以上准备三个函数: (1)获取点和线段最短距离函数: (2)获取线段和线段最短距离函数: (3)获取三角面片和线段最短距离函数: 算法: (1)2D鼠标点转换为远近平面上的鼠标点,获得鼠标线段: (2)通过计算获得所有与鼠标线段距离在一定范围内的点.线段或网格: (3)根据点.线段或网格距离近平面鼠标点的距离排序,取最近的那个,即为选中物体.…
Terrain Streaming 可以用WorldCreator创建Tile地形,然后用WorldStreamer实现分块地图.比如10000*10000(16平方公里) 的地形,需要1000*1000的100个地块.如果每次加载9个格子,那么同时载入的地块大小为3000*3000大小——比一次加载100000*10000要省掉 90%的数据——如果直接加载10000*10000估计Unity要跪了.似乎也可以500*500,加载25个地块(保证1000左右的视野),总体数量要更小一些,但是地…
U3D中的一般包围框如 boxcollider, meshcollider, capsule collider等都会随物体旋转而旋转.然而polygon collider却不会. 补充:原来所有2D包围盒都不会随物体旋转,所有3D包围盒都会随物体旋转. 当物体旋转了,对于2D物体,就要移除原来的包围盒,重新挂一次2D包围盒.…
虽然标题是实现hdr+bloom,但实际感觉更像是控制单个物体bloom https://blog.csdn.net/zsy654321/article/details/80682651…
1.首先是.gitignore的配置. # Folder config file Desktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msm *.msp # Windows shortcuts *.lnk ### Unity ### /[Ll]ibrary/ /[Tt]emp/ /[Oo]bj/ /[Bb]uild/ /[Bb]uilds/ /Ass…
之前一直用NGUI HUD Text插件做这个功能,感觉一个小功能就导一个插件进来简直丧心病狂.然后就自己写了一个~ Camera cam;//用于发射射线的相机 Camera UIcam;//UI层的相机 Vector3 mp;//鼠标位置 Transform targetTransform;//点选的物体 public UILabel Lab; void Start () { cam =this.GetComponent<Camera>(); UIcam = GameObject.Find…
    Camera cam;    void Start () { cam =this.GetComponent<Camera>(); } void Update () { )) { TarRaycast(); } } Vector3 mp ;//鼠标位置 Transform targetTransform;//点选的物体 public LayerMask targetingLayerMask;//指定射线能检测到的Layermask层 private float targetingRayL…
今天分享一些基础控制的脚本 1.位置(Position): 控制位置很简单,首先要知道要在xyz哪几个轴上移动,确定好后定义代表着那些轴的移动变量,速度(m_speed在函数外定义为全局变量)然后通过if语句实现特定键对偏移量的增减,最后通过transform.translate实现移动  这些脚本要放在Update里 //在x和z轴的移动量 ; ; //实现移动控制 if (Input.GetKey(KeyCode.UpArrow)||Input.GetKey(KeyCode.W)) { mo…
using UnityEditor; using UnityEngine; [CustomEditor(typeof(GameObject))] public class MyEditor : Editor { void OnSceneGUI() { Handles.BeginGUI(); if (GUILayout.Button("输出位置及角度 QQ:745701540")) { GameObject[] objs = Selection.gameObjects; Vector3…
效果 场景搭建 创建一个空物体,并将其命名为 "GameManager",并[Reset]它 创建一个 "Sphere",并将其[Scale]设置为(0.1,0.1,0.1) 创建一个 "Cube",并将其[Scale]设置为(0.1,0.1,0.1) 创建一个 "Material",并将其命名为 "line",设置其颜色为黑色,并把它拖到[Cube]上 把 Sphere 和 Cube 拖到事先创建好的 &…
距离上一篇博客,这篇文章的发布大概过了整整三个月.我也从饿了么度过了试用期,成为了正式员工.刚进来恰好遇到项目底层改造和迁移,将项目从angular全部迁移到vue上,所以适应这边的节奏和业务的开发任务.而且这段事件用过mint-ui这个h5的框架,感觉太老了,想自己开发一套ui组件了,所以一直忙呀忙.顺带最近绝地求生比较火,然后也拉了几个小伙伴一起玩了好长时间,所以节奏有点慢了.下面废话不多说了,直接进入主题. 上一篇博客介绍了基础的纯概念,这篇文章纯粹偏技术实践,需要理解一些玩意的.技术介绍…
  全局坐标系 描述游戏场景内所有物体位置和方向的基准,也称为世界坐标系.在Unity场景中创建的物体都是以全局坐标系中的坐标原点(0,0,0)来确定各自的位置的. 局部坐标系 每个物体都有其独立的坐标系,并且随物体进行相同的移动或者旋转,也称为模型坐标系或物体坐标系.模型mesh的Transform保存的Position.Rotation和Scale都是相对于父类GameObject,父子物体的坐标系是关联的,此时子物体会以父物体的坐标点为自身的坐标原点.…
本文章用于记录Unity的学习过程,如有疑问,欢迎交流. 1.血条的显示 在Unity场景中创建空物体,然后新建两个Image(图片),当然只用一个也行,一个作为填充来显示血量,一个作为血条的外框. 然后在Unit上添加Slider组件 并将Transition和Navigation均设为None…
自制Unity小游戏TankHero-2D(5)声音+爆炸+场景切换+武器弹药 我在做这样一个坦克游戏,是仿照(http://game.kid.qq.com/a/20140221/028931.htm)这个游戏制作的.仅为学习Unity之用.图片大部分是自己画的,少数是从网上搜来的.您可以到我的github页面(https://github.com/bitzhuwei/TankHero-2D)上得到工程源码. 本篇主要记录声音.场景切换.武器弹药等. 关于碰撞 先插一句.上一篇记录了Unity3…
Unity游戏开发中,单个Scene解决所有问题似乎不可能,那么多个Scene之间的切换是必然存在.如果仅仅是切换,似乎什么都好说,但是在场景比较大的时候不想让玩家等待加载或者说场景与场景之间想通过一些画面.动画表现出一些让玩家期待的东西,大家就要去认真考虑.这篇文章主要介绍两种增加切换中如何播放画面或者动画等等,提高玩家的浸入感,当然你也可以做成无缝的场景. 1 操作基础函数 LoadLevel Loads the level by its name or index.  加载场景,加载之前你…
http://www.u3dblog.com/?p=441 有时候场景中一大批物体都需要制作成预制物体,但是unity只能手动一个一个的创建,感觉非常的蹩脚,下面一个编辑器类的方法解决你的麻烦. static Object CreatePrefab(GameObject go, string name) { //先创建一个空的预制物体 //预制物体保存在工程中路径,可以修改("Assets/" + name + ".prefab"); Object tempPref…
注:这里的UI制作用的是NGUI插件 如题,在游戏中经常会遇到这种情况,场景中点击相关物体或者按钮弹出对应的2D界面,这时候除了2D界面上的可点击按钮等,应该屏蔽掉对3D场景的点击或者拖动事件. 在这里介绍两种方法: 1.对弹出的2D界面添加一个足够大的碰撞器,以覆盖整个屏幕: // 为道路信息面板添加碰撞器,以屏蔽弹出面板时鼠标对3D场景的点击事件 gameObject.AddComponent<BoxCollider>(); gameObject.GetComponent<BoxCo…
Unity场景 场景虽然是由场景美术做好的,但是我们经常需要自己去导导出以及从别的项目导入,所以我们需要对场景的导入和导出有一个详细的了解 1: 场景是由美术人员搭建完成后提交给程序;2: 场景一般包括了地形, 创建物体, 光源, 天空盒,与雾等;3: 场景不包含任何逻辑4: 程序员要能熟练的导入与导出其他项目的场景; 场景导出和导入思路 把Unity4.X的场景文件导入到Unity5.X的场景中 1: 准备好Unity 4.7游戏项目的要导出的场景;2: 将属于场景的物体,导出成预制体;3:…
当场景中的3D物体需要响应点击,但同时有UI显示时,存在判断点击是在3D物体上还是UI上的问题,办法如下: 1. 射线检测所有2D 3D物体,有2D物体被检测到时表明当前有UI.但无论Physics2D.Raycast()还是Physics.Raycast()都只能检测到含有Collider组件的物体,普通UI如Image Button等一般用射线是不起作用的.EventSystem.current.RaycastAll()可以将当前屏幕上的所有可检测的物体全部检测到,该方法需要自己构造一个Po…