
Unity
OneWord233
这个作者很懒,什么都没留下…
展开
-
Unity Shader 的模板测试效果
场景中可以看出,熊模型和茶壶模型都在差不多的位置,但是正面的框中只能看到熊模型,侧面的框中只能看到茶壶模型,利用的就是模板测试的原理。模板测试是渲染管线中逐片元操作的一环,它的作用是筛选出指定模板的片元,而不符合模板的片元会被舍弃,从而做到一个遮罩的效果。之后只要把对应模型的材质球的Mask Id调整成一致就好。以下是shader代码。原创 2024-01-16 13:32:31 · 723 阅读 · 0 评论 -
实践:在模型空间下的法线纹理映射
总体写法基本参考的是世界空间的写法,只不过坐标,法线,切线,光线角度,观察角度都是用的模型参数,最终呈现的效果也和其他两个空间一样,记录一下。原创 2023-11-20 10:23:16 · 140 阅读 · 0 评论 -
基于UGUI和xLua的一个简单的UI框架
基于UGUI和xLua的一个简单的UI框架原创 2022-06-20 14:35:35 · 938 阅读 · 0 评论 -
特效裁剪Shader
记录一下特效裁剪Shader的几句关键代码,以防之后忘记。Shader "Indra/Lowpoly Additive Clip"{ Properties{ _TintColor("Tint Color", Color) = (0.5,0.5,0.5,0.5) _MainTex("Particle Texture", 2D) = "white" {} _Wrap("明暗对比", range(-1, 1)) = 0 //-------------------add----------原创 2021-01-19 19:59:57 · 340 阅读 · 0 评论 -
Unity/UGUI底层绘制原理
UnityDraw.csusing System.Collections;using System.Collections.Generic;using UnityEngine;public class UnityDraw : MonoBehaviour{ public Texture2D TestTexture;//测试用贴图 void Start() {...原创 2019-09-11 09:52:30 · 1138 阅读 · 0 评论 -
关于贝塞尔曲线运动
游戏中我们有时候会碰到计算物体的曲线运动,贝塞尔曲线就变得比较常用。以下贴出主要代码:BezierData.csusing UnityEngine;using System.Collections;public struct BezierData{ private Vector3 p0; private Vector3 p1; private Vect...原创 2019-09-03 20:49:44 · 405 阅读 · 0 评论 -
Lua中的IO使用
最近写一个功能,需要写入本地缓存文件,记录一下Lua的IO用法:local checkClickPath = Application.persistentDataPath.."/CheckClick.lua"function MafiaPrequelProxy:CheckRoleClick(uId)--检测玩家id是否点击过 local userStr = tostring(uId)....原创 2019-05-10 18:44:37 · 494 阅读 · 0 评论 -
Unity做一个魔方
最近项目周期变得平稳,不再像之前那么忙了,所以抽空写了个魔方小游戏,在这里跟大家分享。游戏原理并不复杂,在场景中,我们放了27个Cube,和6个面的触发器,根据触发器的Enter检测和Exit检测,确定对应面的子物体,使得触发器底下的9个Cube能同时转动,同时,再设置X,Y,Z三个轴向的整体转动,子物体是固定的27个Cube。有了思路以后,我们来做场景,做完场景以后,画面大概是这样:...原创 2019-04-15 10:40:32 · 3389 阅读 · 30 评论 -
Unity魔方拓展脚本(魔方打乱和复原功能)
接上文,因为懒得自己手动打乱魔方,所以写了一个打乱魔方的脚本,还有魔方复原方法,以下是代码:using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class CubePlayer : MonoBehaviour { p...原创 2019-04-16 10:32:26 · 1484 阅读 · 0 评论 -
Unity中实现动画回放功能
在制作游戏中,我们有时候会播放过场动画或者剧情动画,有时候会需要有动画重新看,或者拖动进度条看每一帧信息的需求,那么怎么办呢,我们需要实现一个动画重放系统,实现逻辑主要是依靠Unity自带的动画曲线类(AnimationCurve),储存游戏物体从动画开始始末的运动轨迹。然后我们用一个重播管理器去管理各项数据,像播放视频一样控制每帧的位置信息,实现重放。以下是核心的两个脚本:ReplayEnt...原创 2018-12-07 16:49:39 · 2959 阅读 · 2 评论 -
Unity中使用LineRenderer画线条
using UnityEngine;public class Draw : MonoBehaviour{ [Header("线条预制体")] public GameObject linePrefab; // 线条渲染器 private LineRenderer line; // 顶点下标 private int i; void U...原创 2018-11-19 11:33:29 · 1690 阅读 · 0 评论 -
Unity中的截屏功能
using UnityEngine;public class CaptureScreen : MonoBehaviour{ void OnGUI() { // 截屏 if (GUILayout.Button("截屏")) { Debug.Log("截屏"); Cature();...原创 2018-11-19 11:19:18 · 284 阅读 · 0 评论 -
Unity中游戏卡牌滚动效果,EnhanceScrollview(适用于NGUI,UGUI)
最近项目中的活动面板要做来回滚动卡牌预览效果,感觉自己来写的话,也能写,但是可能会比较耗时,看到Github上有开源的项目,于是就借用了,Github的资源地址是:https://github.com/tinyantstudio/EnhancedScrollView,感谢作者tinyantstudio的分享。本篇博客旨在告诉大家如何利用这个插件。插件的核心在于工程中的6个脚本,以下是六个脚...原创 2018-11-16 12:20:46 · 7146 阅读 · 7 评论 -
HeartBeatCtrl:手机游戏中,心跳包的使用
在平时玩手机游戏的时候,有时候会碰到网络断开连接的情况,那么在工程中,我们是怎么解决这种情况的呢?没错,心跳包,在游戏过程中,每过一段时间,客户端会向服务器发送一个很短或者空的数据,根据判断是否有返回的数据,可以知道,是否正在连接。介绍不多说,我们看代码local IDispose=require("Core/IDispose")local HeartbeatCtrl = class("Hear...原创 2018-06-19 14:09:39 · 902 阅读 · 0 评论 -
初学ToLua框架,浅谈对框架及MVC的理解
刚进公司,公司做的手游用的是现在比较流行的ToLua框架,框架采用MVC模式设计,学习了一段时间,写一篇博文记录一下感受和心得那么我们看一下MVC框架,以背包系统为例子背包Model脚本:local ModuleDataObject=require("Core/ModuleDataObject")local InventoryModel=class("InventoryModel",Module...原创 2018-06-08 10:39:53 · 1911 阅读 · 0 评论 -
Unity中制作UI光晕效果(发光效果)
Unity中,我们怎么制作UI物体发光的渐隐渐现的效果呢?比如说我们有一张月亮光晕的精灵图片我们可以给它添加一个CanvasGroup组件我们可以发现,组件上的Alpha值可以控制图片的透明度,从0到1那么我们可以在代码中通过控制Alpha值循环的变化实现发光的光晕效果以下是代码:using System.Collections;using System.Collections.Generic;...原创 2018-04-25 11:07:17 · 22812 阅读 · 2 评论 -
Unity生命周期函数
原创 2018-04-25 10:43:13 · 250 阅读 · 0 评论