- 博客(22)
- 收藏
- 关注
原创 模型曲面效果
我们刚刚得出的规律是建立在一个特定空间下的,即以摄像机为原点的空间,这个空间正是空间变换中的观察空间阶段,所以我们之后对顶点的操作正是在这个空间中进行才能够得到正确的结果。由上述两条规律不难得出,二次函数的变化规律与我们想要实现的曲面效果的规律契合,所以我们的顶点着色器的运算为一个关于顶点位置 Z 值的二次函数运算。1.实现一个与我们的观察点相关的模型变形,既然只是变形,并不涉及到颜色的变化和处理,那么需要处理的就只有顶点着色器部分,并不涉及片段着色器。
2023-12-01 18:03:19
129
原创 cocos shader(消融效果)
学习链接:https://www.bilibili.com/video/BV1ue4y147SX/?比如为0.5代表,溶解值在0.5之前都不偏移膨胀,在0.5之后偏移膨胀,为1代表整个溶解过程都不偏移膨胀。2.lineWidth:该参数指溶解部分与未溶解部分的宽度差,越大溶解过度颜色就过渡的越大。1.dissloveThreshold:控制溶解值从0-1能实现溶解效果。
2023-04-26 16:57:59
608
1
原创 cocos shader(水滴效果)
/https://greentec.github.io/rain-drops-en/ 相关链接。1.使用两张贴图: 第一张是背景图,将背景图虚化,texture 的第三个参数控制模糊程度。2.第二张贴图,噪声图,通过取贴图的rg通道,作为因子控制雨滴的扭曲程度。可以控制雨滴的密集,大小和雨滴的速度。贴图模式需要选minmaps。
2023-04-25 11:20:47
519
原创 Webpack
安装webpack模块包开发环境配置npm i webpack webpack-cli --gnpm i webpack webpack-cli --Dwebpack ./src/wetTest/index.js -o ./src/build/built.js --mode=development //开发环境打包webpack ./src/wetTest/index.js -o ./src/build/built.js --mode=production //生产环境打包Webpack
2020-09-14 16:12:59
121
原创 学习记录
typeof判断所有变量的类型,返回值有number,boolean,string,object,undefined,function。typeof对于丰富的对象实例,比如array,object,null都是返回"Object"字符串。instanceof用来判断具体的对象实例,代码形式为obj1 instanceof obj2(obj1是否是obj2的实例),比如person instanceof Array。(判断person是否为数组)另一种方法判断是否为数组:const arr=[‘1’,
2020-09-07 18:12:32
124
原创 字符串方法
const text="some text"console.log(text.substring(2,4)) //meconsole.log(text.slice(2,4)) //meconsole.log(text.substr(2,4)) //me t 第二个参数表示返回字符个数// substring会将传入的负数转换为0// slice会将传入的负数与字符串的长度相加// substr会将负的第一个参数加上字符串的长度,负的第二个参数转换为0console.log(text.su
2020-09-07 18:10:55
132
原创 js数组方法
1.join() 将数组分割为字符串,默认以逗号分隔(不改变原数组) let arr=[1,2,3] console.log(arr.join()) //1,2,3 默认以逗号分割 console.log(arr.join('-')) //1-2-3 console.log(arr) //[1,2,3]2.push() 在数组的末尾增加新元素,返回数组的长度pop() 移除数组最后一项,返回移除的元素,如果数组为空,则返回undefined let arr=[1,2
2020-08-22 21:34:30
1613
原创 ES6 浅拷贝和深拷贝
1.深拷贝:是指修改拷贝的新变量不会改变原有变量的值,新变量与原有变量指向不同的内存地址 //基本数据类型一般是深拷贝,修改b的值不会影响a let a=1 let b=a b = 2 console.log(a, b) //1 22.浅拷贝:是指修改拷贝的新变量会改变原有变量的值,新变量与原有变量指向相同的内存地址 let obj1={ name:'dan', age:'16' } let obj2=obj1
2020-08-22 00:08:39
722
原创 ES6-新增语法糖
//Set实现了iterate接口,可以用扩展运算符,Set集合的一些Api let test=new Set(['a','b','c']) test.add('d') test.delete('a') test.clear() console.log(test.size) //数组大小 //对数组去重 const arr1=['1','2','4','2','4','5'] let s=[...new Set(arr1)] co.
2020-08-21 23:35:42
344
原创 react Form 表单子组件向父组件传表单值
在项目中,经常会用到子组件向父组件传递表单的值,并且在父组件点击按钮时,触发子组件表单的验证子组件:表单用ref={this.formRef}创建一个react表单容器,当页面加载完时,调用父组件的onSubmit方法,将onFinish方法传递给父组件 formRef = React.createRef() componentDidMount() { this.props.onSubmit(this.onFinish) } onFinish=()=
2020-08-16 00:16:23
2937
原创 react 生命周期
生命周期:挂载:constructor()static getDerivedStateFromProps()componentWillMount() 只会调用一次render()componentDidMount() 只会调用一次更新componentWillReceiveProps (nextprops)static getDerivedStateFromProps()shouldComponentUpdate(nextprops,nextstate)componentWillUp
2020-08-08 22:09:03
116
原创 this.setState同步异步问题
this.setState中的回调函数在state改变之后且组件重新render后执行react事件监听回调和react生命周期钩子中是异步执行 onClick=()=>{ this.setState(state=>({ count:state.count+1 }),()=>{ console.log("onClick"+this.state.count) //2 })
2020-08-08 17:08:40
1859
原创 工作笔记总结
这几天第一次与后端联调接口,突然觉得代码思维真的很重要,总结一下学到的东西和遇到的坑这里不是分号,而是一个键盘下波浪线的那个小点<Link to={`/userment${props.groupId}`}>接口属性</Link>可以通过this.props.match.params.groupId得到跳转页面的id getGroupId:this.props.match.params.groupId,通过input输入框输入值改变事件,得到输入框的值 inputCha
2020-07-26 14:23:51
340
原创 react搭建项目环境
创建create-react-app脚手架在index.js引入react组件import React from "react"import ReactDOM from 'react-dom'import App from './App'ReactDOM.render(<App />,document.getElementById('root'))import React, {Component} from 'react'class App extends Component
2020-07-11 00:41:17
137
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人