Unity3d学习
文章平均质量分 92
IMBA鑫鑫
这个作者很懒,什么都没留下…
展开
-
Unity 2019 射线检测失效
之前在做毕设的一个FPS游戏时,遇到了使用射线检测失效的情况,特此记录以下。前因在FPS游戏中,对于子弹的发射主要通过两种方式来实现。一种可以通过实例化子弹的GameObject对其施加物理效果从而达到发射的目的。在玩过的绝地求生中,可以清楚看到子弹的发射轨迹,这里应该就是使用的这种方法。但是使用碰撞检测的问题就是如果一方速度过快撞击到另一碰撞体会有直接穿透的可能性存在(面试题),还有就是性能的消耗比较大。而另一种则是射线检测,通过发射出一条射线来模拟子弹的运动轨迹,这种方法相较于前者而言更节省.原创 2020-05-10 00:13:52 · 4020 阅读 · 0 评论 -
Unity连接Mysql数据库流程
最近做毕设需要用到Mysql数据库来配合Unity完成一些数据库上的操作,也遇到不少坑,特此来总结一下。一.系统环境Win10操作系统Unity版本:Unity 2019.2.14f1Mysql版本:mysql-5.7.28-winx64Mysql Workbench 8.0 CEVisual Studio 2019对于Mysql文件可以到Mysql官网中自行下载我这里提供...原创 2020-03-28 01:02:46 · 3638 阅读 · 3 评论 -
Unity UGUI中使用scroll rect和content size fitter问题
最近成为了底层拼图仔,对一些Unity中UGUI遇到的问题进行一下总结。 以下内容均在Unity2017.4中实现一. 搭建一个xx列表许多UI中都可能需要实现可上下拖拽的列表功能,比如手机QQ中的聊天列表以及浏览器的上下拖拽显示内容列表。脑中有了大致的实现效果,便可以搭建起来了。所以我们先初步要实现一个列表的效果就是:假设列表中每个信息都是一个item,每接收到一个item,则会在...原创 2019-08-23 16:23:53 · 5225 阅读 · 0 评论 -
Unity 简易AssetBundle打包方法(二)
时隔半年又回来填坑了…没看过的小伙伴可以先看一下AssetBundle (一)。这次主要是对上次的一些细节补充和扩展。一. AssetBundle打包先回顾一下打包流程吧using UnityEditor;using System.IO;public class CreateAssetBundles{ [MenuItem("Assets/Build AssetBundles")...原创 2019-07-31 18:44:37 · 1357 阅读 · 0 评论 -
Unity UGUI源码解析(二) InputModule
一. 引言上一节我们在讲EventSystem类中的某些函数细节的时候,经常会讨论到xxxInputModule这个输入模块,今天就来仔细讲一下xxxInputModule到底做了些什么。附上UGUI源码二. BaseInputModule在具体介绍输入模块之前,我们先要知道输入模块的结构构成是如何的。输入事件捕获模块由四个类构成:BaseInputModule、 PointerIn...原创 2019-07-20 16:51:50 · 4700 阅读 · 1 评论 -
Unity UGUI源码解析(一) EventSystem
一.引言当我们在Unity中创建一个Canvas时,编辑器会默认给我们创建一个EventSystem,其上有两个组件EventSystem 和 StandaloneInputModule如下图那EventSystem到底是用来干什么的呢?我们找到UGUI底层的源码来一探究竟!UGUI源码二.EventSystem作用EventSystem在UGUI源码中属于事件逻辑处理模块。所有UI事...原创 2019-07-15 18:49:37 · 2979 阅读 · 0 评论 -
Unity 灯光与渲染 (一)
最近翻自己记录的笔记的时候,发现之前学的Unity 灯光lighting设置渲染一块没有总结过,因此特地将笔记内容整理至博客中。一.常见光源Light一说到Unity中的Light,大家能回忆起有哪些光源呢?Directional light、Spot light、Point light 和Area light。那么接下来先对每个Light类型进行简单介绍。(1).Direction...原创 2019-05-20 08:31:06 · 11185 阅读 · 3 评论 -
Unity 简易AssetBundle打包方法(一)
一.打包AB本文全程以Unity中基础3d Object 以及部分材质作为AssetBundle(AB)导出素材创建一个Editor文件夹(一定要放在这个文件夹里面),并在其中创建一个C#脚本MyAssetBundles,代码如下using System.IO;using UnityEditor;public class MyAssetBundles { [MenuIte...原创 2019-03-14 22:00:39 · 4367 阅读 · 0 评论 -
Unity-TmeLine与CineMachine使用(一)
废话不多说 直接开始讲如何实现镜头动画…1.TimeLine创建一个空物体命名为TimeLine 然后点击Window->TimeLine中点击创建并保存至相应文件夹下默认创建完 如图所示然后开始添加需要动画的人物点击图中红箭头所指示的实心圆 选择人物 或者在面板中将人物GameObject拖拽至其中也可以然后右键当前时间轴选择“Add From Animation Cl...原创 2019-03-04 11:24:51 · 1314 阅读 · 0 评论 -
Unity插件-第三人称控制(ThirdPersonController)使用(一)
先附上AssetStore上购买下载链接 https://assetstore.unity.com/packages/templates/systems/third-person-controller-126347学习插件方法源于siki官网A计划http://www.sikiedu.com/my/course/349导入至工程中后,里面自带一个demo场景,集合了很多功能,有兴趣的可以...原创 2019-02-25 11:02:42 · 17676 阅读 · 2 评论 -
Unity对象池初体验
学习完了涂鸦跳跳后,对对象池有了一个初步的了解,由此进行一下总结一.对象池对象池运用:用我自己的话理解就是当我们对某些游戏物体重复出现时,为了节约内存的重复开销,我们可以通过对象池对已经生成的游戏物体(不需要时)进行重复利用。其思想包含了:1.创建对象池2.当旧对象从池中移除时,同时要对此对象进行重新利用(赋值等操作)3.添加移除的对象进入相应的对象池由此进行2和3的循环就可以对...原创 2019-02-12 11:42:37 · 247 阅读 · 0 评论 -
Unity 相机追踪人物功能实现(解决被障碍物遮挡问题)
看siki学院的秘密行动教程的时候,对人物的视角控制有了新的学习体会,不再是单一的第三人称视角对人物进行跟踪,而是加上了部分相机是否被其他物体遮挡的判断正常情况下,我们对相机的控制是如下的:我们会发现其实这个相机追踪已经可以跟随人物,但是它有一个明显的缺点,那就是当人物站到了某些过高的遮挡物前,由于摄像机固定的角度无法拍摄到人物当前全景,这是一个需要优化的地方下文就对如何进行改进进行...原创 2019-01-15 16:10:47 · 3568 阅读 · 5 评论 -
Unity 插值运算Lerp应用
好久没更新了,前一段时间比较划…最近正好看了siki学院的秘密行动的课程,发现插值运算真的是非常好用的一个函数,所以就想记录一下使用一.什么是插值(Lerp)百度百科了一下插值的定义简单来说插值可以方便我们对某个参数控制更加流畅,当参数趋向于某个值时是有一条弧线的,而不是直接改变其值为目标值。二.Unity中的插值方法用的最多的就是Mathf.Lerp()这个方法,可以看下官方定义...原创 2018-10-29 20:16:32 · 5030 阅读 · 1 评论 -
Unity——IK动画契合匹配初体验
学到siki学院的动画系统那一章节的IK动画Siki,顺便作点笔记。1.什么是IKIK(Inverse Kinematics)即反向动力学,即可以使用场景中的各种物体来控制和影响角色身体部位的运动,一般来说骨骼动画都是传统的从父节点到子节点的带动方式(即正向动力学),而IK则倒过来,由骨骼子节点带动骨骼父节点,具体情况比如人物走路踩到了石头就需要由脚的子节点来带动全身骨骼做出踩到石头的响应...原创 2018-09-25 23:09:56 · 4063 阅读 · 0 评论 -
Unity双人操作模式以及对物体的移动控制
碰巧学到siki学院的坦克大战的项目,就对里面如何操作坦克以及双人操作模式进行总结下图为最终实现的效果,我们只对物体移动和如何使用wasd控制以及↑↓←→控制进行讲解1.添加刚体刚体这个组件可以说是控制物体运动必备的组件了。如图给物体添加上2.添加控制移动脚本public class TankMove : MonoBehaviour { public float spe...原创 2018-09-25 19:46:23 · 4876 阅读 · 11 评论 -
Unity飞行抛物线轨迹初步实现
(一)开头如何实现类似愤怒的小鸟中弹弓将小鸟打出去的效果呢,这里要用到Unity中的Spring Joint 2D组件,就如其名字一样,拥有弹簧一样的效果。 学习资源来自siki学院的视频教程:siki学院愤怒的小鸟(二)Spring Joint 2D运用1.我们先将资源导入到场景中,如下图所示其在项目面板中命名分别为:bird,left,right ...原创 2018-08-18 22:59:01 · 6582 阅读 · 1 评论 -
Unity获取物体下的子物体
Unity获取当前物体的所有子物体(一)通过使用GetComponentsInChildren() 我们首先先创建一个脚本,在其中Start()方法中添加如下代码void Start () { Transform[] father = GetComponentsInChildren<Transform>(); foreach ...原创 2018-08-15 15:16:36 · 81565 阅读 · 0 评论 -
Unity3D初学功能实现——视角平移控制
using System.Collections;using System.Collections.Generic;using UnityEngine;public class ViewControl : MonoBehaviour { public float speed = 14; public float mouseSpeed = 60; //定义移动的速度 ...原创 2018-05-24 22:30:49 · 2319 阅读 · 0 评论