首页 > TAG信息列表 > mathf
UGUI中的文字描边
在UGUI中,有一个专门处理描边的组件:outline。它的实现原理是在原uivertex中加入4个偏移的uivertex来实现显示效果,当我们把Effect Distance调大之后很容易发现。 在实际项目中,此组件的显示效果往往不能满足策划的要求,我们可以改进此组件的显示效果。 outline效果: 改进Unity 正交相机和透视相机的屏幕适配
//横向适配 //正交相机: float sizeWidth = bgSpriteRenderer.size.x; float sizeHeight = sizeWidth / camera.aspect; camera.orthographicSize = sizeHeight * 0.5f; //透视相机 float sizeWidth = bgSpriteRenderer.size.x; float distance2Camera = 10; float fov = Mathf.Unity Mathf
ABS求绝对值Lerp(float,float,float)插值函数Clamp限制值(0-1)pow平方PerlinNoise柏林函数(返回0-1的数)Sin...System.MathUnity3D运行时坐标轴-自定义坐标轴-创建如Scene场景中的编辑轴-使用Mesh动态创建编辑轴(点,线,圆,圆锥)
问题分析: 最近在搞软件底层开发,将一些工具或者底层脚本打成dll导入unity使用,有这样一需求,就是编辑功能,需要像Scene场景一样,实现那种编辑轴 实现方式: 创建Mesh,构建编辑轴,这个地方这么几步: 1.线(轴) 2.圆(旋转线) 3.正方形(轴面) 4.圆锥(轴方向) 具体步骤: 1.创建线Mesh: 代码: /// <summary>《向量》Unity 中自己实现Vector3.Angle函数
先忽略所有的不合理条件。 Vector3 dir = Vector3.Cross(v1,v2); float self_angle = Mathf.Atan2(dir.magnitude,Vector3.Dot(v1,v2))*Mathf.Rad2Deg; 这个就是Vector3.Angle的实现方法。 解释一下:首先v1,v2都是方向向量,所以绝对值都是1,叉乘的结果值的长度就是sin角度,同理Unity - 研究tolua(3) - C#调用lua方法 带参数
C# using UnityEngine; using LuaInterface; public class Main : MonoBehaviour { LuaState main = null; void Start() { //创建虚拟机 //this.main.RegFunction main = new LuaState(); main.Start(); LuaTable lt = maunity HDRcolor面板的intensity 获取和设置
获取 private void Start() { Color32 color32; float exp; DecomposeHdrColor(color, out color32, out exp); Debug.Log(exp); } private const byte k_MaxByteForOverexposedColor = 191; public static void DecC#中常用的公式总结
点到圆心的距离 Mathf.Sqrt(p.x * p.x + p.y * p.y); 极坐标的角度 float a = (Mathf.Atan2(p.y, p.x) + Mathf.PI) / (Mathf.PI * 2); 笛卡尔坐标系转极坐标 float r = Mathf.Sqrt(p.x * p.x + p.y * p.y); float a = (Mathf.Atan2(p.y, p.x) + Mathf.PI) / (Mathf.PI * 2); reUIImageFilledSide
获取Image在filled模式下当前填充的位置 /* ** Created by lvzj ** DateTime: 2021-09-21 16:24:51 ** Description: ui特效跟随fillamount位置 */ using System; using UnityEngine; using UnityEngine.UI; // [ExecuteAlways] public class UIFilledExtend : MonoBehav用BaseMeshEffect实现的渐变
原理就是按点的位置占长宽的百分比算出颜色 using UnityEngine;using System.Collections;using System.Collections.Generic;using UnityEngine.UI;using System;/// <summary>/// 渐变字体/// </summary>[AddComponentMenu("UI/Effects/Gradient")]public class FontGradient一种简易的球面图包裹物体AO实现
最近翻到了一篇2005年siggraph的文章:Ambient Occlusion Fields Janne Kontkanen https://files-cdn.cnblogs.com/files/hont/kontkanen2005i3d_paper.zip 感觉大概思路是通过球体去拟合包裹范围内的模型,得到一个近似点计算AO。 原文方法比较复杂,用了2个Cubemap7个参数。 这里Unity C# 三角函数、直角三角形边角计算
直角三角形 1、直角三角形,已知两直角边ab,求弦长c。 ps:Mathf.Pow()函数为次方用法,Mathf.Sqrt()为开平方根 //根据勾股定理(a²+b²=c²)求出支撑杆长度,开c的平方根得到弦的长度 float c = Mathf.Sqrt(Mathf.Pow(a, 2) + Mathf.Pow(b, 2)); 2、直角三角形,已知边长,求夹角。 pUnity常用的3D数学知识
一.概述: Unity中常用的3D数学公式大部分是初高中的数学知识,封装在Mathf\Vector2\Vector3\Vector4\Quotinion等类中,可以到Unity中查看相应的API或者查看Unity源码.对于数学知识,我将粘贴部分Unity源码,源码来自于Github上Unity开源代码,地址:Unity-Technologies/UnityCsRefeUnity2D简单游戏飞机大战开发(一)
1.第一步:首先再unity的Assets下新建三个文件夹,分别为materials ,scripts ,textures。然后在textures文件夹中拖入三个图片,分别是飞机,敌机以及子弹。(可以去2D资源网等地方下载) 2.第二步:为了让游戏运行时有更好的体验,可以设置窗口大小以及分辨率等等,设置分辨率的步骤为选择Edit | Pro弓箭运动轨迹的制作
using UnityEngine; using System.Collections; /// /// 弓箭轨迹模拟 /// 使用:直接挂载在一个物体上,物体就会像抛物线一样抛射出去 /// public class yundongguij : MonoBehaviour { public float Power = 10;//这个代表发射时的速度/力度等,可以通过此来模拟不同的力大小Unity中 生成箭头(2D)
1 /* 2 /// 功能: 绘制箭头 3 /// 时间: 4 /// 版本: 5 */ 6 7 using System.Collections; 8 using System.Collections.Generic; 9 using UnityEngine; 10 using UnityEngine.UI; 11 12 [AddComponentMenu("UI/Effects/Arrow")] 13 [RequireComponen小白的白话日记2——RectTransform的理解、应用、难点
新手对RectTransform的理解 (这点字数坑定不够的,后期也会一直更新这个博客内容 ) RectTransform和Tranform的区别对RectTransform不了解时总结 本文参考: 巨龙饿了. 、 scottcgi. (这点字数坑定不够的,后期也会一直更新这个博客内容 ) RectTransform和Tranform的区别 第一感【VR开发篇】Unity3D 使用物理公式实现抛物线传送功能
【VR开发篇】Unity3D 使用物理公式实现抛物线传送功能 发布时间:2021/03/22作者:七夜丶 文章目录 【VR开发篇】Unity3D 使用物理公式实现抛物线传送功能前言一、前期准备1、引擎及语言2、用到的物理公式 二、核心代码1.传送射线代码2.实际表现 三、总结 前言 在刚接触VUnity 获取物体面板旋转值
常用方法:这个方法是网上使用频率较高的,但是适用于unity2018以上,unity2017使用这个代码打包会报错 public Vector3 GetInspectorRotationValueMethod(Transform mTransform) { // 获取原生值 Type transformType = mTransform.GetType(); ProperUnity3D离线版数字地球实现
Unity3D离线版数字地球实现 概述效果展示设计思路GIS相关计算公式(经纬度与三维坐标)GIS计算公式(瓦片,像素与经纬度) 基本流程瓦片资源包 概述 最近因为某个项目需求,要我们这边做一个类似数字地球的东西出来,但是由于某些原因限制了不能连接外部网络,所以要求做一个本地的计算机入门笔记
版本控制 目前流行的两大方式:SVN和Git; 前者采用增量式,后者采用快照式; 前者产生单点故障影响大。 安装git软件。 本地库——历史版本; 暂存区——临时存储; 工作区——写代码。 代码托管中心——维护远程库。 团队内; 跨团队。 本队库初始化 二、以Slider方式移动 SlUnity Camera
Field of View: //设置FOV Axis=Vertical时,fieldOfView的值为45。 camera.fieldOfView=45; //设置FOV Axis=Horizontal时,fieldOfView的值为45。 camera.fieldOfView = 2 * Mathf.Atan(Mathf.Tan(45* Mathf.Deg2Rad * 0.5f) / camera.aspect) * Mathf.Rad2Deg; 设置相机剪裁面的unity 教程Tanks中的Transform.InverseTransformPoint理解
Tanks教程中在处理摄像机缩放的时候使用了下面的函数,取两个坦克的中心点之后,根据两个坦克之间的距离,保证两个坦克都在屏幕中,然后进行缩放。 1 private float FindRequiredSize() 2 { 3 Vector3 desiredLocalPos = transform.InverseTransformPoint(m_DesiredPosiMathf数学表达式
看到一个案例注意到函数Mathf.SmoothDamp的使用,游戏中用于做相机的缓冲跟踪和boss直升机跟踪士兵。该函数是Unity3D中Mathf数学运算函数中的一个。一些游戏使用了smoothmove的功能,其实就是类似的效果,只是发现这个函数很容易的已经封装好了,查了官网文档发现使用起来真的非常UnityMathf类
Mathf.Abs绝对值计算并返回指定参数 f 绝对值。Mathf.Acos反余弦static function Acos (f : float) : float以弧度为单位计算并返回参数 f 中指定的数字的反余弦值。Mathf.Approximately近似static function Approximately (a : float, b: float) : bool比较两个浮点数值,看它们是