c#
文章平均质量分 56
渐末竹
这个作者很懒,什么都没留下…
展开
-
在unity中通过两个操纵点控制物体的位移,旋转和缩放
通过两个点的方向变化控制对象旋转原创 2023-06-13 17:47:01 · 541 阅读 · 0 评论 -
Transform 相对位置变换,坐标系转换
也会碰到情况复杂,选择a设置为A的子物体,可能会影响到其他的逻辑,所以不能做样做。最简单的时将a作为A的子物体。这时候无论A怎么变换,a都相对A是一致的。在初始化的时候使用transform.InverseTransformDirection()方法,将a的世界坐标,转化为相对于A的局部坐标。然后在A姿态发生变化时,通过transform.TransformPoint可以将刚保存的局部坐标,从A坐标系转化到世界坐标系,这时候将得到的坐标赋值给a.位置就可以实现相对A不变。.........原创 2022-07-26 23:20:49 · 1186 阅读 · 1 评论 -
Unity Xlua 初探
1. 首先在项目导入Xlua,只需要下载得Xlua包里面得Assets 文件夹下得内容拷贝到自己的项目中即可。 在里面有xlua的各种功能的范例。2.现在开始xlua的第一步,加入宏定义3. 每次当c#代码改变的时候需要执行以下操作 第一个重新生成代码,第二步是注入热更。4. 运行范例里面的HotfixTest场景,点击按钮,Debug会提示Lua调用,表示热更更新成功,环境已经OK。 如果有提示报错,就是没有导入工具。 从下载的Xlua的Tools文件夹也...原创 2021-06-27 10:57:34 · 474 阅读 · 0 评论 -
unity 传送门的实现原理
所谓传送门就是从一个地方传送到另一个地方。在游戏中,实现传送门会让人觉得非常神奇。 在unity 我们使用一个面片在当做传送门,要把远处一个场景的画面投到面片上。 可以使用摄像机的TargerRenender 属性。1.在资源文件夹创建 RenenderTexture, 然后拖拽到相机的TargerRenender 属性。 再将 RenenderTexture贴到面片上。 即可在面片上看到该摄像机视角的画面。这种方式也可以用来做小地图功能。...原创 2021-04-28 17:27:33 · 4001 阅读 · 0 评论 -
拆箱装箱遇到的问题
int i = 0; object o = (object)i; long l = (long)o; 这样写会出现报错InvalidCastException: Specified cast is not valid. 这里有个坑。 装箱的时候是int, 拆箱也应该用int来拆箱。 以下有几种正确的写法 1. int i = 0; object o = (object)i; ...原创 2021-04-06 11:47:19 · 163 阅读 · 0 评论 -
GFX Driver 一直暴涨问题。
在一个项目中遇到得,用得unity2019.3.15f1 ,每次都是运行一段时间就闪退。 通过Profile 检测到GFX Driver 一直暴涨。 GfxDriver 是底层渲染驱动回馈的内存,可以理解为显存所占用大小。主要跟 texture,mesh,shader相关。 于是我对项目进行里面的内容一一筛选测试,最后发现跟使用的高通的 SVR sdk有关 这张是正常的, GfxDriver不会累加。使用的是unity2017.4....原创 2021-03-28 15:05:23 · 1224 阅读 · 0 评论 -
c# ~ 解析
1.~ 是取反运算符 。 按位取反。 对一个整数取反,就要先转化为二级制数。 然后对每一位的数字取反。得到的数就是计算结果 这是其一。2.~ 用于析构函数。 例如:public class Test { public Test() { } ~Test() { }} 构造函数是在对象实例化时调用,用与初始化示例的信息。析构函数是对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行...原创 2020-09-28 11:36:43 · 1690 阅读 · 0 评论 -
Attribute 简单示例
特性提供功能强大的方法,用以将元数据或声明信息与代码(程序集、类型、方法、属性等)相关联。特性与程序实体关联后,即可在运行时使用名为“反射”的技术查询特性。特性具有以下属性: 特性可向程序中添加元数据。元数据是有关在程序中定义的类型的信息。所有的 .NET 程序集都包含指定的一组元数据,这些元数据描述在程序集中定义的类型和类型成员。可以添加自定义特性,以指定所需的任何附加信息。 可以将一个或多个特性应用到整个程序集、模块或较小的程序元素(如类和属性)。 特性可以与方法...原创 2020-08-21 18:19:46 · 302 阅读 · 0 评论 -
LayerMask 探究
1.在Unity中,直接输出某个层layer的值会发现值并不是层的索引值。print(layer.value); 输出为2的索引值次幂。换一种写法print("NameToLayer=" + LayerMask.NameToLayer("Name"));输出结果为索引值。另一种写法print("NameToLayer=" + LayerMask.LayerToName(8));输出为索引值为8的层的名称。所以我们需要在做Layer判断的时候注意前后的数值是否对应。如:原创 2020-07-03 14:19:19 · 313 阅读 · 0 评论 -
unity 里用代码控制增加后者删除标签Tag和层Layer
通过unityEditor 类可以实现将命令挂在菜单栏当中,用于自动创建Tag和layer.using System;using System.Collections;using System.Reflection;using UnityEditor;using UnityEngine;public class TagManagerData{ public static string[] tags = new string[] { "Unity11" .原创 2020-06-10 07:48:11 · 1692 阅读 · 1 评论 -
HttpWebRequest 下载文件,并且能够断点续传
HttpWebRequest是unity 内置得类用来处理关于http通讯得。using UnityEngine;using System.Threading;using System.IO;using System.Net;using System;/// <summary>/// 下载工具类/// </summary>public class ThreadLoadFile :MonoBehaviour{ private string u...原创 2020-06-09 22:16:46 · 1013 阅读 · 0 评论 -
LineRenderer 简单画线
通过unity内置的LineRenderer 绘制线条。using System.Collections;using System.Collections.Generic;using UnityEngine;using UnityEngine.UI;public class Painter : MonoBehaviour{ //颜色 public Color painterColor = Color.yellow; //宽度 public float Wi.原创 2020-06-04 08:17:04 · 345 阅读 · 0 评论 -
Ragdoll 自动配置
人物骨骼的引用绑定,如果是要一个个手动设置,大概是相当让人头痛的事情吧。using UnityEngine;using System.Collections;using UnityEditor;using System.Reflection;using System.IO;using System;public class SetRagdoll : EditorWindow { private GUIStyle m_HeaderLabelStyle; // p.原创 2020-06-04 08:14:31 · 377 阅读 · 0 评论 -
unity 网格编辑
用代码直接创建unity mesh 网格。示例为可以不断拉长的曲形的面片。网格完成后会进行平滑插值,让曲形更加平滑。using System.Collections;using System.Collections.Generic;using UnityEngine;public class MeshPlan : MonoBehaviour { // Use this for initialization //坐标顶点 private List<Vector.原创 2020-06-03 08:22:28 · 502 阅读 · 0 评论 -
c# Json的简单使用方式。
Json 能够直接与类进行互转。在做数据通讯的时候,能够很方便的进行数据传递,然后解析出来使用。using UnityEngine;using System.Collections;using System.Collections.Generic;using LitJson;using UnityEngine.UI;public class json_Try : MonoBehaviour { void Start () { Item a = new Item();.原创 2020-06-09 22:17:28 · 224 阅读 · 0 评论 -
HttpWebResquest的用法
using UnityEngine;using System.Net;using System.IO;using System;public class HttpWebResquestTool : MonoBehaviour { //读取链接里的字符串数据 public static string HttpWebResquestString(string url) { if(!CheckUrlValid(url)) { .原创 2020-06-03 08:24:10 · 209 阅读 · 0 评论 -
Properties 反射的用法
直接展示简单的示例代码。using UnityEngine;using System.Collections;using System;using System.Reflection;public class GetProperties : MonoBehaviour { // Use this for initialization void Start () { student t=new student(); Getmember(t); ..原创 2020-06-03 07:58:58 · 237 阅读 · 0 评论 -
c# 委托的简单用法
委托的简单实用方式,代码格式如下。using UnityEngine;using System.Collections;using System;public class DelegateTry : MonoBehaviour { public delegate void Mydeledate(bool isok); public event Mydeledate del; void Start () { del = new Mydeledate(Test...原创 2020-06-12 08:06:04 · 153 阅读 · 0 评论 -
c# ref 的使用。
1.ref 的使用。void Function(ref p)使用ref 传参,是传递的地址。public class RefTest : MonoBehaviour {string p;// Use this for initializationvoid Start () {p = "J";Change(ref p); //这里输出“g” 如果去掉ref 输出“J”原创 2017-12-13 11:32:33 · 1216 阅读 · 0 评论