![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Unity小技巧
越人語天
劈柴、喂馬、擼代碼。。。
展开
-
Unity手势控制物体球形旋转
四元数的旋转时使用乘法,所以使用乘法获取最终角度,左右顺序需要注意,很好理解,矩阵的顺序不能换四元数也类似,其中我们是 角度变化矩阵相对于世界矩阵,物体自身矩阵为localToWorld,所以如下顺序。原理:当我们物体绕轴旋转时,其实是矩阵相乘,所以我们需要先算出当前要旋转角度的旋转矩阵,代码如下,原理线代。目的:当我想让物体绕Y轴旋转时,无论他当前的朝向都可以绕绝对Y轴转,同理X轴,Z轴.同时不可以有万向锁.其中在Unity中我们的旋转时依赖四元数,所以提出四元数。原创 2022-10-16 20:13:57 · 900 阅读 · 0 评论 -
记录下Unity开发中的一些非常规问题
比如一个3dUI放到了场景中,但是他不需要后处理,就可以这样做,两个相机,一个用于主场景,一个用于3dUI,当绘制3dUI的时候,主场景这一帧的深度信息不清除,就可以用这个深度信息去做深度判断,从而出现ui被物体挡住部分的情况。原创 2022-09-30 11:14:59 · 749 阅读 · 0 评论 -
Unity中通过数学公式实现向量转四元数,Quaternion.LookRotation(dir)实现
【代码】Unity中通过数学公式实现向量转四元数,Quaternion.LookRotation(dir)实现。根据UE源码实现,所以坐标轴有些问题,需要自己做转换原创 2022-09-07 11:11:56 · 1184 阅读 · 1 评论 -
将Addressable加入华佗热更新方案
将Addressable加入华佗热更新方案原创 2022-09-30 10:17:13 · 477 阅读 · 0 评论 -
Unity导表工具制作,可用于ILRuntime下热更使用
首先我们明确一下导表工具的目的就是将,策划的表格数据转换为游戏里面程序方便调用的数据格式,一般都是游戏初始换的时候,以字典的结构 类似的结构加载表格数据,我们的导表工具就是将Excel表,生成对应的类结构,二进制数据。1.第一步过滤表格,因为我们的表格是服务器和客户端都放在一起,只是以表头做标志进行区分,如果放在不同的文件夹下的话,就不用做过滤了。5.写一个管理类,用于游戏启动加载表格数据,这个就不介绍了,就是加载数据。4.最后就是写一个加载的方法,同样是用模板去搞。原创 2022-01-22 15:51:15 · 2808 阅读 · 0 评论 -
Android制作Unity插件
本文档为了整理安卓包中 Unity调用安卓中的功能 包括:接入别的App 安卓SDK 安卓本身的一些功能 1. Unity 必须要设置好安卓环境 百度一下 自己配置2. 值得注意的是 我们的安卓sdk最高是26 所以要注意3. Jdk建议1.8 足够 Unity中Android文件位置配置Plugins/Android/ 下1. 假如你的jar包不需要继承activity 那么我们完全可以将j...原创 2018-05-05 12:11:53 · 883 阅读 · 0 评论 -
Unity 编辑器布局
EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("打开脚本导出目录", GUILayout.MaxWidth(240), GUILayout.Height(30))) { string exportPath = Application.dataPath + "/E...原创 2018-05-05 12:06:10 · 610 阅读 · 0 评论 -
Unity 通过基类找到所有继承的子类
忘了當時是爲了幹啥了,不過感覺這個方法挺渣的,有需求可以參考下哦/// <summary> /// 通过基类找到所有继承的子类 /// </summary> public void Info() { mConditions.Clear(); mConConTypes.Clear(); var t...原创 2018-05-05 12:05:33 · 2590 阅读 · 0 评论 -
Unity复制选中脚本并且将其重命
Unity复制选中脚本并且将其重命 这个代码目的是为了应对创建重复性较大的脚本,使用后将创建新脚本时会在重命名时将脚本内部的类名修改脚本应当放在Editor文件中using UnityEngine;using System.Collections;using UnityEditor.ProjectWindowCallback;using System.IO;using UnityEdito...原创 2018-05-05 12:03:34 · 657 阅读 · 0 评论 -
Unity 调用安卓方法
關於Unity與安卓交互的方法,網上的教程很多,但是大部分要繼承UnityPlayerActivity 額大概是這個類吧,領會精神。那麽問題來了,加入我們已經有一個SDK繼承了怎麽辦。解決思路是這養的,我們在C#中獲取Unity的acitvity,然後當作參數傳入安卓方法:Unity:AndroidJavaClass unity = new AndroidJavaClass("com.unity3...原创 2018-05-05 12:02:34 · 1522 阅读 · 0 评论 -
Unity生成assest,并且读取数据
我總會遇到想要長期存儲的數據/實體類。比如using System.Collections;using System.Collections.Generic;using UnityEngine;public class DataTest : ScriptableObject{ public string name; public string level; pub...原创 2018-05-05 11:48:52 · 553 阅读 · 0 评论 -
Unity 编辑器下,脚本执行方法
這個小技巧是爲了剛剛入門的童鞋,剛入行的童鞋一般都是從UI開始,但是UI要經常出現,脚本挂載、按鈕添加、位置修改。。。這種重複且繁瑣的工作簡直了。所以寫代碼吧,不僅練手還能免除鼠標手的痛苦。<_<豈不美滋滋[ContextMenu("ChangeName")]public void ChangeName(){ Debug.Log("这个方法放在脚本上,当脚本挂载到物体上时,...原创 2018-05-05 11:39:03 · 7797 阅读 · 0 评论 -
Unity 在代码中动态改变RectTransform大小的方法
1:直接对sizeDelta属性进行赋值,其中X和Y可以对应理解成width和height。sizeDelta的具体含义:若achors是一个点的话则代表宽高,否则为到锚点的距离var rt = gameObject.GetComponent<RectTransform>(); rt.sizeDelta = new Vector2(100, 30); 2:使用SetSizeWit...原创 2018-05-05 11:34:21 · 13001 阅读 · 0 评论 -
Unity 将物体从方法内部提出来,可以是很多类型
public class Test : MonoBehaviour{ void Start() { /// 将物体从方法内部提出来 可以是很多类型 /// 方法必须是静态类的静态方法 3.SSSS(delegate { Debug.Log("试验线"); });...原创 2018-05-05 11:32:46 · 187 阅读 · 0 评论